From 05a8a1e2079520e33787cd1417e97949362a4054 Mon Sep 17 00:00:00 2001
From: Stefano Puri <stefano.puri@intecs.it>
Date: Mon, 6 Oct 2014 16:16:50 +0200
Subject: [PATCH] Initial CHESS plugins (part2/2)

---
 .../.classpath                                |     7 +
 .../.gitignore                                |     1 +
 .../.project                                  |    28 +
 .../.settings/org.eclipse.jdt.core.prefs      |     8 +
 .../META-INF/MANIFEST.MF                      |    87 +
 .../META-INF/myprofile.ecore                  |    12 +
 .../META-INF/myprofile.genmodel               |    34 +
 .../about.html                                |    28 +
 .../build.properties                          |    19 +
 .../icons/CHESSicon.gif                       |   Bin 0 -> 612 bytes
 .../model/CHESS.genmodel                      |   743 ++
 .../model/CHESS.profile.di                    |   147 +
 .../model/CHESS.profile.di2                   |   382 +
 .../model/CHESS.profile.notation              |  6462 ++++++++++
 .../model/CHESS.profile.uml                   | 10525 ++++++++++++++++
 .../model/MARTE.ecore                         |  1799 +++
 .../model/MARTE.genmodel                      |  1666 +++
 .../model/MARTE_Library.ecore                 |   231 +
 .../model/chessmlprofile.ecore                |   824 ++
 .../palettes/Activity-FV.Palette.xml          |    18 +
 .../ClassDiag-DependAnalysis.Palette.xml      |    42 +
 .../palettes/ClassDiag-Deployment.Palette.xml |    69 +
 .../palettes/ClassDiag-FV.Palette.xml         |   126 +
 .../CompositeDiag-Deployment.Palette.xml      |    76 +
 .../CompositeDiag-EFV-FPTC.Palette.xml        |    25 +
 .../palettes/CompositeDiag-EFV-RT.Palette.xml |    24 +
 .../palettes/CompositeDiag-FV.Palette.xml     |    61 +
 .../CompositeDiag-RailwayView.Palette.xml     |    17 +
 .../palettes/Sequence-EFV.Palette.xml         |    17 +
 .../StateMachineDiag-ErrorModel.Palette.xml   |   118 +
 .../palettes/StateMachineDiag-FV.Palette.xml  |    27 +
 .../plugin.properties                         |     8 +
 .../plugin.xml                                |   806 ++
 .../ComponentImplementation.java              |   134 +
 .../ComponentModel/ComponentModelFactory.java |    60 +
 .../ComponentModel/ComponentModelPackage.java |   310 +
 .../ComponentModel/ComponentType.java         |    61 +
 .../impl/ComponentImplementationImpl.java     |   326 +
 .../impl/ComponentModelFactoryImpl.java       |   112 +
 .../impl/ComponentModelPackageImpl.java       |   386 +
 .../impl/ComponentTypeImpl.java               |   163 +
 .../util/ComponentModelAdapterFactory.java    |   144 +
 .../ComponentModelResourceFactoryImpl.java    |    61 +
 .../util/ComponentModelResourceImpl.java      |    37 +
 .../util/ComponentModelSwitch.java            |   138 +
 .../util/ComponentModelXMLProcessor.java      |    56 +
 .../chess/chessmlprofile/Core/CHESS.java      |   200 +
 .../Core/CHESSViews/AnalysisView.java         |    86 +
 .../Core/CHESSViews/CHESSViewsFactory.java    |   132 +
 .../Core/CHESSViews/CHESSViewsPackage.java    |   845 ++
 .../Core/CHESSViews/ComponentView.java        |    59 +
 .../CHESSViews/DependabilityAnalysisView.java |    59 +
 .../Core/CHESSViews/DeploymentView.java       |    79 +
 .../Core/CHESSViews/ExtraFunctionalView.java  |    86 +
 .../Core/CHESSViews/PSMView.java              |    59 +
 .../Core/CHESSViews/RTAnalysisView.java       |    59 +
 .../Core/CHESSViews/RequirementView.java      |    59 +
 .../Core/CHESSViews/SystemView.java           |    59 +
 .../Core/CHESSViews/TimingDataFlowView.java   |    59 +
 .../CHESSViews/impl/AnalysisViewImpl.java     |   242 +
 .../impl/CHESSViewsFactoryImpl.java           |   200 +
 .../impl/CHESSViewsPackageImpl.java           |   640 +
 .../CHESSViews/impl/ComponentViewImpl.java    |   162 +
 .../impl/DependabilityAnalysisViewImpl.java   |   162 +
 .../CHESSViews/impl/DeploymentViewImpl.java   |   203 +
 .../impl/ExtraFunctionalViewImpl.java         |   242 +
 .../Core/CHESSViews/impl/PSMViewImpl.java     |   165 +
 .../CHESSViews/impl/RTAnalysisViewImpl.java   |   162 +
 .../CHESSViews/impl/RequirementViewImpl.java  |   162 +
 .../Core/CHESSViews/impl/SystemViewImpl.java  |   162 +
 .../impl/TimingDataFlowViewImpl.java          |   162 +
 .../util/CHESSViewsAdapterFactory.java        |   288 +
 .../util/CHESSViewsResourceFactoryImpl.java   |    61 +
 .../util/CHESSViewsResourceImpl.java          |    37 +
 .../CHESSViews/util/CHESSViewsSwitch.java     |   309 +
 .../util/CHESSViewsXMLProcessor.java          |    56 +
 .../Core/CHGaResourcePlatform.java            |    88 +
 .../chessmlprofile/Core/CoreFactory.java      |    96 +
 .../chessmlprofile/Core/CorePackage.java      |   823 ++
 .../chessmlprofile/Core/IdentifInstance.java  |   115 +
 .../chessmlprofile/Core/IdentifSlot.java      |    88 +
 .../chessmlprofile/Core/MultiInstance.java    |    88 +
 .../chess/chessmlprofile/Core/MultiSlot.java  |    88 +
 .../chessmlprofile/Core/impl/CHESSImpl.java   |   511 +
 .../Core/impl/CHGaResourcePlatformImpl.java   |   223 +
 .../Core/impl/CoreFactoryImpl.java            |   156 +
 .../Core/impl/CorePackageImpl.java            |   608 +
 .../Core/impl/IdentifInstanceImpl.java        |   291 +
 .../Core/impl/IdentifSlotImpl.java            |   231 +
 .../Core/impl/MultiInstanceImpl.java          |   231 +
 .../Core/impl/MultiSlotImpl.java              |   231 +
 .../Core/util/CoreAdapterFactory.java         |   235 +
 .../Core/util/CoreResourceFactoryImpl.java    |    61 +
 .../Core/util/CoreResourceImpl.java           |    37 +
 .../chessmlprofile/Core/util/CoreSwitch.java  |   239 +
 .../Core/util/CoreXMLProcessor.java           |    56 +
 .../DataFlowCallGraphAnalysis.java            |    82 +
 .../DataFlowCallGraphFactory.java             |    51 +
 .../DataFlowCallGraphPackage.java             |   223 +
 .../impl/DataFlowCallGraphAnalysisImpl.java   |   167 +
 .../impl/DataFlowCallGraphFactoryImpl.java    |   101 +
 .../impl/DataFlowCallGraphPackageImpl.java    |   321 +
 .../util/DataFlowCallGraphAdapterFactory.java |   183 +
 .../DataFlowCallGraphResourceFactoryImpl.java |    61 +
 .../util/DataFlowCallGraphResourceImpl.java   |    37 +
 .../util/DataFlowCallGraphSwitch.java         |   171 +
 .../util/DataFlowCallGraphXMLProcessor.java   |    56 +
 .../DependableComponent.java                  |   116 +
 .../DependableComponentFactory.java           |    60 +
 .../DependableComponentPackage.java           |   506 +
 .../DependableComponent/Propagation.java      |   273 +
 .../impl/DependableComponentFactoryImpl.java  |   112 +
 .../impl/DependableComponentImpl.java         |   285 +
 .../impl/DependableComponentPackageImpl.java  |   465 +
 .../impl/PropagationImpl.java                 |   625 +
 .../DependableComponentAdapterFactory.java    |   144 +
 ...ependableComponentResourceFactoryImpl.java |    61 +
 .../util/DependableComponentResourceImpl.java |    37 +
 .../util/DependableComponentSwitch.java       |   141 +
 .../util/DependableComponentXMLProcessor.java |    56 +
 .../Dependability/FMEA/ErrorModelAssign.java  |    99 +
 .../Dependability/FMEA/FIBEX.java             |    88 +
 .../Dependability/FMEA/FMEAAnalysis.java      |   114 +
 .../Dependability/FMEA/FMEAAnalysisType.java  |   217 +
 .../FMEADataTypes/FMEADataTypesFactory.java   |    42 +
 .../FMEADataTypes/FMEADataTypesPackage.java   |   120 +
 .../FMEA/FMEADataTypes/Persistency.java       |   217 +
 .../impl/FMEADataTypesFactoryImpl.java        |   141 +
 .../impl/FMEADataTypesPackageImpl.java        |   298 +
 .../Dependability/FMEA/FMEAFactory.java       |    69 +
 .../Dependability/FMEA/FMEAPackage.java       |   529 +
 .../FMEA/impl/ErrorModelAssignImpl.java       |   239 +
 .../Dependability/FMEA/impl/FIBEXImpl.java    |   231 +
 .../FMEA/impl/FMEAAnalysisImpl.java           |   285 +
 .../FMEA/impl/FMEAFactoryImpl.java            |   174 +
 .../FMEA/impl/FMEAPackageImpl.java            |   473 +
 .../FMEA/util/FMEAAdapterFactory.java         |   219 +
 .../FMEA/util/FMEAResourceFactoryImpl.java    |    61 +
 .../FMEA/util/FMEAResourceImpl.java           |    37 +
 .../Dependability/FMEA/util/FMEASwitch.java   |   210 +
 .../FMEA/util/FMEAXMLProcessor.java           |    56 +
 .../FailurePropagation/ACIDAvoidable.java     |   184 +
 .../FailurePropagation/ACIDMitigation.java    |   184 +
 .../FailurePropagation/FI4FA.java             |    59 +
 .../FailurePropagation/FI4FAAnalysis.java     |    27 +
 .../FI4FASpecification.java                   |    26 +
 .../FailurePropagation/FPTC.java              |    87 +
 .../FailurePropagation/FPTCPortSlot.java      |    88 +
 .../FailurePropagation/FPTCSpecification.java |   109 +
 .../FailurePropagationAnalysis.java           |    27 +
 .../A_avoidable.java                          |   244 +
 .../A_mitigation.java                         |   271 +
 .../C_avoidable.java                          |   244 +
 .../C_mitigation.java                         |   271 +
 .../D_avoidable.java                          |   244 +
 .../D_mitigation.java                         |   271 +
 .../FailurePropagationDataTypesFactory.java   |    42 +
 .../FailurePropagationDataTypesPackage.java   |   360 +
 .../FailureType.java                          |   406 +
 .../I_avoidable.java                          |   244 +
 .../I_mitigation.java                         |   271 +
 ...ailurePropagationDataTypesFactoryImpl.java |   333 +
 ...ailurePropagationDataTypesPackageImpl.java |   493 +
 .../FailurePropagationFactory.java            |   123 +
 .../FailurePropagationPackage.java            |  1157 ++
 .../impl/ACIDAvoidableImpl.java               |   397 +
 .../impl/ACIDMitigationImpl.java              |   397 +
 .../impl/FI4FAAnalysisImpl.java               |    48 +
 .../FailurePropagation/impl/FI4FAImpl.java    |   169 +
 .../impl/FI4FASpecificationImpl.java          |    47 +
 .../FailurePropagation/impl/FPTCImpl.java     |   231 +
 .../impl/FPTCPortSlotImpl.java                |   224 +
 .../impl/FPTCSpecificationImpl.java           |   280 +
 .../impl/FailurePropagationAnalysisImpl.java  |    48 +
 .../impl/FailurePropagationFactoryImpl.java   |   189 +
 .../impl/FailurePropagationPackageImpl.java   |   706 ++
 .../FailurePropagationAdapterFactory.java     |   346 +
 ...FailurePropagationResourceFactoryImpl.java |    61 +
 .../util/FailurePropagationResourceImpl.java  |    37 +
 .../util/FailurePropagationSwitch.java        |   358 +
 .../util/FailurePropagationXMLProcessor.java  |    56 +
 .../MitigationMeansFactory.java               |    51 +
 .../MitigationMeansPackage.java               |   215 +
 .../TransmissionWithProtocol.java             |   115 +
 .../impl/MitigationMeansFactoryImpl.java      |   101 +
 .../impl/MitigationMeansPackageImpl.java      |   343 +
 .../impl/TransmissionWithProtocolImpl.java    |   285 +
 .../util/MitigationMeansAdapterFactory.java   |   126 +
 .../MitigationMeansResourceFactoryImpl.java   |    61 +
 .../util/MitigationMeansResourceImpl.java     |    37 +
 .../util/MitigationMeansSwitch.java           |   117 +
 .../util/MitigationMeansXMLProcessor.java     |    56 +
 .../FaultTolerance/Adjudicator.java           |    88 +
 .../FaultTolerance/FaultToleranceFactory.java |    78 +
 .../FaultTolerance/FaultTolerancePackage.java |   472 +
 .../FaultTolerance/FaultTolerant.java         |   119 +
 .../FaultTolerance/RedundancyManager.java     |    91 +
 .../StateBased/FaultTolerance/Variant.java    |    61 +
 .../FaultTolerance/impl/AdjudicatorImpl.java  |   231 +
 .../impl/FaultToleranceFactoryImpl.java       |   134 +
 .../impl/FaultTolerancePackageImpl.java       |   461 +
 .../impl/FaultTolerantImpl.java               |   293 +
 .../impl/RedundancyManagerImpl.java           |   232 +
 .../FaultTolerance/impl/VariantImpl.java      |   163 +
 .../util/FaultToleranceAdapterFactory.java    |   180 +
 .../FaultToleranceResourceFactoryImpl.java    |    61 +
 .../util/FaultToleranceResourceImpl.java      |    37 +
 .../util/FaultToleranceSwitch.java            |   183 +
 .../util/FaultToleranceXMLProcessor.java      |    56 +
 .../MaintenanceMonitoring/ErrorDetection.java |   114 +
 .../FailureDetection.java                     |    74 +
 .../MaintenanceMonitoring/MMActivities.java   |   292 +
 .../MaintenanceMonitoringFactory.java         |    87 +
 .../MaintenanceMonitoringPackage.java         |   995 ++
 .../MaintenanceMonitoring/Repair.java         |    80 +
 .../MaintenanceMonitoring/Replace.java        |   108 +
 .../impl/ErrorDetectionImpl.java              |   291 +
 .../impl/FailureDetectionImpl.java            |   161 +
 .../impl/MMActivitiesImpl.java                |   576 +
 .../MaintenanceMonitoringFactoryImpl.java     |   145 +
 .../MaintenanceMonitoringPackageImpl.java     |   565 +
 .../impl/RepairImpl.java                      |   166 +
 .../impl/ReplaceImpl.java                     |   230 +
 .../MaintenanceMonitoringAdapterFactory.java  |   198 +
 ...ntenanceMonitoringResourceFactoryImpl.java |    61 +
 .../MaintenanceMonitoringResourceImpl.java    |    37 +
 .../util/MaintenanceMonitoringSwitch.java     |   205 +
 .../MaintenanceMonitoringXMLProcessor.java    |    56 +
 .../StateBasedAnalysis.java                   |   175 +
 .../StateBasedAnalysisFactory.java            |    51 +
 .../StateBasedAnalysisPackage.java            |   336 +
 .../impl/StateBasedAnalysisFactoryImpl.java   |   101 +
 .../impl/StateBasedAnalysisImpl.java          |   377 +
 .../impl/StateBasedAnalysisPackageImpl.java   |   369 +
 .../StateBasedAnalysisAdapterFactory.java     |   183 +
 ...StateBasedAnalysisResourceFactoryImpl.java |    61 +
 .../util/StateBasedAnalysisResourceImpl.java  |    37 +
 .../util/StateBasedAnalysisSwitch.java        |   171 +
 .../util/StateBasedAnalysisXMLProcessor.java  |    56 +
 .../StateBasedComponentsFactory.java          |    78 +
 .../StateBasedComponentsPackage.java          |   665 +
 .../StatefulHardware.java                     |   140 +
 .../StatefulSoftware.java                     |   113 +
 .../StatelessHardware.java                    |   113 +
 .../StatelessSoftware.java                    |    59 +
 .../impl/StateBasedComponentsFactoryImpl.java |   134 +
 .../impl/StateBasedComponentsPackageImpl.java |   496 +
 .../impl/StatefulHardwareImpl.java            |   333 +
 .../impl/StatefulSoftwareImpl.java            |   279 +
 .../impl/StatelessHardwareImpl.java           |   279 +
 .../impl/StatelessSoftwareImpl.java           |   170 +
 .../StateBasedComponentsAdapterFactory.java   |   199 +
 ...ateBasedComponentsResourceFactoryImpl.java |    61 +
 .../StateBasedComponentsResourceImpl.java     |    37 +
 .../util/StateBasedComponentsSwitch.java      |   203 +
 .../StateBasedComponentsXMLProcessor.java     |    56 +
 .../StateBasedDataTypes/Availability.java     |    26 +
 .../StateBasedDataTypes/ConfidenceKind.java   |   217 +
 .../DependabilityMeasure.java                 |    27 +
 .../EvaluationAnalytical.java                 |    26 +
 .../EvaluationBySimulation.java               |    26 +
 .../StateBasedDataTypes/EvaluationMethod.java |    27 +
 .../StateBasedDataTypes/EvaluationType.java   |    27 +
 .../StateBased/StateBasedDataTypes/MTTF.java  |    26 +
 .../StateBasedDataTypes/RedundancyKind.java   |   217 +
 .../StateBasedDataTypes/Reliability.java      |    26 +
 .../StateBasedDataTypesFactory.java           |   123 +
 .../StateBasedDataTypesPackage.java           |   504 +
 .../StateBasedDataTypes/SteadyState.java      |    27 +
 .../impl/AvailabilityImpl.java                |    52 +
 .../impl/DependabilityMeasureImpl.java        |    53 +
 .../impl/EvaluationAnalyticalImpl.java        |    49 +
 .../impl/EvaluationBySimulationImpl.java      |    50 +
 .../impl/EvaluationMethodImpl.java            |    54 +
 .../impl/EvaluationTypeImpl.java              |    53 +
 .../StateBasedDataTypes/impl/MTTFImpl.java    |    47 +
 .../impl/ReliabilityImpl.java                 |    49 +
 .../impl/StateBasedDataTypesFactoryImpl.java  |   264 +
 .../impl/StateBasedDataTypesPackageImpl.java  |   525 +
 .../impl/SteadyStateImpl.java                 |    50 +
 .../StateBasedDataTypesAdapterFactory.java    |   270 +
 .../util/StateBasedDataTypesSwitch.java       |   293 +
 .../ThreatsPropagation/DurationType.java      |   217 +
 .../ThreatsPropagation/EffectModesEnum.java   |   271 +
 .../ThreatsPropagation/Error.java             |    88 +
 .../ThreatsPropagation/ErrorFree.java         |    26 +
 .../ThreatsPropagation/ErrorModel.java        |    61 +
 .../ThreatsPropagation/ExternalFault.java     |   235 +
 .../ThreatsPropagation/FailureFree.java       |    26 +
 .../ThreatsPropagation/FailureMode.java       |   107 +
 .../ThreatsPropagation/InternalFault.java     |   225 +
 .../ThreatsPropagation/Inverted.java          |    89 +
 .../ThreatsPropagation/RampDown.java          |   143 +
 .../ThreatsPropagation/StuckAt.java           |   116 +
 .../ThreatsPropagation/StuckAtFixed.java      |    89 +
 .../ThreatsPropagation/ThreatState.java       |   115 +
 .../ThreatsPropagationFactory.java            |   168 +
 .../ThreatsPropagationPackage.java            |  1756 +++
 .../ThreatsPropagation/UnclassifiedError.java |    26 +
 .../UnclassifiedFailure.java                  |    26 +
 .../impl/ErrorFreeImpl.java                   |    47 +
 .../ThreatsPropagation/impl/ErrorImpl.java    |   222 +
 .../impl/ErrorModelImpl.java                  |   163 +
 .../impl/ExternalFaultImpl.java               |   497 +
 .../impl/FailureFreeImpl.java                 |    47 +
 .../impl/FailureModeImpl.java                 |   235 +
 .../impl/InternalFaultImpl.java               |   515 +
 .../ThreatsPropagation/impl/InvertedImpl.java |   224 +
 .../ThreatsPropagation/impl/RampDownImpl.java |   346 +
 .../impl/StuckAtFixedImpl.java                |   224 +
 .../ThreatsPropagation/impl/StuckAtImpl.java  |   292 +
 .../impl/ThreatStateImpl.java                 |   285 +
 .../impl/ThreatsPropagationFactoryImpl.java   |   310 +
 .../impl/ThreatsPropagationPackageImpl.java   |   978 ++
 .../impl/UnclassifiedErrorImpl.java           |    47 +
 .../impl/UnclassifiedFailureImpl.java         |    47 +
 .../ThreatsPropagationAdapterFactory.java     |   373 +
 ...ThreatsPropagationResourceFactoryImpl.java |    61 +
 .../util/ThreatsPropagationResourceImpl.java  |    37 +
 .../util/ThreatsPropagationSwitch.java        |   409 +
 .../util/ThreatsPropagationXMLProcessor.java  |    56 +
 .../BusConfigurationAnalysis.java             |   115 +
 .../DeploymentConfAnalysisFactory.java        |    69 +
 .../DeploymentConfAnalysisPackage.java        |   739 ++
 .../MappingConfigurationAnalysis.java         |   114 +
 .../OptimizationGoal.java                     |   217 +
 .../SchedulingAnalysis.java                   |    86 +
 .../impl/BusConfigurationAnalysisImpl.java    |   272 +
 .../DeploymentConfAnalysisFactoryImpl.java    |   174 +
 .../DeploymentConfAnalysisPackageImpl.java    |   511 +
 .../MappingConfigurationAnalysisImpl.java     |   277 +
 .../impl/SchedulingAnalysisImpl.java          |   225 +
 .../DeploymentConfAnalysisAdapterFactory.java |   219 +
 ...oymentConfAnalysisResourceFactoryImpl.java |    61 +
 .../DeploymentConfAnalysisResourceImpl.java   |    37 +
 .../util/DeploymentConfAnalysisSwitch.java    |   216 +
 .../DeploymentConfAnalysisXMLProcessor.java   |    56 +
 .../HardwareBaseline/BasicDataType.java       |   271 +
 .../HardwareBaseline/BasicOperation.java      |   298 +
 .../HardwareBaseline/BooleanSWDataType.java   |    26 +
 .../HardwareBaseline/CHControlFlow.java       |   161 +
 .../HardwareBaseline/CH_HwBus.java            |    59 +
 .../CH_HwComputingResource.java               |    59 +
 .../HardwareBaseline/CH_HwProcessor.java      |    78 +
 .../HardwareBaseline/CharSWDataType.java      |    58 +
 .../HardwareBaseline/ComputeComplexity.java   |   105 +
 .../HardwareBaseline/DataTypeAssign.java      |    97 +
 .../HardwareBaseline/DataTypeExecution.java   |   116 +
 .../HardwareBaseline/FixedSWDataType.java     |    58 +
 .../HardwareBaseline/FloatSWDataType.java     |    58 +
 .../HardwareBaseline/HWDataType.java          |   188 +
 .../HardwareBaselineFactory.java              |   168 +
 .../HardwareBaselinePackage.java              |  2422 ++++
 .../HardwareBaseline/IntegerSWDataType.java   |    58 +
 .../HardwareBaseline/OperationCount.java      |   116 +
 .../HardwareBaseline/SWDataType.java          |    88 +
 .../impl/BooleanSWDataTypeImpl.java           |    47 +
 .../impl/CHControlFlowImpl.java               |   379 +
 .../HardwareBaseline/impl/CH_HwBusImpl.java   |   169 +
 .../impl/CH_HwComputingResourceImpl.java      |   169 +
 .../impl/CH_HwProcessorImpl.java              |   209 +
 .../impl/CharSWDataTypeImpl.java              |   168 +
 .../impl/ComputeComplexityImpl.java           |   263 +
 .../impl/DataTypeAssignImpl.java              |   238 +
 .../impl/DataTypeExecutionImpl.java           |   285 +
 .../impl/FixedSWDataTypeImpl.java             |   168 +
 .../impl/FloatSWDataTypeImpl.java             |   168 +
 .../HardwareBaseline/impl/HWDataTypeImpl.java |   433 +
 .../impl/HardwareBaselineFactoryImpl.java     |   319 +
 .../impl/HardwareBaselinePackageImpl.java     |  1034 ++
 .../impl/IntegerSWDataTypeImpl.java           |   168 +
 .../impl/OperationCountImpl.java              |   285 +
 .../HardwareBaseline/impl/SWDataTypeImpl.java |   231 +
 .../util/HardwareBaselineAdapterFactory.java  |   568 +
 .../HardwareBaselineResourceFactoryImpl.java  |    61 +
 .../util/HardwareBaselineResourceImpl.java    |    37 +
 .../util/HardwareBaselineSwitch.java          |   594 +
 .../util/HardwareBaselineXMLProcessor.java    |    56 +
 .../RTComponentModel/CHRtPortSlot.java        |    80 +
 .../RTComponentModel/CHRtSpecification.java   |   456 +
 .../RTComponentModelFactory.java              |    60 +
 .../RTComponentModelPackage.java              |   674 +
 .../RTDataTypes/CH_BurstPattern.java          |    27 +
 .../RTDataTypes/CH_PeriodicPattern.java       |    27 +
 .../RTDataTypes/CH_SporadicPattern.java       |    27 +
 .../RTDataTypes/RTDataTypesFactory.java       |    87 +
 .../RTDataTypes/RTDataTypesPackage.java       |   286 +
 .../RTDataTypes/TA_ArbitraryPattern.java      |    27 +
 .../RTDataTypes/TA_Pattern.java               |    28 +
 .../RTDataTypes/impl/CH_BurstPatternImpl.java |    50 +
 .../impl/CH_PeriodicPatternImpl.java          |    50 +
 .../impl/CH_SporadicPatternImpl.java          |    50 +
 .../impl/RTDataTypesFactoryImpl.java          |   145 +
 .../impl/RTDataTypesPackageImpl.java          |   387 +
 .../impl/TA_ArbitraryPatternImpl.java         |    50 +
 .../RTDataTypes/impl/TA_PatternImpl.java      |    54 +
 .../util/RTDataTypesAdapterFactory.java       |   198 +
 .../RTDataTypes/util/RTDataTypesSwitch.java   |   204 +
 .../impl/CHRtPortSlotImpl.java                |   203 +
 .../impl/CHRtSpecificationImpl.java           |   978 ++
 .../impl/RTComponentModelFactoryImpl.java     |   112 +
 .../impl/RTComponentModelPackageImpl.java     |   534 +
 .../util/RTComponentModelAdapterFactory.java  |   144 +
 .../RTComponentModelResourceFactoryImpl.java  |    61 +
 .../util/RTComponentModelResourceImpl.java    |    37 +
 .../util/RTComponentModelSwitch.java          |   138 +
 .../util/RTComponentModelXMLProcessor.java    |    56 +
 .../TimingAnalysis/AgeTimingConstraint.java   |    27 +
 .../InputSynchronizationConstraint.java       |    59 +
 .../OutputSynchronizationConstraint.java      |    59 +
 .../TimingAnalysis/ReactionConstraint.java    |    27 +
 .../SimulationBasedTimingAnalysis.java        |    27 +
 .../TimingAnalysis/TimingAnalysisFactory.java |    87 +
 .../TimingAnalysis/TimingAnalysisPackage.java |   767 ++
 .../ArbitraryEventConstraint.java             |    95 +
 .../PatternEventConstraint.java               |   167 +
 .../PeriodicEventConstraint.java              |   140 +
 .../SporadicEventConstraint.java              |   167 +
 .../TimingConstraintsFactory.java             |    78 +
 .../TimingConstraintsPackage.java             |   833 ++
 .../impl/ArbitraryEventConstraintImpl.java    |   246 +
 .../impl/PatternEventConstraintImpl.java      |   385 +
 .../impl/PeriodicEventConstraintImpl.java     |   331 +
 .../impl/SporadicEventConstraintImpl.java     |   385 +
 .../impl/TimingConstraintsFactoryImpl.java    |   134 +
 .../impl/TimingConstraintsPackageImpl.java    |   563 +
 .../util/TimingConstraintsAdapterFactory.java |   199 +
 .../TimingConstraintsResourceFactoryImpl.java |    61 +
 .../util/TimingConstraintsResourceImpl.java   |    37 +
 .../util/TimingConstraintsSwitch.java         |   200 +
 .../util/TimingConstraintsXMLProcessor.java   |    56 +
 .../impl/AgeTimingConstraintImpl.java         |    48 +
 .../InputSynchronizationConstraintImpl.java   |   169 +
 .../OutputSynchronizationConstraintImpl.java  |   169 +
 .../impl/ReactionConstraintImpl.java          |    48 +
 .../SimulationBasedTimingAnalysisImpl.java    |    48 +
 .../impl/TimingAnalysisFactoryImpl.java       |   145 +
 .../impl/TimingAnalysisPackageImpl.java       |   423 +
 .../util/TimingAnalysisAdapterFactory.java    |   312 +
 .../TimingAnalysisResourceFactoryImpl.java    |    61 +
 .../util/TimingAnalysisResourceImpl.java      |    37 +
 .../util/TimingAnalysisSwitch.java            |   312 +
 .../util/TimingAnalysisXMLProcessor.java      |    56 +
 .../chessmlprofile/chessmlprofileFactory.java |    51 +
 .../chessmlprofile/chessmlprofilePackage.java |   130 +
 .../polarsys/chess/chessmlprofile/dummy.java  |    29 +
 .../impl/chessmlprofileFactoryImpl.java       |   101 +
 .../impl/chessmlprofilePackageImpl.java       |   363 +
 .../chess/chessmlprofile/impl/dummyImpl.java  |    48 +
 .../chess/chessmlprofile/util/Constants.java  |   117 +
 .../util/chessmlprofileAdapterFactory.java    |   126 +
 .../util/chessmlprofileSwitch.java            |   120 +
 .../.classpath                                |     7 +
 .../.project                                  |    42 +
 .../.settings/org.eclipse.jdt.core.prefs      |     8 +
 .../META-INF/MANIFEST.MF                      |    40 +
 .../Version.txt                               |    23 +
 .../about.html                                |    28 +
 .../bin/.gitignore                            |     1 +
 .../build.acceleo                             |    26 +
 .../build.properties                          |    14 +
 .../plugin.xml                                |    56 +
 .../src-lib/src/cpa/container_protection.adb  |    83 +
 .../src-lib/src/cpa/container_protection.ads  |    88 +
 .../src/dataStructure/data_structure.adb      |   157 +
 .../src/dataStructure/data_structure.ads      |   104 +
 .../src-lib/src/dataStructure/system_time.ads |    24 +
 .../src/dataStructure/system_types.adb        |    63 +
 .../src/dataStructure/system_types.ads        |    89 +
 .../src/dataStructure/task_attributes.ads     |    59 +
 .../src-lib/src/task/cyclic_task.adb          |    60 +
 .../src-lib/src/task/cyclic_task.ads          |    37 +
 .../src/task/multi_activity_cyclic_task.adb   |    64 +
 .../src/task/multi_activity_cyclic_task.ads   |    39 +
 .../src-lib/src/task/sporadic_task.adb        |    57 +
 .../src-lib/src/task/sporadic_task.ads        |    33 +
 .../codegen/ada/singlenode/Activator.java     |    69 +
 .../ada/singlenode/AdaGenUIHandler.java       |   118 +
 .../component/ComponentImplementation.mtl     |    36 +
 .../component/ComponentImplementationAda.mtl  |   161 +
 .../component/ComponentImplementationC.mtl    |   267 +
 .../singlenode/component/ComponentType.mtl    |   125 +
 .../ada/singlenode/container/Container.mtl    |   557 +
 .../ada/singlenode/datatype/DataType.mtl      |    94 +
 .../ada/singlenode/datatype/DataTypeC.mtl     |    59 +
 .../ada/singlenode/deployment/Deployment.mtl  |   167 +
 .../codegen/ada/singlenode/ifs/Interface.mtl  |    75 +
 .../codegen/ada/singlenode/main/Copyright.mtl |   130 +
 .../codegen/ada/singlenode/main/GNATadc.mtl   |    68 +
 .../chess/codegen/ada/singlenode/main/GPR.mtl |    69 +
 .../main/GenerateInfrastructure.java          |   407 +
 .../codegen/ada/singlenode/main/License.mtl   |   715 ++
 .../codegen/ada/singlenode/main/Main.mtl      |    55 +
 .../main/generateInfrastructure.mtl           |   122 +
 .../ada/singlenode/service/UML2Service.java   |  1412 +++
 .../transformations/AcceleoCodeGen.java       |   153 +
 .../transformations/Transformation.java       |    51 +
 .../TransformationConditions.java             |    49 +
 .../tasks/generateInfrastructure.xml          |    92 +
 .../tasks/generateInfrastructureTarget.xml    |    19 +
 .../org.polarsys.chess.commands/.classpath    |     7 +
 .../org.polarsys.chess.commands/.gitignore    |     1 +
 plugins/org.polarsys.chess.commands/.project  |    28 +
 .../.settings/org.eclipse.jdt.core.prefs      |     8 +
 .../META-INF/MANIFEST.MF                      |    37 +
 .../org.polarsys.chess.commands/about.html    |    28 +
 .../build.properties                          |    10 +
 .../org.polarsys.chess.commands/plugin.xml    |   248 +
 .../resources/CHESSicon.gif                   |   Bin 0 -> 612 bytes
 .../polarsys/chess/commands/Activator.java    |    60 +
 .../polarsys/chess/commands/AssignCopy.java   |    98 +
 .../chess/commands/BuildInstanceCommand.java  |   856 ++
 .../commands/HideRTInformationCommand.java    |    84 +
 .../commands/ShowRTInformationCommand.java    |   128 +
 .../org.polarsys.chess.discovery/.classpath   |     7 +
 .../org.polarsys.chess.discovery/.gitignore   |     1 +
 plugins/org.polarsys.chess.discovery/.project |    28 +
 .../.settings/org.eclipse.jdt.core.prefs      |     7 +
 .../META-INF/MANIFEST.MF                      |    17 +
 .../org.polarsys.chess.discovery/about.html   |    28 +
 .../build.properties                          |     9 +
 .../icons/CHESSicon.gif                       |   Bin 0 -> 612 bytes
 .../org.polarsys.chess.discovery/plugin.pdoc  |     4 +
 .../plugin.properties                         |     2 +
 .../org.polarsys.chess.discovery/plugin.xml   |    38 +
 .../polarsys/chess/discovery/Activator.java   |    63 +
 .../ui/menu/handler/CHESSDiscoveryAction.java |    36 +
 .../menu/handler/CHESSDiscoveryHandler.java   |    30 +
 .../ui/wizards/DiscoveryComponent.java        |    73 +
 .../org.polarsys.chess.extra.site/.project    |    17 +
 .../org.polarsys.chess.extra.site/about.html  |    28 +
 .../chess-extra.xmi                           |    28 +
 .../org.polarsys.chess.extra.site/site.xml    |     4 +
 plugins/org.polarsys.chess.feature/.project   |    17 +
 .../build.properties                          |     1 +
 .../org.polarsys.chess.feature/epl-v10.html   |   304 +
 .../org.polarsys.chess.feature/feature.xml    |    88 +
 .../org.polarsys.chess.feature/license.html   |   107 +
 plugins/org.polarsys.chess.m2m/.classpath     |     7 +
 plugins/org.polarsys.chess.m2m/.gitignore     |     1 +
 plugins/org.polarsys.chess.m2m/.project       |    28 +
 .../.settings/org.eclipse.jdt.core.prefs      |     8 +
 .../META-INF/MANIFEST.MF                      |    36 +
 plugins/org.polarsys.chess.m2m/about.html     |    28 +
 .../org.polarsys.chess.m2m/build.properties   |     8 +
 .../license/Copyright-CeilingCalculator.txt   |    14 +
 .../license/Copyright.txt                     |    13 +
 plugins/org.polarsys.chess.m2m/plugin.xml     |   196 +
 .../chess/m2m/AbstractQVToUIHandler.java      |   130 +
 .../chess/m2m/AcceleoMarte2mastProxy.java     |    19 +
 .../src/org/polarsys/chess/m2m/Activator.java |    65 +
 .../m2m/AnalysisContextSelectionDialog.java   |    75 +
 .../chess/m2m/End2EndResultDialog.java        |   510 +
 .../polarsys/chess/m2m/PurgePIMHandler.java   |   179 +
 .../chess/m2m/QVToTransformation.java         |   155 +
 .../org/polarsys/chess/m2m/QVToUIAction.java  |    91 +
 .../chess/m2m/QVToUIHandlerEnd2End.java       |   350 +
 .../chess/m2m/QVToUIHandlerVERDE.java         |   222 +
 .../polarsys/chess/m2m/SchedResultDialog.java |   242 +
 .../src/org/polarsys/chess/m2m/TransUtil.java |   110 +
 .../chess/m2m/TransformationResultsData.java  |    13 +
 .../BackpropagationFullVERDE.java             |   333 +
 .../chess/m2m/blackbox/Java4QVTutils.java     |    52 +
 .../polarsys/chess/m2m/blackbox/VSLUtils.java |   677 +
 .../AbstractTransformation.java               |    94 +
 .../PIMPSMTransformationEnd2End.java          |    24 +
 .../PIMPSMTransformationVERDE.java            |    40 +
 .../transformations/BuildMultiInstance.qvto   |   500 +
 .../CHESS_CeilingAssignment.qvto              |   254 +
 .../CHESS_PIM2PSM_Inst_full_VERDE.qvto        |  1437 +++
 .../transformations/MARTEUtils.qvto           |   142 +
 .../ProfileUtils_Inst_full.qvto               |   255 +
 .../transformations/RemoveMultiInstance.qvto  |    75 +
 .../transformations/UMLUtils_Inst_full.qvto   |   189 +
 .../transformations/Unused.qvto               |    98 +
 plugins/org.polarsys.chess.service/.classpath |     7 +
 plugins/org.polarsys.chess.service/.gitignore |     1 +
 plugins/org.polarsys.chess.service/.project   |    28 +
 .../.settings/org.eclipse.jdt.core.prefs      |     7 +
 .../META-INF/MANIFEST.MF                      |    26 +
 plugins/org.polarsys.chess.service/about.html |    28 +
 .../build.properties                          |     7 +
 .../icons/AnalysisView.gif                    |   Bin 0 -> 73 bytes
 .../icons/CHESSicon.gif                       |   Bin 0 -> 612 bytes
 .../icons/CHESSsuperuser.gif                  |   Bin 0 -> 594 bytes
 .../icons/ComponentView.gif                   |   Bin 0 -> 73 bytes
 .../icons/DependabilityAnalysisView.gif       |   Bin 0 -> 73 bytes
 .../icons/DependabilityView.gif               |   Bin 0 -> 73 bytes
 .../icons/DeploymentView.gif                  |   Bin 0 -> 73 bytes
 .../icons/ExtraFunctionalView.gif             |   Bin 0 -> 73 bytes
 .../icons/NullView.gif                        |   Bin 0 -> 859 bytes
 .../icons/RTAnalysisView.gif                  |   Bin 0 -> 73 bytes
 .../icons/RailwayView.gif                     |   Bin 0 -> 73 bytes
 .../icons/RequirementView.gif                 |   Bin 0 -> 73 bytes
 .../icons/switch.gif                          |   Bin 0 -> 114 bytes
 .../icons/switchDEP.gif                       |   Bin 0 -> 100 bytes
 .../icons/switchRAIL.gif                      |   Bin 0 -> 100 bytes
 plugins/org.polarsys.chess.service/plugin.xml |   430 +
 .../org/polarsys/chess/service/Activator.java |    55 +
 .../polarsys/chess/service/CHESSService.java  |   175 +
 .../chess/service/CHESSServiceFactory.java    |   126 +
 .../chess/service/MatchingStrategy.java       |    41 +
 .../chess/service/PaletteManager.java         |   255 +
 .../chess/service/SelectionListener.java      |    98 +
 .../service/commands/CurrentViewStatus.java   |    76 +
 .../service/commands/HidePortCommand.java     |    52 +
 .../commands/SupersuserToggleCommand.java     |    72 +
 .../commands/SwitchSourceProvider.java        |   110 +
 .../commands/SwitchToDependability.java       |    49 +
 .../commands/SwitchToExtraFunctional.java     |    49 +
 .../service/commands/SwitchToRailway.java     |    49 +
 .../chess/service/commands/SwitchToView.java  |   120 +
 .../chess/service/utils/CHESSEditorUtils.java |   266 +
 .../org.polarsys.chess.validator/.classpath   |     7 +
 .../org.polarsys.chess.validator/.gitignore   |     1 +
 plugins/org.polarsys.chess.validator/.project |    34 +
 .../org.eclipse.core.resources.prefs          |     2 +
 .../.settings/org.eclipse.jdt.core.prefs      |     8 +
 .../.settings/org.eclipse.ocl.modelregistry   |     2 +
 .../META-INF/MANIFEST.MF                      |    43 +
 .../org.polarsys.chess.validator/about.html   |    28 +
 .../build.properties                          |     8 +
 .../icons/CHESSval.gif                        |   Bin 0 -> 1039 bytes
 .../license/Copyright.txt                     |    13 +
 .../org.polarsys.chess.validator/plugin.xml   |   901 ++
 .../polarsys/chess/validator/Activator.java   |    65 +
 .../chess/validator/AddDiagramElement.java    |   739 ++
 .../chess/validator/ResourceListener.java     |   421 +
 .../ValidationDelegateClientSelector.java     |    46 +
 .../command/ChessGenericDiagnostician.java    |    36 +
 .../command/ChessGenericValidateCommand.java  |   191 +
 .../command/ChessValidatorAdapter.java        |   106 +
 .../validator/constraints/Connector_01.java   |   115 +
 .../validator/constraints/Connector_02.java   |    82 +
 .../chess/validator/constraints/DV_01.java    |   104 +
 .../chess/validator/constraints/DV_02.java    |   118 +
 .../chess/validator/constraints/DV_03.java    |   110 +
 .../chess/validator/constraints/DV_04.java    |   101 +
 .../chess/validator/constraints/EFVRT_02.java |    79 +
 .../chess/validator/constraints/EFVRT_03.java |    95 +
 .../chess/validator/constraints/EFVRT_04.java |   100 +
 .../chess/validator/constraints/EFVRT_20.java |   100 +
 .../chess/validator/constraints/EFVRT_30.java |    91 +
 .../chess/validator/constraints/EFVRT_40.java |    80 +
 .../chess/validator/constraints/FV_02.java    |    53 +
 .../chess/validator/constraints/FV_03.java    |   170 +
 .../chess/validator/constraints/FV_04.java    |   153 +
 .../chess/validator/constraints/FV_05.java    |    82 +
 .../chess/validator/constraints/FV_06.java    |    89 +
 .../chess/validator/constraints/FV_07.java    |    74 +
 .../validator/constraints/FlowPorts_01.java   |    47 +
 .../validator/constraints/FlowPorts_02.java   |    57 +
 .../validator/constraints/FlowPorts_03.java   |    84 +
 .../validator/constraints/StringParser.java   |    47 +
 .../chess/validator/managers/ActionsLib.java  |   812 ++
 .../validator/managers/ConstraintsLib.java    |   812 ++
 .../managers/CrossViewActionLib.java          |    89 +
 .../chess/validator/managers/Messages.java    |    45 +
 .../validator/managers/ModelManager.java      |   131 +
 .../chess/validator/managers/ModelParser.java |   154 +
 .../chess/validator/managers/ViewManager.java |   169 +
 .../validator/managers/messages.properties    |    14 +
 plugins/org.polarsys.chess.wizards/.classpath |     7 +
 plugins/org.polarsys.chess.wizards/.gitignore |     1 +
 plugins/org.polarsys.chess.wizards/.project   |    28 +
 .../.settings/org.eclipse.jdt.core.prefs      |    12 +
 .../META-INF/MANIFEST.MF                      |    33 +
 plugins/org.polarsys.chess.wizards/about.html |    28 +
 .../build.properties                          |    15 +
 .../plugin.properties                         |    13 +
 plugins/org.polarsys.chess.wizards/plugin.xml |    32 +
 .../resources/CHESSicon.gif                   |   Bin 0 -> 612 bytes
 .../org/polarsys/chess/wizards/Activator.java |    49 +
 .../chess/wizards/CHESSNewProjectWizard.java  |    79 +
 .../chess/wizards/CreateCHESSModelWizard.java |   467 +
 .../chess/wizards/InitModelWizard.java        |   115 +
 .../WorkspaceNewModelStorageProvider.java     |   112 +
 677 files changed, 133008 insertions(+)
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/.classpath
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/.gitignore
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/.project
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/.settings/org.eclipse.jdt.core.prefs
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/META-INF/MANIFEST.MF
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/META-INF/myprofile.ecore
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/META-INF/myprofile.genmodel
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/about.html
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/build.properties
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/icons/CHESSicon.gif
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/model/CHESS.genmodel
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/model/CHESS.profile.di
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/model/CHESS.profile.di2
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/model/CHESS.profile.notation
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/model/CHESS.profile.uml
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/model/MARTE.ecore
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/model/MARTE.genmodel
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/model/MARTE_Library.ecore
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/model/chessmlprofile.ecore
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/palettes/Activity-FV.Palette.xml
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/palettes/ClassDiag-DependAnalysis.Palette.xml
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/palettes/ClassDiag-Deployment.Palette.xml
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/palettes/ClassDiag-FV.Palette.xml
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/palettes/CompositeDiag-Deployment.Palette.xml
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/palettes/CompositeDiag-EFV-FPTC.Palette.xml
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/palettes/CompositeDiag-EFV-RT.Palette.xml
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/palettes/CompositeDiag-FV.Palette.xml
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/palettes/CompositeDiag-RailwayView.Palette.xml
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/palettes/Sequence-EFV.Palette.xml
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/palettes/StateMachineDiag-ErrorModel.Palette.xml
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/palettes/StateMachineDiag-FV.Palette.xml
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/plugin.properties
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/plugin.xml
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/ComponentModel/ComponentImplementation.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/ComponentModel/ComponentModelFactory.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/ComponentModel/ComponentModelPackage.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/ComponentModel/ComponentType.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/ComponentModel/impl/ComponentImplementationImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/ComponentModel/impl/ComponentModelFactoryImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/ComponentModel/impl/ComponentModelPackageImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/ComponentModel/impl/ComponentTypeImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/ComponentModel/util/ComponentModelAdapterFactory.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/ComponentModel/util/ComponentModelResourceFactoryImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/ComponentModel/util/ComponentModelResourceImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/ComponentModel/util/ComponentModelSwitch.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/ComponentModel/util/ComponentModelXMLProcessor.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESS.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/AnalysisView.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/CHESSViewsFactory.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/CHESSViewsPackage.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/ComponentView.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/DependabilityAnalysisView.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/DeploymentView.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/ExtraFunctionalView.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/PSMView.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/RTAnalysisView.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/RequirementView.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/SystemView.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/TimingDataFlowView.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/impl/AnalysisViewImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/impl/CHESSViewsFactoryImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/impl/CHESSViewsPackageImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/impl/ComponentViewImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/impl/DependabilityAnalysisViewImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/impl/DeploymentViewImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/impl/ExtraFunctionalViewImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/impl/PSMViewImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/impl/RTAnalysisViewImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/impl/RequirementViewImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/impl/SystemViewImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/impl/TimingDataFlowViewImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/util/CHESSViewsAdapterFactory.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/util/CHESSViewsResourceFactoryImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/util/CHESSViewsResourceImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/util/CHESSViewsSwitch.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/util/CHESSViewsXMLProcessor.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHGaResourcePlatform.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CoreFactory.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CorePackage.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/IdentifInstance.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/IdentifSlot.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/MultiInstance.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/MultiSlot.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/impl/CHESSImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/impl/CHGaResourcePlatformImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/impl/CoreFactoryImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/impl/CorePackageImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/impl/IdentifInstanceImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/impl/IdentifSlotImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/impl/MultiInstanceImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/impl/MultiSlotImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/util/CoreAdapterFactory.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/util/CoreResourceFactoryImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/util/CoreResourceImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/util/CoreSwitch.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/util/CoreXMLProcessor.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/DataFlowCallGraph/DataFlowCallGraphAnalysis.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/DataFlowCallGraph/DataFlowCallGraphFactory.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/DataFlowCallGraph/DataFlowCallGraphPackage.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/DataFlowCallGraph/impl/DataFlowCallGraphAnalysisImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/DataFlowCallGraph/impl/DataFlowCallGraphFactoryImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/DataFlowCallGraph/impl/DataFlowCallGraphPackageImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/DataFlowCallGraph/util/DataFlowCallGraphAdapterFactory.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/DataFlowCallGraph/util/DataFlowCallGraphResourceFactoryImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/DataFlowCallGraph/util/DataFlowCallGraphResourceImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/DataFlowCallGraph/util/DataFlowCallGraphSwitch.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/DataFlowCallGraph/util/DataFlowCallGraphXMLProcessor.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/DependableComponent/DependableComponent.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/DependableComponent/DependableComponentFactory.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/DependableComponent/DependableComponentPackage.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/DependableComponent/Propagation.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/DependableComponent/impl/DependableComponentFactoryImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/DependableComponent/impl/DependableComponentImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/DependableComponent/impl/DependableComponentPackageImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/DependableComponent/impl/PropagationImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/DependableComponent/util/DependableComponentAdapterFactory.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/DependableComponent/util/DependableComponentResourceFactoryImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/DependableComponent/util/DependableComponentResourceImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/DependableComponent/util/DependableComponentSwitch.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/DependableComponent/util/DependableComponentXMLProcessor.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FMEA/ErrorModelAssign.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FMEA/FIBEX.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FMEA/FMEAAnalysis.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FMEA/FMEAAnalysisType.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FMEA/FMEADataTypes/FMEADataTypesFactory.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FMEA/FMEADataTypes/FMEADataTypesPackage.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FMEA/FMEADataTypes/Persistency.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FMEA/FMEADataTypes/impl/FMEADataTypesFactoryImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FMEA/FMEADataTypes/impl/FMEADataTypesPackageImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FMEA/FMEAFactory.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FMEA/FMEAPackage.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FMEA/impl/ErrorModelAssignImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FMEA/impl/FIBEXImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FMEA/impl/FMEAAnalysisImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FMEA/impl/FMEAFactoryImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FMEA/impl/FMEAPackageImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FMEA/util/FMEAAdapterFactory.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FMEA/util/FMEAResourceFactoryImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FMEA/util/FMEAResourceImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FMEA/util/FMEASwitch.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FMEA/util/FMEAXMLProcessor.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/ACIDAvoidable.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/ACIDMitigation.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/FI4FA.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/FI4FAAnalysis.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/FI4FASpecification.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/FPTC.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/FPTCPortSlot.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/FPTCSpecification.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/FailurePropagationAnalysis.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/FailurePropagationDataTypes/A_avoidable.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/FailurePropagationDataTypes/A_mitigation.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/FailurePropagationDataTypes/C_avoidable.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/FailurePropagationDataTypes/C_mitigation.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/FailurePropagationDataTypes/D_avoidable.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/FailurePropagationDataTypes/D_mitigation.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/FailurePropagationDataTypes/FailurePropagationDataTypesFactory.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/FailurePropagationDataTypes/FailurePropagationDataTypesPackage.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/FailurePropagationDataTypes/FailureType.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/FailurePropagationDataTypes/I_avoidable.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/FailurePropagationDataTypes/I_mitigation.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/FailurePropagationDataTypes/impl/FailurePropagationDataTypesFactoryImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/FailurePropagationDataTypes/impl/FailurePropagationDataTypesPackageImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/FailurePropagationFactory.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/FailurePropagationPackage.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/impl/ACIDAvoidableImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/impl/ACIDMitigationImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/impl/FI4FAAnalysisImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/impl/FI4FAImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/impl/FI4FASpecificationImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/impl/FPTCImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/impl/FPTCPortSlotImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/impl/FPTCSpecificationImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/impl/FailurePropagationAnalysisImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/impl/FailurePropagationFactoryImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/impl/FailurePropagationPackageImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/util/FailurePropagationAdapterFactory.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/util/FailurePropagationResourceFactoryImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/util/FailurePropagationResourceImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/util/FailurePropagationSwitch.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/util/FailurePropagationXMLProcessor.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/MitigationMeans/MitigationMeansFactory.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/MitigationMeans/MitigationMeansPackage.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/MitigationMeans/TransmissionWithProtocol.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/MitigationMeans/impl/MitigationMeansFactoryImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/MitigationMeans/impl/MitigationMeansPackageImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/MitigationMeans/impl/TransmissionWithProtocolImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/MitigationMeans/util/MitigationMeansAdapterFactory.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/MitigationMeans/util/MitigationMeansResourceFactoryImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/MitigationMeans/util/MitigationMeansResourceImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/MitigationMeans/util/MitigationMeansSwitch.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/MitigationMeans/util/MitigationMeansXMLProcessor.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/FaultTolerance/Adjudicator.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/FaultTolerance/FaultToleranceFactory.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/FaultTolerance/FaultTolerancePackage.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/FaultTolerance/FaultTolerant.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/FaultTolerance/RedundancyManager.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/FaultTolerance/Variant.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/FaultTolerance/impl/AdjudicatorImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/FaultTolerance/impl/FaultToleranceFactoryImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/FaultTolerance/impl/FaultTolerancePackageImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/FaultTolerance/impl/FaultTolerantImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/FaultTolerance/impl/RedundancyManagerImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/FaultTolerance/impl/VariantImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/FaultTolerance/util/FaultToleranceAdapterFactory.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/FaultTolerance/util/FaultToleranceResourceFactoryImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/FaultTolerance/util/FaultToleranceResourceImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/FaultTolerance/util/FaultToleranceSwitch.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/FaultTolerance/util/FaultToleranceXMLProcessor.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/MaintenanceMonitoring/ErrorDetection.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/MaintenanceMonitoring/FailureDetection.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/MaintenanceMonitoring/MMActivities.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/MaintenanceMonitoring/MaintenanceMonitoringFactory.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/MaintenanceMonitoring/MaintenanceMonitoringPackage.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/MaintenanceMonitoring/Repair.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/MaintenanceMonitoring/Replace.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/MaintenanceMonitoring/impl/ErrorDetectionImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/MaintenanceMonitoring/impl/FailureDetectionImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/MaintenanceMonitoring/impl/MMActivitiesImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/MaintenanceMonitoring/impl/MaintenanceMonitoringFactoryImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/MaintenanceMonitoring/impl/MaintenanceMonitoringPackageImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/MaintenanceMonitoring/impl/RepairImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/MaintenanceMonitoring/impl/ReplaceImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/MaintenanceMonitoring/util/MaintenanceMonitoringAdapterFactory.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/MaintenanceMonitoring/util/MaintenanceMonitoringResourceFactoryImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/MaintenanceMonitoring/util/MaintenanceMonitoringResourceImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/MaintenanceMonitoring/util/MaintenanceMonitoringSwitch.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/MaintenanceMonitoring/util/MaintenanceMonitoringXMLProcessor.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedAnalysis/StateBasedAnalysis.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedAnalysis/StateBasedAnalysisFactory.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedAnalysis/StateBasedAnalysisPackage.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedAnalysis/impl/StateBasedAnalysisFactoryImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedAnalysis/impl/StateBasedAnalysisImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedAnalysis/impl/StateBasedAnalysisPackageImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedAnalysis/util/StateBasedAnalysisAdapterFactory.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedAnalysis/util/StateBasedAnalysisResourceFactoryImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedAnalysis/util/StateBasedAnalysisResourceImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedAnalysis/util/StateBasedAnalysisSwitch.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedAnalysis/util/StateBasedAnalysisXMLProcessor.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedComponents/StateBasedComponentsFactory.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedComponents/StateBasedComponentsPackage.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedComponents/StatefulHardware.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedComponents/StatefulSoftware.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedComponents/StatelessHardware.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedComponents/StatelessSoftware.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedComponents/impl/StateBasedComponentsFactoryImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedComponents/impl/StateBasedComponentsPackageImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedComponents/impl/StatefulHardwareImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedComponents/impl/StatefulSoftwareImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedComponents/impl/StatelessHardwareImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedComponents/impl/StatelessSoftwareImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedComponents/util/StateBasedComponentsAdapterFactory.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedComponents/util/StateBasedComponentsResourceFactoryImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedComponents/util/StateBasedComponentsResourceImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedComponents/util/StateBasedComponentsSwitch.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedComponents/util/StateBasedComponentsXMLProcessor.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedDataTypes/Availability.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedDataTypes/ConfidenceKind.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedDataTypes/DependabilityMeasure.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedDataTypes/EvaluationAnalytical.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedDataTypes/EvaluationBySimulation.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedDataTypes/EvaluationMethod.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedDataTypes/EvaluationType.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedDataTypes/MTTF.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedDataTypes/RedundancyKind.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedDataTypes/Reliability.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedDataTypes/StateBasedDataTypesFactory.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedDataTypes/StateBasedDataTypesPackage.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedDataTypes/SteadyState.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedDataTypes/impl/AvailabilityImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedDataTypes/impl/DependabilityMeasureImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedDataTypes/impl/EvaluationAnalyticalImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedDataTypes/impl/EvaluationBySimulationImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedDataTypes/impl/EvaluationMethodImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedDataTypes/impl/EvaluationTypeImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedDataTypes/impl/MTTFImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedDataTypes/impl/ReliabilityImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedDataTypes/impl/StateBasedDataTypesFactoryImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedDataTypes/impl/StateBasedDataTypesPackageImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedDataTypes/impl/SteadyStateImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedDataTypes/util/StateBasedDataTypesAdapterFactory.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedDataTypes/util/StateBasedDataTypesSwitch.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/DurationType.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/EffectModesEnum.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/Error.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/ErrorFree.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/ErrorModel.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/ExternalFault.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/FailureFree.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/FailureMode.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/InternalFault.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/Inverted.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/RampDown.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/StuckAt.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/StuckAtFixed.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/ThreatState.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/ThreatsPropagationFactory.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/ThreatsPropagationPackage.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/UnclassifiedError.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/UnclassifiedFailure.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/impl/ErrorFreeImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/impl/ErrorImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/impl/ErrorModelImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/impl/ExternalFaultImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/impl/FailureFreeImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/impl/FailureModeImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/impl/InternalFaultImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/impl/InvertedImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/impl/RampDownImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/impl/StuckAtFixedImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/impl/StuckAtImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/impl/ThreatStateImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/impl/ThreatsPropagationFactoryImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/impl/ThreatsPropagationPackageImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/impl/UnclassifiedErrorImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/impl/UnclassifiedFailureImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/util/ThreatsPropagationAdapterFactory.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/util/ThreatsPropagationResourceFactoryImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/util/ThreatsPropagationResourceImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/util/ThreatsPropagationSwitch.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/util/ThreatsPropagationXMLProcessor.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/DeploymentConfAnalysis/BusConfigurationAnalysis.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/DeploymentConfAnalysis/DeploymentConfAnalysisFactory.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/DeploymentConfAnalysis/DeploymentConfAnalysisPackage.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/DeploymentConfAnalysis/MappingConfigurationAnalysis.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/DeploymentConfAnalysis/OptimizationGoal.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/DeploymentConfAnalysis/SchedulingAnalysis.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/DeploymentConfAnalysis/impl/BusConfigurationAnalysisImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/DeploymentConfAnalysis/impl/DeploymentConfAnalysisFactoryImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/DeploymentConfAnalysis/impl/DeploymentConfAnalysisPackageImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/DeploymentConfAnalysis/impl/MappingConfigurationAnalysisImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/DeploymentConfAnalysis/impl/SchedulingAnalysisImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/DeploymentConfAnalysis/util/DeploymentConfAnalysisAdapterFactory.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/DeploymentConfAnalysis/util/DeploymentConfAnalysisResourceFactoryImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/DeploymentConfAnalysis/util/DeploymentConfAnalysisResourceImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/DeploymentConfAnalysis/util/DeploymentConfAnalysisSwitch.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/DeploymentConfAnalysis/util/DeploymentConfAnalysisXMLProcessor.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/BasicDataType.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/BasicOperation.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/BooleanSWDataType.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/CHControlFlow.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/CH_HwBus.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/CH_HwComputingResource.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/CH_HwProcessor.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/CharSWDataType.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/ComputeComplexity.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/DataTypeAssign.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/DataTypeExecution.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/FixedSWDataType.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/FloatSWDataType.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/HWDataType.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/HardwareBaselineFactory.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/HardwareBaselinePackage.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/IntegerSWDataType.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/OperationCount.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/SWDataType.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/impl/BooleanSWDataTypeImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/impl/CHControlFlowImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/impl/CH_HwBusImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/impl/CH_HwComputingResourceImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/impl/CH_HwProcessorImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/impl/CharSWDataTypeImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/impl/ComputeComplexityImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/impl/DataTypeAssignImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/impl/DataTypeExecutionImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/impl/FixedSWDataTypeImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/impl/FloatSWDataTypeImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/impl/HWDataTypeImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/impl/HardwareBaselineFactoryImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/impl/HardwareBaselinePackageImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/impl/IntegerSWDataTypeImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/impl/OperationCountImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/impl/SWDataTypeImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/util/HardwareBaselineAdapterFactory.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/util/HardwareBaselineResourceFactoryImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/util/HardwareBaselineResourceImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/util/HardwareBaselineSwitch.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/util/HardwareBaselineXMLProcessor.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/CHRtPortSlot.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/CHRtSpecification.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/RTComponentModelFactory.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/RTComponentModelPackage.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/RTDataTypes/CH_BurstPattern.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/RTDataTypes/CH_PeriodicPattern.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/RTDataTypes/CH_SporadicPattern.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/RTDataTypes/RTDataTypesFactory.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/RTDataTypes/RTDataTypesPackage.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/RTDataTypes/TA_ArbitraryPattern.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/RTDataTypes/TA_Pattern.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/RTDataTypes/impl/CH_BurstPatternImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/RTDataTypes/impl/CH_PeriodicPatternImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/RTDataTypes/impl/CH_SporadicPatternImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/RTDataTypes/impl/RTDataTypesFactoryImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/RTDataTypes/impl/RTDataTypesPackageImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/RTDataTypes/impl/TA_ArbitraryPatternImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/RTDataTypes/impl/TA_PatternImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/RTDataTypes/util/RTDataTypesAdapterFactory.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/RTDataTypes/util/RTDataTypesSwitch.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/impl/CHRtPortSlotImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/impl/CHRtSpecificationImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/impl/RTComponentModelFactoryImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/impl/RTComponentModelPackageImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/util/RTComponentModelAdapterFactory.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/util/RTComponentModelResourceFactoryImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/util/RTComponentModelResourceImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/util/RTComponentModelSwitch.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/util/RTComponentModelXMLProcessor.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/AgeTimingConstraint.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/InputSynchronizationConstraint.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/OutputSynchronizationConstraint.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/ReactionConstraint.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/SimulationBasedTimingAnalysis.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/TimingAnalysisFactory.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/TimingAnalysisPackage.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/TimingConstraints/ArbitraryEventConstraint.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/TimingConstraints/PatternEventConstraint.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/TimingConstraints/PeriodicEventConstraint.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/TimingConstraints/SporadicEventConstraint.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/TimingConstraints/TimingConstraintsFactory.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/TimingConstraints/TimingConstraintsPackage.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/TimingConstraints/impl/ArbitraryEventConstraintImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/TimingConstraints/impl/PatternEventConstraintImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/TimingConstraints/impl/PeriodicEventConstraintImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/TimingConstraints/impl/SporadicEventConstraintImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/TimingConstraints/impl/TimingConstraintsFactoryImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/TimingConstraints/impl/TimingConstraintsPackageImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/TimingConstraints/util/TimingConstraintsAdapterFactory.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/TimingConstraints/util/TimingConstraintsResourceFactoryImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/TimingConstraints/util/TimingConstraintsResourceImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/TimingConstraints/util/TimingConstraintsSwitch.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/TimingConstraints/util/TimingConstraintsXMLProcessor.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/impl/AgeTimingConstraintImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/impl/InputSynchronizationConstraintImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/impl/OutputSynchronizationConstraintImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/impl/ReactionConstraintImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/impl/SimulationBasedTimingAnalysisImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/impl/TimingAnalysisFactoryImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/impl/TimingAnalysisPackageImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/util/TimingAnalysisAdapterFactory.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/util/TimingAnalysisResourceFactoryImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/util/TimingAnalysisResourceImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/util/TimingAnalysisSwitch.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/util/TimingAnalysisXMLProcessor.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/chessmlprofileFactory.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/chessmlprofilePackage.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/dummy.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/impl/chessmlprofileFactoryImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/impl/chessmlprofilePackageImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/impl/dummyImpl.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/util/Constants.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/util/chessmlprofileAdapterFactory.java
 create mode 100644 plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/util/chessmlprofileSwitch.java
 create mode 100644 plugins/org.polarsys.chess.codegen.ada.singlenode/.classpath
 create mode 100644 plugins/org.polarsys.chess.codegen.ada.singlenode/.project
 create mode 100644 plugins/org.polarsys.chess.codegen.ada.singlenode/.settings/org.eclipse.jdt.core.prefs
 create mode 100644 plugins/org.polarsys.chess.codegen.ada.singlenode/META-INF/MANIFEST.MF
 create mode 100644 plugins/org.polarsys.chess.codegen.ada.singlenode/Version.txt
 create mode 100644 plugins/org.polarsys.chess.codegen.ada.singlenode/about.html
 create mode 100644 plugins/org.polarsys.chess.codegen.ada.singlenode/bin/.gitignore
 create mode 100644 plugins/org.polarsys.chess.codegen.ada.singlenode/build.acceleo
 create mode 100644 plugins/org.polarsys.chess.codegen.ada.singlenode/build.properties
 create mode 100644 plugins/org.polarsys.chess.codegen.ada.singlenode/plugin.xml
 create mode 100644 plugins/org.polarsys.chess.codegen.ada.singlenode/src-lib/src/cpa/container_protection.adb
 create mode 100644 plugins/org.polarsys.chess.codegen.ada.singlenode/src-lib/src/cpa/container_protection.ads
 create mode 100644 plugins/org.polarsys.chess.codegen.ada.singlenode/src-lib/src/dataStructure/data_structure.adb
 create mode 100644 plugins/org.polarsys.chess.codegen.ada.singlenode/src-lib/src/dataStructure/data_structure.ads
 create mode 100644 plugins/org.polarsys.chess.codegen.ada.singlenode/src-lib/src/dataStructure/system_time.ads
 create mode 100644 plugins/org.polarsys.chess.codegen.ada.singlenode/src-lib/src/dataStructure/system_types.adb
 create mode 100644 plugins/org.polarsys.chess.codegen.ada.singlenode/src-lib/src/dataStructure/system_types.ads
 create mode 100644 plugins/org.polarsys.chess.codegen.ada.singlenode/src-lib/src/dataStructure/task_attributes.ads
 create mode 100644 plugins/org.polarsys.chess.codegen.ada.singlenode/src-lib/src/task/cyclic_task.adb
 create mode 100644 plugins/org.polarsys.chess.codegen.ada.singlenode/src-lib/src/task/cyclic_task.ads
 create mode 100644 plugins/org.polarsys.chess.codegen.ada.singlenode/src-lib/src/task/multi_activity_cyclic_task.adb
 create mode 100644 plugins/org.polarsys.chess.codegen.ada.singlenode/src-lib/src/task/multi_activity_cyclic_task.ads
 create mode 100644 plugins/org.polarsys.chess.codegen.ada.singlenode/src-lib/src/task/sporadic_task.adb
 create mode 100644 plugins/org.polarsys.chess.codegen.ada.singlenode/src-lib/src/task/sporadic_task.ads
 create mode 100644 plugins/org.polarsys.chess.codegen.ada.singlenode/src/org/polarsys/chess/codegen/ada/singlenode/Activator.java
 create mode 100644 plugins/org.polarsys.chess.codegen.ada.singlenode/src/org/polarsys/chess/codegen/ada/singlenode/AdaGenUIHandler.java
 create mode 100644 plugins/org.polarsys.chess.codegen.ada.singlenode/src/org/polarsys/chess/codegen/ada/singlenode/component/ComponentImplementation.mtl
 create mode 100644 plugins/org.polarsys.chess.codegen.ada.singlenode/src/org/polarsys/chess/codegen/ada/singlenode/component/ComponentImplementationAda.mtl
 create mode 100644 plugins/org.polarsys.chess.codegen.ada.singlenode/src/org/polarsys/chess/codegen/ada/singlenode/component/ComponentImplementationC.mtl
 create mode 100644 plugins/org.polarsys.chess.codegen.ada.singlenode/src/org/polarsys/chess/codegen/ada/singlenode/component/ComponentType.mtl
 create mode 100644 plugins/org.polarsys.chess.codegen.ada.singlenode/src/org/polarsys/chess/codegen/ada/singlenode/container/Container.mtl
 create mode 100644 plugins/org.polarsys.chess.codegen.ada.singlenode/src/org/polarsys/chess/codegen/ada/singlenode/datatype/DataType.mtl
 create mode 100644 plugins/org.polarsys.chess.codegen.ada.singlenode/src/org/polarsys/chess/codegen/ada/singlenode/datatype/DataTypeC.mtl
 create mode 100644 plugins/org.polarsys.chess.codegen.ada.singlenode/src/org/polarsys/chess/codegen/ada/singlenode/deployment/Deployment.mtl
 create mode 100644 plugins/org.polarsys.chess.codegen.ada.singlenode/src/org/polarsys/chess/codegen/ada/singlenode/ifs/Interface.mtl
 create mode 100644 plugins/org.polarsys.chess.codegen.ada.singlenode/src/org/polarsys/chess/codegen/ada/singlenode/main/Copyright.mtl
 create mode 100644 plugins/org.polarsys.chess.codegen.ada.singlenode/src/org/polarsys/chess/codegen/ada/singlenode/main/GNATadc.mtl
 create mode 100644 plugins/org.polarsys.chess.codegen.ada.singlenode/src/org/polarsys/chess/codegen/ada/singlenode/main/GPR.mtl
 create mode 100644 plugins/org.polarsys.chess.codegen.ada.singlenode/src/org/polarsys/chess/codegen/ada/singlenode/main/GenerateInfrastructure.java
 create mode 100644 plugins/org.polarsys.chess.codegen.ada.singlenode/src/org/polarsys/chess/codegen/ada/singlenode/main/License.mtl
 create mode 100644 plugins/org.polarsys.chess.codegen.ada.singlenode/src/org/polarsys/chess/codegen/ada/singlenode/main/Main.mtl
 create mode 100644 plugins/org.polarsys.chess.codegen.ada.singlenode/src/org/polarsys/chess/codegen/ada/singlenode/main/generateInfrastructure.mtl
 create mode 100644 plugins/org.polarsys.chess.codegen.ada.singlenode/src/org/polarsys/chess/codegen/ada/singlenode/service/UML2Service.java
 create mode 100644 plugins/org.polarsys.chess.codegen.ada.singlenode/src/org/polarsys/chess/codegen/ada/singlenode/transformations/AcceleoCodeGen.java
 create mode 100644 plugins/org.polarsys.chess.codegen.ada.singlenode/src/org/polarsys/chess/codegen/ada/singlenode/transformations/Transformation.java
 create mode 100644 plugins/org.polarsys.chess.codegen.ada.singlenode/src/org/polarsys/chess/codegen/ada/singlenode/transformations/TransformationConditions.java
 create mode 100644 plugins/org.polarsys.chess.codegen.ada.singlenode/tasks/generateInfrastructure.xml
 create mode 100644 plugins/org.polarsys.chess.codegen.ada.singlenode/tasks/generateInfrastructureTarget.xml
 create mode 100644 plugins/org.polarsys.chess.commands/.classpath
 create mode 100644 plugins/org.polarsys.chess.commands/.gitignore
 create mode 100644 plugins/org.polarsys.chess.commands/.project
 create mode 100644 plugins/org.polarsys.chess.commands/.settings/org.eclipse.jdt.core.prefs
 create mode 100644 plugins/org.polarsys.chess.commands/META-INF/MANIFEST.MF
 create mode 100644 plugins/org.polarsys.chess.commands/about.html
 create mode 100644 plugins/org.polarsys.chess.commands/build.properties
 create mode 100644 plugins/org.polarsys.chess.commands/plugin.xml
 create mode 100644 plugins/org.polarsys.chess.commands/resources/CHESSicon.gif
 create mode 100644 plugins/org.polarsys.chess.commands/src/org/polarsys/chess/commands/Activator.java
 create mode 100644 plugins/org.polarsys.chess.commands/src/org/polarsys/chess/commands/AssignCopy.java
 create mode 100644 plugins/org.polarsys.chess.commands/src/org/polarsys/chess/commands/BuildInstanceCommand.java
 create mode 100644 plugins/org.polarsys.chess.commands/src/org/polarsys/chess/commands/HideRTInformationCommand.java
 create mode 100644 plugins/org.polarsys.chess.commands/src/org/polarsys/chess/commands/ShowRTInformationCommand.java
 create mode 100644 plugins/org.polarsys.chess.discovery/.classpath
 create mode 100644 plugins/org.polarsys.chess.discovery/.gitignore
 create mode 100644 plugins/org.polarsys.chess.discovery/.project
 create mode 100644 plugins/org.polarsys.chess.discovery/.settings/org.eclipse.jdt.core.prefs
 create mode 100644 plugins/org.polarsys.chess.discovery/META-INF/MANIFEST.MF
 create mode 100644 plugins/org.polarsys.chess.discovery/about.html
 create mode 100644 plugins/org.polarsys.chess.discovery/build.properties
 create mode 100644 plugins/org.polarsys.chess.discovery/icons/CHESSicon.gif
 create mode 100644 plugins/org.polarsys.chess.discovery/plugin.pdoc
 create mode 100644 plugins/org.polarsys.chess.discovery/plugin.properties
 create mode 100644 plugins/org.polarsys.chess.discovery/plugin.xml
 create mode 100644 plugins/org.polarsys.chess.discovery/src/org/polarsys/chess/discovery/Activator.java
 create mode 100644 plugins/org.polarsys.chess.discovery/src/org/polarsys/chess/discovery/ui/menu/handler/CHESSDiscoveryAction.java
 create mode 100644 plugins/org.polarsys.chess.discovery/src/org/polarsys/chess/discovery/ui/menu/handler/CHESSDiscoveryHandler.java
 create mode 100644 plugins/org.polarsys.chess.discovery/src/org/polarsys/chess/discovery/ui/wizards/DiscoveryComponent.java
 create mode 100644 plugins/org.polarsys.chess.extra.site/.project
 create mode 100644 plugins/org.polarsys.chess.extra.site/about.html
 create mode 100644 plugins/org.polarsys.chess.extra.site/chess-extra.xmi
 create mode 100644 plugins/org.polarsys.chess.extra.site/site.xml
 create mode 100644 plugins/org.polarsys.chess.feature/.project
 create mode 100644 plugins/org.polarsys.chess.feature/build.properties
 create mode 100644 plugins/org.polarsys.chess.feature/epl-v10.html
 create mode 100644 plugins/org.polarsys.chess.feature/feature.xml
 create mode 100644 plugins/org.polarsys.chess.feature/license.html
 create mode 100644 plugins/org.polarsys.chess.m2m/.classpath
 create mode 100644 plugins/org.polarsys.chess.m2m/.gitignore
 create mode 100644 plugins/org.polarsys.chess.m2m/.project
 create mode 100644 plugins/org.polarsys.chess.m2m/.settings/org.eclipse.jdt.core.prefs
 create mode 100644 plugins/org.polarsys.chess.m2m/META-INF/MANIFEST.MF
 create mode 100644 plugins/org.polarsys.chess.m2m/about.html
 create mode 100644 plugins/org.polarsys.chess.m2m/build.properties
 create mode 100644 plugins/org.polarsys.chess.m2m/license/Copyright-CeilingCalculator.txt
 create mode 100644 plugins/org.polarsys.chess.m2m/license/Copyright.txt
 create mode 100644 plugins/org.polarsys.chess.m2m/plugin.xml
 create mode 100644 plugins/org.polarsys.chess.m2m/src/org/polarsys/chess/m2m/AbstractQVToUIHandler.java
 create mode 100644 plugins/org.polarsys.chess.m2m/src/org/polarsys/chess/m2m/AcceleoMarte2mastProxy.java
 create mode 100644 plugins/org.polarsys.chess.m2m/src/org/polarsys/chess/m2m/Activator.java
 create mode 100644 plugins/org.polarsys.chess.m2m/src/org/polarsys/chess/m2m/AnalysisContextSelectionDialog.java
 create mode 100644 plugins/org.polarsys.chess.m2m/src/org/polarsys/chess/m2m/End2EndResultDialog.java
 create mode 100644 plugins/org.polarsys.chess.m2m/src/org/polarsys/chess/m2m/PurgePIMHandler.java
 create mode 100644 plugins/org.polarsys.chess.m2m/src/org/polarsys/chess/m2m/QVToTransformation.java
 create mode 100644 plugins/org.polarsys.chess.m2m/src/org/polarsys/chess/m2m/QVToUIAction.java
 create mode 100644 plugins/org.polarsys.chess.m2m/src/org/polarsys/chess/m2m/QVToUIHandlerEnd2End.java
 create mode 100644 plugins/org.polarsys.chess.m2m/src/org/polarsys/chess/m2m/QVToUIHandlerVERDE.java
 create mode 100644 plugins/org.polarsys.chess.m2m/src/org/polarsys/chess/m2m/SchedResultDialog.java
 create mode 100644 plugins/org.polarsys.chess.m2m/src/org/polarsys/chess/m2m/TransUtil.java
 create mode 100644 plugins/org.polarsys.chess.m2m/src/org/polarsys/chess/m2m/TransformationResultsData.java
 create mode 100644 plugins/org.polarsys.chess.m2m/src/org/polarsys/chess/m2m/backpropagation/BackpropagationFullVERDE.java
 create mode 100644 plugins/org.polarsys.chess.m2m/src/org/polarsys/chess/m2m/blackbox/Java4QVTutils.java
 create mode 100644 plugins/org.polarsys.chess.m2m/src/org/polarsys/chess/m2m/blackbox/VSLUtils.java
 create mode 100644 plugins/org.polarsys.chess.m2m/src/org/polarsys/chess/m2m/transformations/AbstractTransformation.java
 create mode 100644 plugins/org.polarsys.chess.m2m/src/org/polarsys/chess/m2m/transformations/PIMPSMTransformationEnd2End.java
 create mode 100644 plugins/org.polarsys.chess.m2m/src/org/polarsys/chess/m2m/transformations/PIMPSMTransformationVERDE.java
 create mode 100644 plugins/org.polarsys.chess.m2m/transformations/BuildMultiInstance.qvto
 create mode 100644 plugins/org.polarsys.chess.m2m/transformations/CHESS_CeilingAssignment.qvto
 create mode 100644 plugins/org.polarsys.chess.m2m/transformations/CHESS_PIM2PSM_Inst_full_VERDE.qvto
 create mode 100644 plugins/org.polarsys.chess.m2m/transformations/MARTEUtils.qvto
 create mode 100644 plugins/org.polarsys.chess.m2m/transformations/ProfileUtils_Inst_full.qvto
 create mode 100644 plugins/org.polarsys.chess.m2m/transformations/RemoveMultiInstance.qvto
 create mode 100644 plugins/org.polarsys.chess.m2m/transformations/UMLUtils_Inst_full.qvto
 create mode 100644 plugins/org.polarsys.chess.m2m/transformations/Unused.qvto
 create mode 100644 plugins/org.polarsys.chess.service/.classpath
 create mode 100644 plugins/org.polarsys.chess.service/.gitignore
 create mode 100644 plugins/org.polarsys.chess.service/.project
 create mode 100644 plugins/org.polarsys.chess.service/.settings/org.eclipse.jdt.core.prefs
 create mode 100644 plugins/org.polarsys.chess.service/META-INF/MANIFEST.MF
 create mode 100644 plugins/org.polarsys.chess.service/about.html
 create mode 100644 plugins/org.polarsys.chess.service/build.properties
 create mode 100644 plugins/org.polarsys.chess.service/icons/AnalysisView.gif
 create mode 100644 plugins/org.polarsys.chess.service/icons/CHESSicon.gif
 create mode 100644 plugins/org.polarsys.chess.service/icons/CHESSsuperuser.gif
 create mode 100644 plugins/org.polarsys.chess.service/icons/ComponentView.gif
 create mode 100644 plugins/org.polarsys.chess.service/icons/DependabilityAnalysisView.gif
 create mode 100644 plugins/org.polarsys.chess.service/icons/DependabilityView.gif
 create mode 100644 plugins/org.polarsys.chess.service/icons/DeploymentView.gif
 create mode 100644 plugins/org.polarsys.chess.service/icons/ExtraFunctionalView.gif
 create mode 100644 plugins/org.polarsys.chess.service/icons/NullView.gif
 create mode 100644 plugins/org.polarsys.chess.service/icons/RTAnalysisView.gif
 create mode 100644 plugins/org.polarsys.chess.service/icons/RailwayView.gif
 create mode 100644 plugins/org.polarsys.chess.service/icons/RequirementView.gif
 create mode 100644 plugins/org.polarsys.chess.service/icons/switch.gif
 create mode 100644 plugins/org.polarsys.chess.service/icons/switchDEP.gif
 create mode 100644 plugins/org.polarsys.chess.service/icons/switchRAIL.gif
 create mode 100644 plugins/org.polarsys.chess.service/plugin.xml
 create mode 100644 plugins/org.polarsys.chess.service/src/org/polarsys/chess/service/Activator.java
 create mode 100644 plugins/org.polarsys.chess.service/src/org/polarsys/chess/service/CHESSService.java
 create mode 100644 plugins/org.polarsys.chess.service/src/org/polarsys/chess/service/CHESSServiceFactory.java
 create mode 100644 plugins/org.polarsys.chess.service/src/org/polarsys/chess/service/MatchingStrategy.java
 create mode 100644 plugins/org.polarsys.chess.service/src/org/polarsys/chess/service/PaletteManager.java
 create mode 100644 plugins/org.polarsys.chess.service/src/org/polarsys/chess/service/SelectionListener.java
 create mode 100644 plugins/org.polarsys.chess.service/src/org/polarsys/chess/service/commands/CurrentViewStatus.java
 create mode 100644 plugins/org.polarsys.chess.service/src/org/polarsys/chess/service/commands/HidePortCommand.java
 create mode 100644 plugins/org.polarsys.chess.service/src/org/polarsys/chess/service/commands/SupersuserToggleCommand.java
 create mode 100644 plugins/org.polarsys.chess.service/src/org/polarsys/chess/service/commands/SwitchSourceProvider.java
 create mode 100644 plugins/org.polarsys.chess.service/src/org/polarsys/chess/service/commands/SwitchToDependability.java
 create mode 100644 plugins/org.polarsys.chess.service/src/org/polarsys/chess/service/commands/SwitchToExtraFunctional.java
 create mode 100644 plugins/org.polarsys.chess.service/src/org/polarsys/chess/service/commands/SwitchToRailway.java
 create mode 100644 plugins/org.polarsys.chess.service/src/org/polarsys/chess/service/commands/SwitchToView.java
 create mode 100644 plugins/org.polarsys.chess.service/src/org/polarsys/chess/service/utils/CHESSEditorUtils.java
 create mode 100644 plugins/org.polarsys.chess.validator/.classpath
 create mode 100644 plugins/org.polarsys.chess.validator/.gitignore
 create mode 100644 plugins/org.polarsys.chess.validator/.project
 create mode 100644 plugins/org.polarsys.chess.validator/.settings/org.eclipse.core.resources.prefs
 create mode 100644 plugins/org.polarsys.chess.validator/.settings/org.eclipse.jdt.core.prefs
 create mode 100644 plugins/org.polarsys.chess.validator/.settings/org.eclipse.ocl.modelregistry
 create mode 100644 plugins/org.polarsys.chess.validator/META-INF/MANIFEST.MF
 create mode 100644 plugins/org.polarsys.chess.validator/about.html
 create mode 100644 plugins/org.polarsys.chess.validator/build.properties
 create mode 100644 plugins/org.polarsys.chess.validator/icons/CHESSval.gif
 create mode 100644 plugins/org.polarsys.chess.validator/license/Copyright.txt
 create mode 100644 plugins/org.polarsys.chess.validator/plugin.xml
 create mode 100644 plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/Activator.java
 create mode 100644 plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/AddDiagramElement.java
 create mode 100644 plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/ResourceListener.java
 create mode 100644 plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/ValidationDelegateClientSelector.java
 create mode 100644 plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/command/ChessGenericDiagnostician.java
 create mode 100644 plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/command/ChessGenericValidateCommand.java
 create mode 100644 plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/command/ChessValidatorAdapter.java
 create mode 100644 plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/constraints/Connector_01.java
 create mode 100644 plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/constraints/Connector_02.java
 create mode 100644 plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/constraints/DV_01.java
 create mode 100644 plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/constraints/DV_02.java
 create mode 100644 plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/constraints/DV_03.java
 create mode 100644 plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/constraints/DV_04.java
 create mode 100644 plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/constraints/EFVRT_02.java
 create mode 100644 plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/constraints/EFVRT_03.java
 create mode 100644 plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/constraints/EFVRT_04.java
 create mode 100644 plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/constraints/EFVRT_20.java
 create mode 100644 plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/constraints/EFVRT_30.java
 create mode 100644 plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/constraints/EFVRT_40.java
 create mode 100644 plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/constraints/FV_02.java
 create mode 100644 plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/constraints/FV_03.java
 create mode 100644 plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/constraints/FV_04.java
 create mode 100644 plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/constraints/FV_05.java
 create mode 100644 plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/constraints/FV_06.java
 create mode 100644 plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/constraints/FV_07.java
 create mode 100644 plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/constraints/FlowPorts_01.java
 create mode 100644 plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/constraints/FlowPorts_02.java
 create mode 100644 plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/constraints/FlowPorts_03.java
 create mode 100644 plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/constraints/StringParser.java
 create mode 100644 plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/managers/ActionsLib.java
 create mode 100644 plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/managers/ConstraintsLib.java
 create mode 100644 plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/managers/CrossViewActionLib.java
 create mode 100644 plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/managers/Messages.java
 create mode 100644 plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/managers/ModelManager.java
 create mode 100644 plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/managers/ModelParser.java
 create mode 100644 plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/managers/ViewManager.java
 create mode 100644 plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/managers/messages.properties
 create mode 100644 plugins/org.polarsys.chess.wizards/.classpath
 create mode 100644 plugins/org.polarsys.chess.wizards/.gitignore
 create mode 100644 plugins/org.polarsys.chess.wizards/.project
 create mode 100644 plugins/org.polarsys.chess.wizards/.settings/org.eclipse.jdt.core.prefs
 create mode 100644 plugins/org.polarsys.chess.wizards/META-INF/MANIFEST.MF
 create mode 100644 plugins/org.polarsys.chess.wizards/about.html
 create mode 100644 plugins/org.polarsys.chess.wizards/build.properties
 create mode 100644 plugins/org.polarsys.chess.wizards/plugin.properties
 create mode 100644 plugins/org.polarsys.chess.wizards/plugin.xml
 create mode 100644 plugins/org.polarsys.chess.wizards/resources/CHESSicon.gif
 create mode 100644 plugins/org.polarsys.chess.wizards/src/org/polarsys/chess/wizards/Activator.java
 create mode 100644 plugins/org.polarsys.chess.wizards/src/org/polarsys/chess/wizards/CHESSNewProjectWizard.java
 create mode 100644 plugins/org.polarsys.chess.wizards/src/org/polarsys/chess/wizards/CreateCHESSModelWizard.java
 create mode 100644 plugins/org.polarsys.chess.wizards/src/org/polarsys/chess/wizards/InitModelWizard.java
 create mode 100644 plugins/org.polarsys.chess.wizards/src/org/polarsys/chess/wizards/WorkspaceNewModelStorageProvider.java

diff --git a/plugins/org.polarsys.chess.chessmlprofile/.classpath b/plugins/org.polarsys.chess.chessmlprofile/.classpath
new file mode 100644
index 000000000..96235dae5
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry exported="true" kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/plugins/org.polarsys.chess.chessmlprofile/.gitignore b/plugins/org.polarsys.chess.chessmlprofile/.gitignore
new file mode 100644
index 000000000..ae3c17260
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/plugins/org.polarsys.chess.chessmlprofile/.project b/plugins/org.polarsys.chess.chessmlprofile/.project
new file mode 100644
index 000000000..2a13ef912
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.polarsys.chess.chessmlprofile</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
diff --git a/plugins/org.polarsys.chess.chessmlprofile/.settings/org.eclipse.jdt.core.prefs b/plugins/org.polarsys.chess.chessmlprofile/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 000000000..3f457a04f
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,8 @@
+#Wed Apr 27 11:46:59 CEST 2011
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.6
diff --git a/plugins/org.polarsys.chess.chessmlprofile/META-INF/MANIFEST.MF b/plugins/org.polarsys.chess.chessmlprofile/META-INF/MANIFEST.MF
new file mode 100644
index 000000000..89ff9cad7
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/META-INF/MANIFEST.MF
@@ -0,0 +1,87 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: CHESS ML profile
+Bundle-SymbolicName: org.polarsys.chess.chessmlprofile;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Bundle-ClassPath: .
+Bundle-Vendor: University of Padova
+Bundle-Localization: plugin
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.ui.workbench,
+ org.eclipse.emf.common,
+ org.eclipse.papyrus.marte.static.profile;visibility:=reexport,
+ org.eclipse.emf,
+ org.eclipse.emf.ecore;visibility:=reexport,
+ org.eclipse.emf.ecore.xmi;visibility:=reexport,
+ org.eclipse.uml2.uml;visibility:=reexport,
+ org.eclipse.uml2.types;visibility:=reexport,
+ org.eclipse.papyrus.uml.diagram.common;bundle-version="1.0.0"
+Bundle-ActivationPolicy: lazy
+Export-Package: org.polarsys.chess.chessmlprofile;uses:="org.eclipse.ui.plugin,org.osgi.framework",
+ org.polarsys.chess.chessmlprofile.ComponentModel,
+ org.polarsys.chess.chessmlprofile.ComponentModel.impl,
+ org.polarsys.chess.chessmlprofile.ComponentModel.util,
+ org.polarsys.chess.chessmlprofile.Core,
+ org.polarsys.chess.chessmlprofile.Core.CHESSViews,
+ org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl,
+ org.polarsys.chess.chessmlprofile.Core.CHESSViews.util,
+ org.polarsys.chess.chessmlprofile.Core.impl,
+ org.polarsys.chess.chessmlprofile.Core.util,
+ org.polarsys.chess.chessmlprofile.Dependability.DataFlowCallGraph,
+ org.polarsys.chess.chessmlprofile.Dependability.DataFlowCallGraph.impl,
+ org.polarsys.chess.chessmlprofile.Dependability.DataFlowCallGraph.util,
+ org.polarsys.chess.chessmlprofile.Dependability.DependableComponent,
+ org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.impl,
+ org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.util,
+ org.polarsys.chess.chessmlprofile.Dependability.FMEA,
+ org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEADataTypes,
+ org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEADataTypes.impl,
+ org.polarsys.chess.chessmlprofile.Dependability.FMEA.impl,
+ org.polarsys.chess.chessmlprofile.Dependability.FMEA.util,
+ org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation,
+ org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes,
+ org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.impl,
+ org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl,
+ org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.util,
+ org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans,
+ org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans.impl,
+ org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans.util,
+ org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance,
+ org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.impl,
+ org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.util,
+ org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring,
+ org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.impl,
+ org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.util,
+ org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis,
+ org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.impl,
+ org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.util,
+ org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents,
+ org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.impl,
+ org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.util,
+ org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes,
+ org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.impl,
+ org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.util,
+ org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation,
+ org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl,
+ org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.util,
+ org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis,
+ org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.impl,
+ org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.util,
+ org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline,
+ org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl,
+ org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.util,
+ org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel,
+ org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes,
+ org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.impl,
+ org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.util,
+ org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.impl,
+ org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.util,
+ org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis,
+ org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints,
+ org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.impl,
+ org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.util,
+ org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.impl,
+ org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.util,
+ org.polarsys.chess.chessmlprofile.impl,
+ org.polarsys.chess.chessmlprofile.util
diff --git a/plugins/org.polarsys.chess.chessmlprofile/META-INF/myprofile.ecore b/plugins/org.polarsys.chess.chessmlprofile/META-INF/myprofile.ecore
new file mode 100644
index 000000000..36bb4f0ca
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/META-INF/myprofile.ecore
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage xmi:version="2.0"
+    xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="myprofile"
+    nsURI="http://www.myprofile" nsPrefix="myprofile">
+  <eClassifiers xsi:type="ecore:EClass" name="Stereotype0">
+    <eStructuralFeatures xsi:type="ecore:EReference" name="base_Class" ordered="false"
+        lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Class"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="myAtt" ordered="false"
+        lowerBound="1" eType="ecore:EClass ../model/MARTE_Library.ecore#//BasicNFP_Types/NFP_Real"/>
+  </eClassifiers>
+</ecore:EPackage>
diff --git a/plugins/org.polarsys.chess.chessmlprofile/META-INF/myprofile.genmodel b/plugins/org.polarsys.chess.chessmlprofile/META-INF/myprofile.genmodel
new file mode 100644
index 000000000..872c80e1a
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/META-INF/myprofile.genmodel
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<genmodel:GenModel xmi:version="2.0"
+    xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:genmodel="http://www.eclipse.org/uml2/2.2.0/GenModel" modelDirectory="/org.polarsys.chess.chessmlprofile/src"
+    modelPluginID="org.polarsys.chess.chessmlprofile" modelName="Myprofile" importerID="org.eclipse.uml2.uml.ecore.importer"
+    complianceLevel="5.0" copyrightFields="false" usedGenPackages="platform:/plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore ../model/MARTE.genmodel#//MARTE_Library platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml">
+  <genAnnotations source="http://www.eclipse.org/emf/2002/GenModel/importer/org.eclipse.uml2.uml.ecore.importer">
+    <details key="ECORE_TAGGED_VALUES" value="PROCESS"/>
+    <details key="UNION_PROPERTIES" value="REPORT"/>
+    <details key="DUPLICATE_FEATURES" value="DISCARD"/>
+    <details key="SUBSETTING_PROPERTIES" value="REPORT"/>
+    <details key="COMMENTS" value="PROCESS"/>
+    <details key="DUPLICATE_FEATURE_INHERITANCE" value="DISCARD"/>
+    <details key="DUPLICATE_OPERATIONS" value="DISCARD"/>
+    <details key="INVARIANT_CONSTRAINTS" value="PROCESS"/>
+    <details key="REDEFINING_PROPERTIES" value="REPORT"/>
+    <details key="ANNOTATION_DETAILS" value="PROCESS"/>
+    <details key="DUPLICATE_OPERATION_INHERITANCE" value="DISCARD"/>
+    <details key="REDEFINING_OPERATIONS" value="REPORT"/>
+    <details key="DERIVED_FEATURES" value="PROCESS"/>
+    <details key="OPERATION_BODIES" value="IGNORE"/>
+    <details key="CAMEL_CASE_NAMES" value="IGNORE"/>
+    <details key="SUPER_CLASS_ORDER" value="PROCESS"/>
+  </genAnnotations>
+  <foreignModel>../model/myprofile.profile.uml</foreignModel>
+  <genPackages xsi:type="genmodel:GenPackage" prefix="myprofile" resource="XML" disposableProviderFactory="true"
+      ecorePackage="myprofile.ecore#/">
+    <genClasses xsi:type="genmodel:GenClass" ecoreClass="myprofile.ecore#//Stereotype0">
+      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+          propertySortChoices="true" ecoreFeature="ecore:EReference myprofile.ecore#//Stereotype0/base_Class"/>
+      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute myprofile.ecore#//Stereotype0/myAtt"/>
+    </genClasses>
+  </genPackages>
+</genmodel:GenModel>
diff --git a/plugins/org.polarsys.chess.chessmlprofile/about.html b/plugins/org.polarsys.chess.chessmlprofile/about.html
new file mode 100644
index 000000000..209103075
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/about.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+ 
+<p>November 14, 2008</p>	
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
+being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content.  Check the Redistributor's license that was 
+provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
+
+</body>
+</html>
\ No newline at end of file
diff --git a/plugins/org.polarsys.chess.chessmlprofile/build.properties b/plugins/org.polarsys.chess.chessmlprofile/build.properties
new file mode 100644
index 000000000..e8ab9edf3
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/build.properties
@@ -0,0 +1,19 @@
+bin.includes = .,\
+               model/,\
+               META-INF/,\
+               plugin.xml,\
+               plugin.properties,\
+               icons/,\
+               library/,\
+               readme.txt,\
+               build.properties,\
+               palettes/,\
+               doc/,\
+               .classpath
+jars.compile.order = .
+source.. = src/
+output.. = bin/
+src.includes = icons/,\
+               library/,\
+               model/,\
+               readme.txt
diff --git a/plugins/org.polarsys.chess.chessmlprofile/icons/CHESSicon.gif b/plugins/org.polarsys.chess.chessmlprofile/icons/CHESSicon.gif
new file mode 100644
index 0000000000000000000000000000000000000000..1659c3fec7f988789d2ce4d6a6c770eab90089bf
GIT binary patch
literal 612
zcmZ?wbhEHb6krfwI9AHQ!_LXa#Vx?YE6Bquz{@AZ$1lP!ASNU%AtEXzCN3>5AtNCv
zD=8%>C9NPUrz9t@sj8-}uBok|VW6XHq^ECeU}$P&WMOJ*X=d){?GqXl6dDwq5Eqx7
znfcyV`n|twVSav5enC+|;fG+Q4<RZgg+(7iR6m5Oeh5?h5T^biOyfhi`iF4M@{-bz
z5gH#OG%L%?KSt|)j5qq2X!<eP@?(l+V}1R{RO_~umXEovpYq&3<$H8>bar=j_4oEo
zoG@Y1goz6mELgH=@$#k1RxV$$Vcoh7>(+1Duwm22O`A7u`o5%l>y|Cswr>5ta?;Kn
zJASU7ylwa1-|MFDK6v=xfdfCbFZr<ph?X8de(dD&6F>K?{<&|>&wXppojv#K<nCYR
z4&J(X^Uj?+_wV0-{OHk(7cahi{`~FRx9{J-|M>Ca=g*)2etiG)`}e=!zy1Kh-+zCB
z;2#A1|MUO<-~a#r{U;0*f3h%gG1N2YFaQB4P8iq^Hk39s7qm9Fca&xnl%{ny^#pS<
z+gmX4g_rg;do(2&G^r*xxi_VYGD!Havna|kar%icif8pCHAR>;>BclA&N}GoDJkS&
zD<JLdb}+?BfS1#*G%qj5hJ#noCAHL1n1`QLrb&v8pIgj%LTP}~f#!IHpo2ZJR)NL&
zt+~bi)^R3F7k+%`$|dUi<V;{v(ot@H%WD@_2DcvN6xR%x;qkD^g-5qkjcv11^O0_G
b<*XdewhqCmlIEK>)P$(>S-UhcFjxZs;b|(N

literal 0
HcmV?d00001

diff --git a/plugins/org.polarsys.chess.chessmlprofile/model/CHESS.genmodel b/plugins/org.polarsys.chess.chessmlprofile/model/CHESS.genmodel
new file mode 100644
index 000000000..bab543a98
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/model/CHESS.genmodel
@@ -0,0 +1,743 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:genmodel="http://www.eclipse.org/uml2/2.2.0/GenModel"
+    modelDirectory="/org.polarsys.chess.chessmlprofile/src" editDirectory="/org.polarsys.chess.chessmlprofile.edit/src"
+    editorDirectory="/org.polarsys.chess.chessmlprofile.editor/src" modelPluginID="org.polarsys.chess.chessmlprofile"
+    modelName="CHESS" editPluginClass="org.polarsys.chess.chessmlprofile.provider.CHESSEditPlugin"
+    editorPluginClass="org.polarsys.chess.chessmlprofile.presentation.CHESSEditorPlugin"
+    importerID="org.eclipse.uml2.uml.ecore.importer" complianceLevel="5.0" copyrightFields="false"
+    editPluginID="org.polarsys.chess.chessmlprofile.edit" editorPluginID="org.polarsys.chess.chessmlprofile.editor"
+    usedGenPackages="platform:/plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore MARTE.genmodel#//MARTE MARTE.genmodel#//MARTE_Library platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml platform:/plugin/org.eclipse.uml2.types/model/Types.genmodel#//types MARTE.genmodel#//MARTE_Library/BasicNFP_Types">
+  <genAnnotations source="http://www.eclipse.org/emf/2002/GenModel/importer/org.eclipse.uml2.uml.ecore.importer">
+    <details key="ECORE_TAGGED_VALUES" value="PROCESS"/>
+    <details key="UNION_PROPERTIES" value="REPORT"/>
+    <details key="DUPLICATE_FEATURES" value="DISCARD"/>
+    <details key="SUBSETTING_PROPERTIES" value="REPORT"/>
+    <details key="COMMENTS" value="PROCESS"/>
+    <details key="DUPLICATE_FEATURE_INHERITANCE" value="DISCARD"/>
+    <details key="DUPLICATE_OPERATIONS" value="DISCARD"/>
+    <details key="INVARIANT_CONSTRAINTS" value="PROCESS"/>
+    <details key="REDEFINING_PROPERTIES" value="REPORT"/>
+    <details key="ANNOTATION_DETAILS" value="PROCESS"/>
+    <details key="DUPLICATE_OPERATION_INHERITANCE" value="DISCARD"/>
+    <details key="REDEFINING_OPERATIONS" value="REPORT"/>
+    <details key="DERIVED_FEATURES" value="PROCESS"/>
+    <details key="OPERATION_BODIES" value="IGNORE"/>
+    <details key="CAMEL_CASE_NAMES" value="IGNORE"/>
+    <details key="SUPER_CLASS_ORDER" value="PROCESS"/>
+    <details key="UNTYPED_PROPERTIES" value="REPORT"/>
+    <details key="VALIDATION_DELEGATES" value="IGNORE"/>
+    <details key="OPPOSITE_ROLE_NAMES" value="IGNORE"/>
+    <details key="PROPERTY_DEFAULT_EXPRESSIONS" value="IGNORE"/>
+    <details key="NON_API_INVARIANTS" value="IGNORE"/>
+    <details key="INVOCATION_DELEGATES" value="IGNORE"/>
+  </genAnnotations>
+  <foreignModel>CHESS.profile.uml</foreignModel>
+  <genPackages xsi:type="genmodel:GenPackage" prefix="chessmlprofile" basePackage="org.polarsys.chess"
+      disposableProviderFactory="true" ecorePackage="chessmlprofile.ecore#/">
+    <genClasses xsi:type="genmodel:GenClass" ecoreClass="chessmlprofile.ecore#//dummy"/>
+    <nestedGenPackages xsi:type="genmodel:GenPackage" prefix="Core" basePackage="org.polarsys.chess.chessmlprofile"
+        resource="XML" disposableProviderFactory="true" ecorePackage="chessmlprofile.ecore#//Core">
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="chessmlprofile.ecore#//Core/CHESS">
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Core/CHESS/base_Model"/>
+        <genFeatures xsi:type="genmodel:GenFeature" property="None" children="true"
+            createChild="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Core/CHESS/analysisView"/>
+        <genFeatures xsi:type="genmodel:GenFeature" property="None" children="true"
+            createChild="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Core/CHESS/deploymentView"/>
+        <genFeatures xsi:type="genmodel:GenFeature" property="None" children="true"
+            createChild="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Core/CHESS/requirementView"/>
+        <genFeatures xsi:type="genmodel:GenFeature" property="None" children="true"
+            createChild="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Core/CHESS/componentView"/>
+        <genFeatures xsi:type="genmodel:GenFeature" property="None" children="true"
+            createChild="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Core/CHESS/systemView"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="chessmlprofile.ecore#//Core/CHGaResourcePlatform">
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Core/CHGaResourcePlatform/base_InstanceSpecification"/>
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Core/CHGaResourcePlatform/base_Package"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="chessmlprofile.ecore#//Core/IdentifInstance">
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Core/IdentifInstance/base_InstanceSpecification"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Core/IdentifInstance/id"/>
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Core/IdentifInstance/sourceInstanceSpec"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="chessmlprofile.ecore#//Core/IdentifSlot">
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Core/IdentifSlot/base_Slot"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Core/IdentifSlot/id"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="chessmlprofile.ecore#//Core/MultiInstance">
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Core/MultiInstance/base_InstanceSpecification"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Core/MultiInstance/upperBound"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="chessmlprofile.ecore#//Core/MultiSlot">
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Core/MultiSlot/base_Slot"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Core/MultiSlot/upperBound"/>
+      </genClasses>
+      <nestedGenPackages xsi:type="genmodel:GenPackage" prefix="CHESSViews" basePackage="org.polarsys.chess.chessmlprofile.Core"
+          resource="XML" disposableProviderFactory="true" ecorePackage="chessmlprofile.ecore#//Core/CHESSViews">
+        <genClasses xsi:type="genmodel:GenClass" ecoreClass="chessmlprofile.ecore#//Core/CHESSViews/ExtraFunctionalView">
+          <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+              propertySortChoices="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Core/CHESSViews/ExtraFunctionalView/base_Package"/>
+          <genFeatures xsi:type="genmodel:GenFeature" property="None" children="true"
+              createChild="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Core/CHESSViews/ExtraFunctionalView/timingdataflowview"/>
+        </genClasses>
+        <genClasses xsi:type="genmodel:GenClass" ecoreClass="chessmlprofile.ecore#//Core/CHESSViews/TimingDataFlowView">
+          <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+              propertySortChoices="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Core/CHESSViews/TimingDataFlowView/base_Package"/>
+        </genClasses>
+        <genClasses xsi:type="genmodel:GenClass" ecoreClass="chessmlprofile.ecore#//Core/CHESSViews/RTAnalysisView">
+          <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+              propertySortChoices="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Core/CHESSViews/RTAnalysisView/base_Package"/>
+        </genClasses>
+        <genClasses xsi:type="genmodel:GenClass" ecoreClass="chessmlprofile.ecore#//Core/CHESSViews/DeploymentView">
+          <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+              propertySortChoices="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Core/CHESSViews/DeploymentView/base_Package"/>
+          <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+              propertySortChoices="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Core/CHESSViews/DeploymentView/AssignList"/>
+        </genClasses>
+        <genClasses xsi:type="genmodel:GenClass" ecoreClass="chessmlprofile.ecore#//Core/CHESSViews/RequirementView">
+          <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+              propertySortChoices="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Core/CHESSViews/RequirementView/base_Package"/>
+        </genClasses>
+        <genClasses xsi:type="genmodel:GenClass" ecoreClass="chessmlprofile.ecore#//Core/CHESSViews/ComponentView">
+          <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+              propertySortChoices="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Core/CHESSViews/ComponentView/base_Package"/>
+        </genClasses>
+        <genClasses xsi:type="genmodel:GenClass" ecoreClass="chessmlprofile.ecore#//Core/CHESSViews/DependabilityAnalysisView">
+          <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+              propertySortChoices="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Core/CHESSViews/DependabilityAnalysisView/base_Package"/>
+        </genClasses>
+        <genClasses xsi:type="genmodel:GenClass" ecoreClass="chessmlprofile.ecore#//Core/CHESSViews/SystemView">
+          <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+              propertySortChoices="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Core/CHESSViews/SystemView/base_Package"/>
+        </genClasses>
+        <genClasses xsi:type="genmodel:GenClass" ecoreClass="chessmlprofile.ecore#//Core/CHESSViews/PSMView">
+          <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+              propertySortChoices="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Core/CHESSViews/PSMView/base_Package"/>
+        </genClasses>
+        <genClasses xsi:type="genmodel:GenClass" ecoreClass="chessmlprofile.ecore#//Core/CHESSViews/AnalysisView">
+          <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+              propertySortChoices="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Core/CHESSViews/AnalysisView/base_Package"/>
+          <genFeatures xsi:type="genmodel:GenFeature" property="None" children="true"
+              createChild="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Core/CHESSViews/AnalysisView/rtanalysisview"/>
+        </genClasses>
+      </nestedGenPackages>
+    </nestedGenPackages>
+    <nestedGenPackages xsi:type="genmodel:GenPackage" prefix="Dependability" disposableProviderFactory="true"
+        ecorePackage="chessmlprofile.ecore#//Dependability">
+      <nestedGenPackages xsi:type="genmodel:GenPackage" prefix="FailurePropagation"
+          resource="XML" disposableProviderFactory="true" ecorePackage="chessmlprofile.ecore#//Dependability/FailurePropagation">
+        <genClasses xsi:type="genmodel:GenClass" ecoreClass="chessmlprofile.ecore#//Dependability/FailurePropagation/FPTC">
+          <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Dependability/FailurePropagation/FPTC/fptc"/>
+          <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+              propertySortChoices="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Dependability/FailurePropagation/FPTC/base_Comment"/>
+        </genClasses>
+        <genClasses xsi:type="genmodel:GenClass" ecoreClass="chessmlprofile.ecore#//Dependability/FailurePropagation/FailurePropagationAnalysis"/>
+        <genClasses xsi:type="genmodel:GenClass" ecoreClass="chessmlprofile.ecore#//Dependability/FailurePropagation/FPTCSpecification">
+          <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+              propertySortChoices="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Dependability/FailurePropagation/FPTCSpecification/base_Comment"/>
+          <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Dependability/FailurePropagation/FPTCSpecification/failure"/>
+          <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+              propertySortChoices="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Dependability/FailurePropagation/FPTCSpecification/partWithPort"/>
+        </genClasses>
+        <genClasses xsi:type="genmodel:GenClass" ecoreClass="chessmlprofile.ecore#//Dependability/FailurePropagation/FPTCPortSlot">
+          <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+              propertySortChoices="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Dependability/FailurePropagation/FPTCPortSlot/FPTCSpecification"/>
+          <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+              propertySortChoices="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Dependability/FailurePropagation/FPTCPortSlot/base_Slot"/>
+        </genClasses>
+        <genClasses xsi:type="genmodel:GenClass" ecoreClass="chessmlprofile.ecore#//Dependability/FailurePropagation/FI4FA">
+          <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Dependability/FailurePropagation/FI4FA/fi4fa"/>
+        </genClasses>
+        <genClasses xsi:type="genmodel:GenClass" ecoreClass="chessmlprofile.ecore#//Dependability/FailurePropagation/FI4FASpecification"/>
+        <genClasses xsi:type="genmodel:GenClass" ecoreClass="chessmlprofile.ecore#//Dependability/FailurePropagation/ACIDAvoidable">
+          <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Dependability/FailurePropagation/ACIDAvoidable/a"/>
+          <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Dependability/FailurePropagation/ACIDAvoidable/c"/>
+          <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+              propertySortChoices="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Dependability/FailurePropagation/ACIDAvoidable/base_Comment"/>
+          <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Dependability/FailurePropagation/ACIDAvoidable/i"/>
+          <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Dependability/FailurePropagation/ACIDAvoidable/d"/>
+        </genClasses>
+        <genClasses xsi:type="genmodel:GenClass" ecoreClass="chessmlprofile.ecore#//Dependability/FailurePropagation/ACIDMitigation">
+          <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+              propertySortChoices="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Dependability/FailurePropagation/ACIDMitigation/base_Comment"/>
+          <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Dependability/FailurePropagation/ACIDMitigation/a"/>
+          <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Dependability/FailurePropagation/ACIDMitigation/c"/>
+          <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Dependability/FailurePropagation/ACIDMitigation/i"/>
+          <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Dependability/FailurePropagation/ACIDMitigation/d"/>
+        </genClasses>
+        <genClasses xsi:type="genmodel:GenClass" ecoreClass="chessmlprofile.ecore#//Dependability/FailurePropagation/FI4FAAnalysis"/>
+        <nestedGenPackages xsi:type="genmodel:GenPackage" prefix="FailurePropagationDataTypes"
+            disposableProviderFactory="true" ecorePackage="chessmlprofile.ecore#//Dependability/FailurePropagation/FailurePropagationDataTypes">
+          <genEnums xsi:type="genmodel:GenEnum" typeSafeEnumCompatible="false" ecoreEnum="chessmlprofile.ecore#//Dependability/FailurePropagation/FailurePropagationDataTypes/D_avoidable">
+            <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="chessmlprofile.ecore#//Dependability/FailurePropagation/FailurePropagationDataTypes/D_avoidable/unspecified"/>
+            <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="chessmlprofile.ecore#//Dependability/FailurePropagation/FailurePropagationDataTypes/D_avoidable/impermanence"/>
+            <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="chessmlprofile.ecore#//Dependability/FailurePropagation/FailurePropagationDataTypes/D_avoidable/none"/>
+          </genEnums>
+          <genEnums xsi:type="genmodel:GenEnum" typeSafeEnumCompatible="false" ecoreEnum="chessmlprofile.ecore#//Dependability/FailurePropagation/FailurePropagationDataTypes/I_avoidable">
+            <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="chessmlprofile.ecore#//Dependability/FailurePropagation/FailurePropagationDataTypes/I_avoidable/unspecified"/>
+            <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="chessmlprofile.ecore#//Dependability/FailurePropagation/FailurePropagationDataTypes/I_avoidable/interference"/>
+            <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="chessmlprofile.ecore#//Dependability/FailurePropagation/FailurePropagationDataTypes/I_avoidable/none"/>
+          </genEnums>
+          <genEnums xsi:type="genmodel:GenEnum" typeSafeEnumCompatible="false" ecoreEnum="chessmlprofile.ecore#//Dependability/FailurePropagation/FailurePropagationDataTypes/C_avoidable">
+            <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="chessmlprofile.ecore#//Dependability/FailurePropagation/FailurePropagationDataTypes/C_avoidable/unspecified"/>
+            <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="chessmlprofile.ecore#//Dependability/FailurePropagation/FailurePropagationDataTypes/C_avoidable/inconsistency"/>
+            <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="chessmlprofile.ecore#//Dependability/FailurePropagation/FailurePropagationDataTypes/C_avoidable/none"/>
+          </genEnums>
+          <genEnums xsi:type="genmodel:GenEnum" typeSafeEnumCompatible="false" ecoreEnum="chessmlprofile.ecore#//Dependability/FailurePropagation/FailurePropagationDataTypes/FailureType">
+            <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="chessmlprofile.ecore#//Dependability/FailurePropagation/FailurePropagationDataTypes/FailureType/late"/>
+            <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="chessmlprofile.ecore#//Dependability/FailurePropagation/FailurePropagationDataTypes/FailureType/early"/>
+            <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="chessmlprofile.ecore#//Dependability/FailurePropagation/FailurePropagationDataTypes/FailureType/valueSubtle"/>
+            <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="chessmlprofile.ecore#//Dependability/FailurePropagation/FailurePropagationDataTypes/FailureType/valueCoarse"/>
+            <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="chessmlprofile.ecore#//Dependability/FailurePropagation/FailurePropagationDataTypes/FailureType/omission"/>
+            <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="chessmlprofile.ecore#//Dependability/FailurePropagation/FailurePropagationDataTypes/FailureType/commission"/>
+            <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="chessmlprofile.ecore#//Dependability/FailurePropagation/FailurePropagationDataTypes/FailureType/noFailure"/>
+            <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="chessmlprofile.ecore#//Dependability/FailurePropagation/FailurePropagationDataTypes/FailureType/variable"/>
+            <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="chessmlprofile.ecore#//Dependability/FailurePropagation/FailurePropagationDataTypes/FailureType/wildcard"/>
+          </genEnums>
+          <genEnums xsi:type="genmodel:GenEnum" typeSafeEnumCompatible="false" ecoreEnum="chessmlprofile.ecore#//Dependability/FailurePropagation/FailurePropagationDataTypes/A_avoidable">
+            <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="chessmlprofile.ecore#//Dependability/FailurePropagation/FailurePropagationDataTypes/A_avoidable/unspecified"/>
+            <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="chessmlprofile.ecore#//Dependability/FailurePropagation/FailurePropagationDataTypes/A_avoidable/incompletion"/>
+            <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="chessmlprofile.ecore#//Dependability/FailurePropagation/FailurePropagationDataTypes/A_avoidable/none"/>
+          </genEnums>
+          <genEnums xsi:type="genmodel:GenEnum" typeSafeEnumCompatible="false" ecoreEnum="chessmlprofile.ecore#//Dependability/FailurePropagation/FailurePropagationDataTypes/A_mitigation">
+            <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="chessmlprofile.ecore#//Dependability/FailurePropagation/FailurePropagationDataTypes/A_mitigation/unspecified"/>
+            <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="chessmlprofile.ecore#//Dependability/FailurePropagation/FailurePropagationDataTypes/A_mitigation/all_or_nothing"/>
+            <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="chessmlprofile.ecore#//Dependability/FailurePropagation/FailurePropagationDataTypes/A_mitigation/all_or_compensation"/>
+            <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="chessmlprofile.ecore#//Dependability/FailurePropagation/FailurePropagationDataTypes/A_mitigation/none"/>
+          </genEnums>
+          <genEnums xsi:type="genmodel:GenEnum" typeSafeEnumCompatible="false" ecoreEnum="chessmlprofile.ecore#//Dependability/FailurePropagation/FailurePropagationDataTypes/C_mitigation">
+            <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="chessmlprofile.ecore#//Dependability/FailurePropagation/FailurePropagationDataTypes/C_mitigation/unspecified"/>
+            <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="chessmlprofile.ecore#//Dependability/FailurePropagation/FailurePropagationDataTypes/C_mitigation/full_consistency"/>
+            <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="chessmlprofile.ecore#//Dependability/FailurePropagation/FailurePropagationDataTypes/C_mitigation/range_violation_allowed"/>
+            <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="chessmlprofile.ecore#//Dependability/FailurePropagation/FailurePropagationDataTypes/C_mitigation/none"/>
+          </genEnums>
+          <genEnums xsi:type="genmodel:GenEnum" typeSafeEnumCompatible="false" ecoreEnum="chessmlprofile.ecore#//Dependability/FailurePropagation/FailurePropagationDataTypes/I_mitigation">
+            <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="chessmlprofile.ecore#//Dependability/FailurePropagation/FailurePropagationDataTypes/I_mitigation/unspecified"/>
+            <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="chessmlprofile.ecore#//Dependability/FailurePropagation/FailurePropagationDataTypes/I_mitigation/portable_level"/>
+            <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="chessmlprofile.ecore#//Dependability/FailurePropagation/FailurePropagationDataTypes/I_mitigation/serializable"/>
+            <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="chessmlprofile.ecore#//Dependability/FailurePropagation/FailurePropagationDataTypes/I_mitigation/none"/>
+          </genEnums>
+          <genEnums xsi:type="genmodel:GenEnum" typeSafeEnumCompatible="false" ecoreEnum="chessmlprofile.ecore#//Dependability/FailurePropagation/FailurePropagationDataTypes/D_mitigation">
+            <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="chessmlprofile.ecore#//Dependability/FailurePropagation/FailurePropagationDataTypes/D_mitigation/unspecified"/>
+            <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="chessmlprofile.ecore#//Dependability/FailurePropagation/FailurePropagationDataTypes/D_mitigation/no_loss"/>
+            <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="chessmlprofile.ecore#//Dependability/FailurePropagation/FailurePropagationDataTypes/D_mitigation/partial_loss_allowed"/>
+            <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="chessmlprofile.ecore#//Dependability/FailurePropagation/FailurePropagationDataTypes/D_mitigation/none"/>
+          </genEnums>
+        </nestedGenPackages>
+      </nestedGenPackages>
+      <nestedGenPackages xsi:type="genmodel:GenPackage" prefix="DependableComponent"
+          resource="XML" disposableProviderFactory="true" ecorePackage="chessmlprofile.ecore#//Dependability/DependableComponent">
+        <genClasses xsi:type="genmodel:GenClass" ecoreClass="chessmlprofile.ecore#//Dependability/DependableComponent/Propagation">
+          <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Dependability/DependableComponent/Propagation/prob"/>
+          <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Dependability/DependableComponent/Propagation/propDelay"/>
+          <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+              propertySortChoices="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Dependability/DependableComponent/Propagation/base_Abstraction"/>
+          <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+              propertySortChoices="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Dependability/DependableComponent/Propagation/base_Comment"/>
+          <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+              propertySortChoices="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Dependability/DependableComponent/Propagation/base_Connector"/>
+          <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+              propertySortChoices="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Dependability/DependableComponent/Propagation/base_InstanceSpecification"/>
+          <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Dependability/DependableComponent/Propagation/transfFunct"/>
+          <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+              propertySortChoices="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Dependability/DependableComponent/Propagation/base_Transition"/>
+          <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Dependability/DependableComponent/Propagation/weight"/>
+        </genClasses>
+        <genClasses xsi:type="genmodel:GenClass" ecoreClass="chessmlprofile.ecore#//Dependability/DependableComponent/DependableComponent">
+          <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+              propertySortChoices="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Dependability/DependableComponent/DependableComponent/base_Component"/>
+          <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+              propertySortChoices="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Dependability/DependableComponent/DependableComponent/errorModel"/>
+          <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+              propertySortChoices="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Dependability/DependableComponent/DependableComponent/base_Property"/>
+        </genClasses>
+      </nestedGenPackages>
+      <nestedGenPackages xsi:type="genmodel:GenPackage" prefix="ThreatsPropagation"
+          resource="XML" disposableProviderFactory="true" ecorePackage="chessmlprofile.ecore#//Dependability/ThreatsPropagation">
+        <genEnums xsi:type="genmodel:GenEnum" typeSafeEnumCompatible="false" ecoreEnum="chessmlprofile.ecore#//Dependability/ThreatsPropagation/DurationType">
+          <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="chessmlprofile.ecore#//Dependability/ThreatsPropagation/DurationType/transient"/>
+          <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="chessmlprofile.ecore#//Dependability/ThreatsPropagation/DurationType/permanent"/>
+        </genEnums>
+        <genClasses xsi:type="genmodel:GenClass" ecoreClass="chessmlprofile.ecore#//Dependability/ThreatsPropagation/InternalFault">
+          <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+              propertySortChoices="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Dependability/ThreatsPropagation/InternalFault/base_Transition"/>
+          <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Dependability/ThreatsPropagation/InternalFault/permanentProb"/>
+          <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Dependability/ThreatsPropagation/InternalFault/transfFunct"/>
+          <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+              propertySortChoices="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Dependability/ThreatsPropagation/InternalFault/property"/>
+          <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+              propertySortChoices="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Dependability/ThreatsPropagation/InternalFault/childFailure"/>
+          <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Dependability/ThreatsPropagation/InternalFault/occurrence"/>
+          <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Dependability/ThreatsPropagation/InternalFault/transientDuration"/>
+        </genClasses>
+        <genClasses xsi:type="genmodel:GenClass" ecoreClass="chessmlprofile.ecore#//Dependability/ThreatsPropagation/ExternalFault">
+          <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+              propertySortChoices="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Dependability/ThreatsPropagation/ExternalFault/base_Transition"/>
+          <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+              propertySortChoices="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Dependability/ThreatsPropagation/ExternalFault/fromPort"/>
+          <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Dependability/ThreatsPropagation/ExternalFault/propagationCondition"/>
+          <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Dependability/ThreatsPropagation/ExternalFault/probability"/>
+          <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Dependability/ThreatsPropagation/ExternalFault/unit"/>
+          <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Dependability/ThreatsPropagation/ExternalFault/type"/>
+          <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Dependability/ThreatsPropagation/ExternalFault/transfFunct"/>
+        </genClasses>
+        <genClasses xsi:type="genmodel:GenClass" ecoreClass="chessmlprofile.ecore#//Dependability/ThreatsPropagation/Error">
+          <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Dependability/ThreatsPropagation/Error/type"/>
+          <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Dependability/ThreatsPropagation/Error/vanishingTime"/>
+        </genClasses>
+        <genClasses xsi:type="genmodel:GenClass" ecoreClass="chessmlprofile.ecore#//Dependability/ThreatsPropagation/ThreatState">
+          <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+              propertySortChoices="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Dependability/ThreatsPropagation/ThreatState/base_State"/>
+          <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Dependability/ThreatsPropagation/ThreatState/probability"/>
+          <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Dependability/ThreatsPropagation/ThreatState/unit"/>
+        </genClasses>
+        <genClasses xsi:type="genmodel:GenClass" ecoreClass="chessmlprofile.ecore#//Dependability/ThreatsPropagation/ErrorFree"/>
+        <genClasses xsi:type="genmodel:GenClass" ecoreClass="chessmlprofile.ecore#//Dependability/ThreatsPropagation/UnclassifiedError"/>
+        <genClasses xsi:type="genmodel:GenClass" ecoreClass="chessmlprofile.ecore#//Dependability/ThreatsPropagation/FailureMode">
+          <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+              propertySortChoices="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Dependability/ThreatsPropagation/FailureMode/affectedPorts"/>
+          <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Dependability/ThreatsPropagation/FailureMode/type"/>
+        </genClasses>
+        <genClasses xsi:type="genmodel:GenClass" ecoreClass="chessmlprofile.ecore#//Dependability/ThreatsPropagation/FailureFree"/>
+        <genClasses xsi:type="genmodel:GenClass" ecoreClass="chessmlprofile.ecore#//Dependability/ThreatsPropagation/UnclassifiedFailure"/>
+        <genClasses xsi:type="genmodel:GenClass" ecoreClass="chessmlprofile.ecore#//Dependability/ThreatsPropagation/StuckAt">
+          <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+              propertySortChoices="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Dependability/ThreatsPropagation/StuckAt/property"/>
+          <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Dependability/ThreatsPropagation/StuckAt/value"/>
+          <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+              propertySortChoices="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Dependability/ThreatsPropagation/StuckAt/base_State"/>
+        </genClasses>
+        <genClasses xsi:type="genmodel:GenClass" ecoreClass="chessmlprofile.ecore#//Dependability/ThreatsPropagation/StuckAtFixed">
+          <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+              propertySortChoices="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Dependability/ThreatsPropagation/StuckAtFixed/base_State"/>
+          <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+              propertySortChoices="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Dependability/ThreatsPropagation/StuckAtFixed/property"/>
+        </genClasses>
+        <genClasses xsi:type="genmodel:GenClass" ecoreClass="chessmlprofile.ecore#//Dependability/ThreatsPropagation/Inverted">
+          <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+              propertySortChoices="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Dependability/ThreatsPropagation/Inverted/base_State"/>
+          <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+              propertySortChoices="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Dependability/ThreatsPropagation/Inverted/property"/>
+        </genClasses>
+        <genClasses xsi:type="genmodel:GenClass" ecoreClass="chessmlprofile.ecore#//Dependability/ThreatsPropagation/RampDown">
+          <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+              propertySortChoices="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Dependability/ThreatsPropagation/RampDown/base_State"/>
+          <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+              propertySortChoices="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Dependability/ThreatsPropagation/RampDown/property"/>
+          <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Dependability/ThreatsPropagation/RampDown/decr"/>
+          <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Dependability/ThreatsPropagation/RampDown/endValue"/>
+        </genClasses>
+        <genClasses xsi:type="genmodel:GenClass" ecoreClass="chessmlprofile.ecore#//Dependability/ThreatsPropagation/ErrorModel">
+          <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+              propertySortChoices="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Dependability/ThreatsPropagation/ErrorModel/base_StateMachine"/>
+        </genClasses>
+      </nestedGenPackages>
+      <nestedGenPackages xsi:type="genmodel:GenPackage" prefix="DataFlowCallGraph"
+          resource="XML" disposableProviderFactory="true" ecorePackage="chessmlprofile.ecore#//Dependability/DataFlowCallGraph">
+        <genClasses xsi:type="genmodel:GenClass" ecoreClass="chessmlprofile.ecore#//Dependability/DataFlowCallGraph/DataFlowCallGraphAnalysis">
+          <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+              propertySortChoices="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Dependability/DataFlowCallGraph/DataFlowCallGraphAnalysis/result"/>
+        </genClasses>
+      </nestedGenPackages>
+      <nestedGenPackages xsi:type="genmodel:GenPackage" prefix="StateBased" disposableProviderFactory="true"
+          ecorePackage="chessmlprofile.ecore#//Dependability/StateBased">
+        <nestedGenPackages xsi:type="genmodel:GenPackage" prefix="StateBasedDataTypes"
+            disposableProviderFactory="true" ecorePackage="chessmlprofile.ecore#//Dependability/StateBased/StateBasedDataTypes">
+          <genEnums xsi:type="genmodel:GenEnum" typeSafeEnumCompatible="false" ecoreEnum="chessmlprofile.ecore#//Dependability/StateBased/StateBasedDataTypes/RedundancyKind">
+            <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="chessmlprofile.ecore#//Dependability/StateBased/StateBasedDataTypes/RedundancyKind/TMR"/>
+            <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="chessmlprofile.ecore#//Dependability/StateBased/StateBasedDataTypes/RedundancyKind/Recovery"/>
+          </genEnums>
+          <genEnums xsi:type="genmodel:GenEnum" typeSafeEnumCompatible="false" ecoreEnum="chessmlprofile.ecore#//Dependability/StateBased/StateBasedDataTypes/ConfidenceKind">
+            <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="chessmlprofile.ecore#//Dependability/StateBased/StateBasedDataTypes/ConfidenceKind/relative"/>
+            <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="chessmlprofile.ecore#//Dependability/StateBased/StateBasedDataTypes/ConfidenceKind/absolute"/>
+          </genEnums>
+          <genClasses xsi:type="genmodel:GenClass" ecoreClass="chessmlprofile.ecore#//Dependability/StateBased/StateBasedDataTypes/DependabilityMeasure"/>
+          <genClasses xsi:type="genmodel:GenClass" ecoreClass="chessmlprofile.ecore#//Dependability/StateBased/StateBasedDataTypes/EvaluationMethod"/>
+          <genClasses xsi:type="genmodel:GenClass" ecoreClass="chessmlprofile.ecore#//Dependability/StateBased/StateBasedDataTypes/EvaluationBySimulation"/>
+          <genClasses xsi:type="genmodel:GenClass" ecoreClass="chessmlprofile.ecore#//Dependability/StateBased/StateBasedDataTypes/EvaluationAnalytical"/>
+          <genClasses xsi:type="genmodel:GenClass" ecoreClass="chessmlprofile.ecore#//Dependability/StateBased/StateBasedDataTypes/Reliability"/>
+          <genClasses xsi:type="genmodel:GenClass" ecoreClass="chessmlprofile.ecore#//Dependability/StateBased/StateBasedDataTypes/EvaluationType"/>
+          <genClasses xsi:type="genmodel:GenClass" ecoreClass="chessmlprofile.ecore#//Dependability/StateBased/StateBasedDataTypes/SteadyState"/>
+          <genClasses xsi:type="genmodel:GenClass" ecoreClass="chessmlprofile.ecore#//Dependability/StateBased/StateBasedDataTypes/Availability"/>
+          <genClasses xsi:type="genmodel:GenClass" ecoreClass="chessmlprofile.ecore#//Dependability/StateBased/StateBasedDataTypes/MTTF"/>
+        </nestedGenPackages>
+        <nestedGenPackages xsi:type="genmodel:GenPackage" prefix="StateBasedComponents"
+            resource="XML" disposableProviderFactory="true" ecorePackage="chessmlprofile.ecore#//Dependability/StateBased/StateBasedComponents">
+          <genClasses xsi:type="genmodel:GenClass" ecoreClass="chessmlprofile.ecore#//Dependability/StateBased/StateBasedComponents/StatefulHardware">
+            <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Dependability/StateBased/StateBasedComponents/StatefulHardware/probPermFault"/>
+            <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Dependability/StateBased/StateBasedComponents/StatefulHardware/errorLatency"/>
+            <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Dependability/StateBased/StateBasedComponents/StatefulHardware/repairDelay"/>
+            <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Dependability/StateBased/StateBasedComponents/StatefulHardware/faultOcc"/>
+          </genClasses>
+          <genClasses xsi:type="genmodel:GenClass" ecoreClass="chessmlprofile.ecore#//Dependability/StateBased/StateBasedComponents/StatefulSoftware">
+            <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Dependability/StateBased/StateBasedComponents/StatefulSoftware/errorLatency"/>
+            <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Dependability/StateBased/StateBasedComponents/StatefulSoftware/repairDelay"/>
+            <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Dependability/StateBased/StateBasedComponents/StatefulSoftware/faultOcc"/>
+          </genClasses>
+          <genClasses xsi:type="genmodel:GenClass" ecoreClass="chessmlprofile.ecore#//Dependability/StateBased/StateBasedComponents/StatelessHardware">
+            <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Dependability/StateBased/StateBasedComponents/StatelessHardware/probPermFault"/>
+            <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Dependability/StateBased/StateBasedComponents/StatelessHardware/repairDelay"/>
+            <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Dependability/StateBased/StateBasedComponents/StatelessHardware/faultOcc"/>
+          </genClasses>
+          <genClasses xsi:type="genmodel:GenClass" ecoreClass="chessmlprofile.ecore#//Dependability/StateBased/StateBasedComponents/StatelessSoftware">
+            <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Dependability/StateBased/StateBasedComponents/StatelessSoftware/faultOcc"/>
+          </genClasses>
+        </nestedGenPackages>
+        <nestedGenPackages xsi:type="genmodel:GenPackage" prefix="FaultTolerance"
+            resource="XML" disposableProviderFactory="true" ecorePackage="chessmlprofile.ecore#//Dependability/StateBased/FaultTolerance">
+          <genClasses xsi:type="genmodel:GenClass" ecoreClass="chessmlprofile.ecore#//Dependability/StateBased/FaultTolerance/FaultTolerant">
+            <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+                propertySortChoices="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Dependability/StateBased/FaultTolerance/FaultTolerant/base_Component"/>
+            <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Dependability/StateBased/FaultTolerance/FaultTolerant/scheme"/>
+            <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+                propertySortChoices="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Dependability/StateBased/FaultTolerance/FaultTolerant/schemeAttrs"/>
+          </genClasses>
+          <genClasses xsi:type="genmodel:GenClass" ecoreClass="chessmlprofile.ecore#//Dependability/StateBased/FaultTolerance/RedundancyManager">
+            <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+                propertySortChoices="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Dependability/StateBased/FaultTolerance/RedundancyManager/base_Component"/>
+            <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Dependability/StateBased/FaultTolerance/RedundancyManager/scheme"/>
+          </genClasses>
+          <genClasses xsi:type="genmodel:GenClass" ecoreClass="chessmlprofile.ecore#//Dependability/StateBased/FaultTolerance/Variant">
+            <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+                propertySortChoices="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Dependability/StateBased/FaultTolerance/Variant/base_Component"/>
+          </genClasses>
+          <genClasses xsi:type="genmodel:GenClass" ecoreClass="chessmlprofile.ecore#//Dependability/StateBased/FaultTolerance/Adjudicator">
+            <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+                propertySortChoices="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Dependability/StateBased/FaultTolerance/Adjudicator/base_Component"/>
+            <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Dependability/StateBased/FaultTolerance/Adjudicator/coverage"/>
+          </genClasses>
+        </nestedGenPackages>
+        <nestedGenPackages xsi:type="genmodel:GenPackage" prefix="MaintenanceMonitoring"
+            resource="XML" disposableProviderFactory="true" ecorePackage="chessmlprofile.ecore#//Dependability/StateBased/MaintenanceMonitoring">
+          <genClasses xsi:type="genmodel:GenClass" ecoreClass="chessmlprofile.ecore#//Dependability/StateBased/MaintenanceMonitoring/MMActivities">
+            <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+                propertySortChoices="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Dependability/StateBased/MaintenanceMonitoring/MMActivities/base_Activity"/>
+            <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Dependability/StateBased/MaintenanceMonitoring/MMActivities/when"/>
+            <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Dependability/StateBased/MaintenanceMonitoring/MMActivities/duration"/>
+            <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Dependability/StateBased/MaintenanceMonitoring/MMActivities/probSuccess"/>
+            <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+                propertySortChoices="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Dependability/StateBased/MaintenanceMonitoring/MMActivities/onCompletion"/>
+            <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+                propertySortChoices="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Dependability/StateBased/MaintenanceMonitoring/MMActivities/onSuccessfulCompletion"/>
+            <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+                propertySortChoices="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Dependability/StateBased/MaintenanceMonitoring/MMActivities/onFailedCompletion"/>
+            <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+                propertySortChoices="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Dependability/StateBased/MaintenanceMonitoring/MMActivities/base_Action"/>
+          </genClasses>
+          <genClasses xsi:type="genmodel:GenClass" ecoreClass="chessmlprofile.ecore#//Dependability/StateBased/MaintenanceMonitoring/Repair">
+            <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+                propertySortChoices="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Dependability/StateBased/MaintenanceMonitoring/Repair/targets"/>
+          </genClasses>
+          <genClasses xsi:type="genmodel:GenClass" ecoreClass="chessmlprofile.ecore#//Dependability/StateBased/MaintenanceMonitoring/Replace">
+            <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+                propertySortChoices="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Dependability/StateBased/MaintenanceMonitoring/Replace/targets"/>
+            <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+                propertySortChoices="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Dependability/StateBased/MaintenanceMonitoring/Replace/replacement"/>
+          </genClasses>
+          <genClasses xsi:type="genmodel:GenClass" ecoreClass="chessmlprofile.ecore#//Dependability/StateBased/MaintenanceMonitoring/ErrorDetection">
+            <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+                propertySortChoices="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Dependability/StateBased/MaintenanceMonitoring/ErrorDetection/targets"/>
+            <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Dependability/StateBased/MaintenanceMonitoring/ErrorDetection/correctionProbability"/>
+            <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+                propertySortChoices="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Dependability/StateBased/MaintenanceMonitoring/ErrorDetection/controlledFailure"/>
+          </genClasses>
+          <genClasses xsi:type="genmodel:GenClass" ecoreClass="chessmlprofile.ecore#//Dependability/StateBased/MaintenanceMonitoring/FailureDetection">
+            <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+                propertySortChoices="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Dependability/StateBased/MaintenanceMonitoring/FailureDetection/onDetection"/>
+          </genClasses>
+        </nestedGenPackages>
+        <nestedGenPackages xsi:type="genmodel:GenPackage" prefix="StateBasedAnalysis"
+            resource="XML" disposableProviderFactory="true" ecorePackage="chessmlprofile.ecore#//Dependability/StateBased/StateBasedAnalysis">
+          <genClasses xsi:type="genmodel:GenClass" ecoreClass="chessmlprofile.ecore#//Dependability/StateBased/StateBasedAnalysis/StateBasedAnalysis">
+            <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Dependability/StateBased/StateBasedAnalysis/StateBasedAnalysis/measure"/>
+            <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Dependability/StateBased/StateBasedAnalysis/StateBasedAnalysis/measureEvaluationResult"/>
+            <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Dependability/StateBased/StateBasedAnalysis/StateBasedAnalysis/evalMethod"/>
+            <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+                propertySortChoices="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Dependability/StateBased/StateBasedAnalysis/StateBasedAnalysis/targetFailureMode"/>
+            <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+                propertySortChoices="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Dependability/StateBased/StateBasedAnalysis/StateBasedAnalysis/targetDepComponent"/>
+          </genClasses>
+        </nestedGenPackages>
+      </nestedGenPackages>
+      <nestedGenPackages xsi:type="genmodel:GenPackage" prefix="FMEA" resource="XML"
+          disposableProviderFactory="true" ecorePackage="chessmlprofile.ecore#//Dependability/FMEA">
+        <genEnums xsi:type="genmodel:GenEnum" typeSafeEnumCompatible="false" ecoreEnum="chessmlprofile.ecore#//Dependability/FMEA/FMEAAnalysisType">
+          <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="chessmlprofile.ecore#//Dependability/FMEA/FMEAAnalysisType/frame"/>
+          <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="chessmlprofile.ecore#//Dependability/FMEA/FMEAAnalysisType/system"/>
+        </genEnums>
+        <genClasses xsi:type="genmodel:GenClass" ecoreClass="chessmlprofile.ecore#//Dependability/FMEA/FIBEX">
+          <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+              propertySortChoices="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Dependability/FMEA/FIBEX/base_Comment"/>
+          <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Dependability/FMEA/FIBEX/config"/>
+        </genClasses>
+        <genClasses xsi:type="genmodel:GenClass" ecoreClass="chessmlprofile.ecore#//Dependability/FMEA/FMEAAnalysis">
+          <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+              propertySortChoices="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Dependability/FMEA/FMEAAnalysis/errorType"/>
+          <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Dependability/FMEA/FMEAAnalysis/simulationRuns"/>
+          <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Dependability/FMEA/FMEAAnalysis/analysisType"/>
+        </genClasses>
+        <genClasses xsi:type="genmodel:GenClass" ecoreClass="chessmlprofile.ecore#//Dependability/FMEA/ErrorModelAssign">
+          <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+              propertySortChoices="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Dependability/FMEA/ErrorModelAssign/base_Comment"/>
+          <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+              propertySortChoices="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Dependability/FMEA/ErrorModelAssign/from"/>
+          <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+              propertySortChoices="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Dependability/FMEA/ErrorModelAssign/to"/>
+        </genClasses>
+        <nestedGenPackages xsi:type="genmodel:GenPackage" prefix="FMEADataTypes" disposableProviderFactory="true"
+            ecorePackage="chessmlprofile.ecore#//Dependability/FMEA/FMEADataTypes">
+          <genEnums xsi:type="genmodel:GenEnum" typeSafeEnumCompatible="false" ecoreEnum="chessmlprofile.ecore#//Dependability/FMEA/FMEADataTypes/Persistency">
+            <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="chessmlprofile.ecore#//Dependability/FMEA/FMEADataTypes/Persistency/transient"/>
+            <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="chessmlprofile.ecore#//Dependability/FMEA/FMEADataTypes/Persistency/permanent"/>
+          </genEnums>
+        </nestedGenPackages>
+      </nestedGenPackages>
+      <nestedGenPackages xsi:type="genmodel:GenPackage" prefix="MitigationMeans" resource="XML"
+          disposableProviderFactory="true" ecorePackage="chessmlprofile.ecore#//Dependability/MitigationMeans">
+        <genClasses xsi:type="genmodel:GenClass" ecoreClass="chessmlprofile.ecore#//Dependability/MitigationMeans/TransmissionWithProtocol">
+          <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+              propertySortChoices="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Dependability/MitigationMeans/TransmissionWithProtocol/base_Connector"/>
+          <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Dependability/MitigationMeans/TransmissionWithProtocol/CRC"/>
+          <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Dependability/MitigationMeans/TransmissionWithProtocol/UseSeqID"/>
+        </genClasses>
+      </nestedGenPackages>
+    </nestedGenPackages>
+    <nestedGenPackages xsi:type="genmodel:GenPackage" prefix="Predictability" basePackage="org.polarsys.chess.chessmlprofile"
+        disposableProviderFactory="true" ecorePackage="chessmlprofile.ecore#//Predictability">
+      <nestedGenPackages xsi:type="genmodel:GenPackage" prefix="TimingAnalysis" basePackage="org.polarsys.chess.chessmlprofile.Predictability"
+          resource="XML" disposableProviderFactory="true" ecorePackage="chessmlprofile.ecore#//Predictability/TimingAnalysis">
+        <genClasses xsi:type="genmodel:GenClass" ecoreClass="chessmlprofile.ecore#//Predictability/TimingAnalysis/SimulationBasedTimingAnalysis"/>
+        <genClasses xsi:type="genmodel:GenClass" ecoreClass="chessmlprofile.ecore#//Predictability/TimingAnalysis/AgeTimingConstraint"/>
+        <genClasses xsi:type="genmodel:GenClass" ecoreClass="chessmlprofile.ecore#//Predictability/TimingAnalysis/ReactionConstraint"/>
+        <genClasses xsi:type="genmodel:GenClass" ecoreClass="chessmlprofile.ecore#//Predictability/TimingAnalysis/OutputSynchronizationConstraint">
+          <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Predictability/TimingAnalysis/OutputSynchronizationConstraint/width"/>
+        </genClasses>
+        <genClasses xsi:type="genmodel:GenClass" ecoreClass="chessmlprofile.ecore#//Predictability/TimingAnalysis/InputSynchronizationConstraint">
+          <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Predictability/TimingAnalysis/InputSynchronizationConstraint/width"/>
+        </genClasses>
+        <nestedGenPackages xsi:type="genmodel:GenPackage" prefix="TimingConstraints"
+            basePackage="org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis"
+            resource="XML" disposableProviderFactory="true" ecorePackage="chessmlprofile.ecore#//Predictability/TimingAnalysis/TimingConstraints">
+          <genClasses xsi:type="genmodel:GenClass" ecoreClass="chessmlprofile.ecore#//Predictability/TimingAnalysis/TimingConstraints/ArbitraryEventConstraint">
+            <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Predictability/TimingAnalysis/TimingConstraints/ArbitraryEventConstraint/offset"/>
+            <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Predictability/TimingAnalysis/TimingConstraints/ArbitraryEventConstraint/maximumInterarrivalTime"/>
+            <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Predictability/TimingAnalysis/TimingConstraints/ArbitraryEventConstraint/minimumInterarrivalTime"/>
+          </genClasses>
+          <genClasses xsi:type="genmodel:GenClass" ecoreClass="chessmlprofile.ecore#//Predictability/TimingAnalysis/TimingConstraints/PatternEventConstraint">
+            <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Predictability/TimingAnalysis/TimingConstraints/PatternEventConstraint/offset"/>
+            <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Predictability/TimingAnalysis/TimingConstraints/PatternEventConstraint/jitter"/>
+            <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Predictability/TimingAnalysis/TimingConstraints/PatternEventConstraint/minimumInterarrivalTime"/>
+            <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Predictability/TimingAnalysis/TimingConstraints/PatternEventConstraint/occurrence"/>
+            <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Predictability/TimingAnalysis/TimingConstraints/PatternEventConstraint/period"/>
+          </genClasses>
+          <genClasses xsi:type="genmodel:GenClass" ecoreClass="chessmlprofile.ecore#//Predictability/TimingAnalysis/TimingConstraints/PeriodicEventConstraint">
+            <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Predictability/TimingAnalysis/TimingConstraints/PeriodicEventConstraint/offset"/>
+            <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Predictability/TimingAnalysis/TimingConstraints/PeriodicEventConstraint/jitter"/>
+            <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Predictability/TimingAnalysis/TimingConstraints/PeriodicEventConstraint/minimumInterarrivalTime"/>
+            <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Predictability/TimingAnalysis/TimingConstraints/PeriodicEventConstraint/period"/>
+          </genClasses>
+          <genClasses xsi:type="genmodel:GenClass" ecoreClass="chessmlprofile.ecore#//Predictability/TimingAnalysis/TimingConstraints/SporadicEventConstraint">
+            <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Predictability/TimingAnalysis/TimingConstraints/SporadicEventConstraint/offset"/>
+            <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Predictability/TimingAnalysis/TimingConstraints/SporadicEventConstraint/jitter"/>
+            <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Predictability/TimingAnalysis/TimingConstraints/SporadicEventConstraint/maximumInterarrivalTime"/>
+            <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Predictability/TimingAnalysis/TimingConstraints/SporadicEventConstraint/minimumInterarrivalTime"/>
+            <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Predictability/TimingAnalysis/TimingConstraints/SporadicEventConstraint/period"/>
+          </genClasses>
+        </nestedGenPackages>
+      </nestedGenPackages>
+      <nestedGenPackages xsi:type="genmodel:GenPackage" prefix="DeploymentConfiguration"
+          basePackage="org.polarsys.chess.chessmlprofile.Predictability" disposableProviderFactory="true"
+          ecorePackage="chessmlprofile.ecore#//Predictability/DeploymentConfiguration">
+        <nestedGenPackages xsi:type="genmodel:GenPackage" prefix="HardwareBaseline"
+            basePackage="org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration"
+            resource="XML" disposableProviderFactory="true" ecorePackage="chessmlprofile.ecore#//Predictability/DeploymentConfiguration/HardwareBaseline">
+          <genEnums xsi:type="genmodel:GenEnum" typeSafeEnumCompatible="false" ecoreEnum="chessmlprofile.ecore#//Predictability/DeploymentConfiguration/HardwareBaseline/BasicOperation">
+            <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="chessmlprofile.ecore#//Predictability/DeploymentConfiguration/HardwareBaseline/BasicOperation/add"/>
+            <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="chessmlprofile.ecore#//Predictability/DeploymentConfiguration/HardwareBaseline/BasicOperation/mul"/>
+            <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="chessmlprofile.ecore#//Predictability/DeploymentConfiguration/HardwareBaseline/BasicOperation/div"/>
+            <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="chessmlprofile.ecore#//Predictability/DeploymentConfiguration/HardwareBaseline/BasicOperation/mod"/>
+            <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="chessmlprofile.ecore#//Predictability/DeploymentConfiguration/HardwareBaseline/BasicOperation/shift"/>
+          </genEnums>
+          <genEnums xsi:type="genmodel:GenEnum" typeSafeEnumCompatible="false" ecoreEnum="chessmlprofile.ecore#//Predictability/DeploymentConfiguration/HardwareBaseline/BasicDataType">
+            <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="chessmlprofile.ecore#//Predictability/DeploymentConfiguration/HardwareBaseline/BasicDataType/Signed"/>
+            <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="chessmlprofile.ecore#//Predictability/DeploymentConfiguration/HardwareBaseline/BasicDataType/Integer"/>
+            <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="chessmlprofile.ecore#//Predictability/DeploymentConfiguration/HardwareBaseline/BasicDataType/Fixed_Point"/>
+            <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="chessmlprofile.ecore#//Predictability/DeploymentConfiguration/HardwareBaseline/BasicDataType/Float"/>
+          </genEnums>
+          <genClasses xsi:type="genmodel:GenClass" ecoreClass="chessmlprofile.ecore#//Predictability/DeploymentConfiguration/HardwareBaseline/CH_HwProcessor">
+            <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+                propertySortChoices="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Predictability/DeploymentConfiguration/HardwareBaseline/CH_HwProcessor/dataType"/>
+            <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Predictability/DeploymentConfiguration/HardwareBaseline/CH_HwProcessor/utilization"/>
+          </genClasses>
+          <genClasses xsi:type="genmodel:GenClass" ecoreClass="chessmlprofile.ecore#//Predictability/DeploymentConfiguration/HardwareBaseline/HWDataType">
+            <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+                propertySortChoices="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Predictability/DeploymentConfiguration/HardwareBaseline/HWDataType/base_DataType"/>
+            <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Predictability/DeploymentConfiguration/HardwareBaseline/HWDataType/bitLength"/>
+            <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Predictability/DeploymentConfiguration/HardwareBaseline/HWDataType/signed"/>
+            <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Predictability/DeploymentConfiguration/HardwareBaseline/HWDataType/fixedPoint"/>
+            <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Predictability/DeploymentConfiguration/HardwareBaseline/HWDataType/float"/>
+            <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+                propertySortChoices="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Predictability/DeploymentConfiguration/HardwareBaseline/HWDataType/execution"/>
+          </genClasses>
+          <genClasses xsi:type="genmodel:GenClass" ecoreClass="chessmlprofile.ecore#//Predictability/DeploymentConfiguration/HardwareBaseline/DataTypeExecution">
+            <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+                propertySortChoices="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Predictability/DeploymentConfiguration/HardwareBaseline/DataTypeExecution/base_Class"/>
+            <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Predictability/DeploymentConfiguration/HardwareBaseline/DataTypeExecution/operation"/>
+            <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Predictability/DeploymentConfiguration/HardwareBaseline/DataTypeExecution/executionCycles"/>
+          </genClasses>
+          <genClasses xsi:type="genmodel:GenClass" ecoreClass="chessmlprofile.ecore#//Predictability/DeploymentConfiguration/HardwareBaseline/ComputeComplexity">
+            <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+                propertySortChoices="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Predictability/DeploymentConfiguration/HardwareBaseline/ComputeComplexity/swDataType"/>
+            <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+                propertySortChoices="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Predictability/DeploymentConfiguration/HardwareBaseline/ComputeComplexity/opCount"/>
+            <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+                propertySortChoices="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Predictability/DeploymentConfiguration/HardwareBaseline/ComputeComplexity/base_Class"/>
+          </genClasses>
+          <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="chessmlprofile.ecore#//Predictability/DeploymentConfiguration/HardwareBaseline/SWDataType">
+            <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+                propertySortChoices="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Predictability/DeploymentConfiguration/HardwareBaseline/SWDataType/base_DataType"/>
+            <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Predictability/DeploymentConfiguration/HardwareBaseline/SWDataType/bitSize"/>
+          </genClasses>
+          <genClasses xsi:type="genmodel:GenClass" ecoreClass="chessmlprofile.ecore#//Predictability/DeploymentConfiguration/HardwareBaseline/OperationCount">
+            <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Predictability/DeploymentConfiguration/HardwareBaseline/OperationCount/operation"/>
+            <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Predictability/DeploymentConfiguration/HardwareBaseline/OperationCount/count"/>
+            <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+                propertySortChoices="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Predictability/DeploymentConfiguration/HardwareBaseline/OperationCount/base_Class"/>
+          </genClasses>
+          <genClasses xsi:type="genmodel:GenClass" ecoreClass="chessmlprofile.ecore#//Predictability/DeploymentConfiguration/HardwareBaseline/CHControlFlow">
+            <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+                propertySortChoices="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Predictability/DeploymentConfiguration/HardwareBaseline/CHControlFlow/base_ControlFlow"/>
+            <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Predictability/DeploymentConfiguration/HardwareBaseline/CHControlFlow/rep"/>
+            <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Predictability/DeploymentConfiguration/HardwareBaseline/CHControlFlow/prob"/>
+            <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Predictability/DeploymentConfiguration/HardwareBaseline/CHControlFlow/order"/>
+            <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+                propertySortChoices="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Predictability/DeploymentConfiguration/HardwareBaseline/CHControlFlow/compComplex"/>
+          </genClasses>
+          <genClasses xsi:type="genmodel:GenClass" ecoreClass="chessmlprofile.ecore#//Predictability/DeploymentConfiguration/HardwareBaseline/FloatSWDataType">
+            <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Predictability/DeploymentConfiguration/HardwareBaseline/FloatSWDataType/signed"/>
+          </genClasses>
+          <genClasses xsi:type="genmodel:GenClass" ecoreClass="chessmlprofile.ecore#//Predictability/DeploymentConfiguration/HardwareBaseline/FixedSWDataType">
+            <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Predictability/DeploymentConfiguration/HardwareBaseline/FixedSWDataType/signed"/>
+          </genClasses>
+          <genClasses xsi:type="genmodel:GenClass" ecoreClass="chessmlprofile.ecore#//Predictability/DeploymentConfiguration/HardwareBaseline/IntegerSWDataType">
+            <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Predictability/DeploymentConfiguration/HardwareBaseline/IntegerSWDataType/signed"/>
+          </genClasses>
+          <genClasses xsi:type="genmodel:GenClass" ecoreClass="chessmlprofile.ecore#//Predictability/DeploymentConfiguration/HardwareBaseline/CharSWDataType">
+            <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Predictability/DeploymentConfiguration/HardwareBaseline/CharSWDataType/signed"/>
+          </genClasses>
+          <genClasses xsi:type="genmodel:GenClass" ecoreClass="chessmlprofile.ecore#//Predictability/DeploymentConfiguration/HardwareBaseline/BooleanSWDataType"/>
+          <genClasses xsi:type="genmodel:GenClass" ecoreClass="chessmlprofile.ecore#//Predictability/DeploymentConfiguration/HardwareBaseline/CH_HwBus">
+            <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Predictability/DeploymentConfiguration/HardwareBaseline/CH_HwBus/utilization"/>
+          </genClasses>
+          <genClasses xsi:type="genmodel:GenClass" ecoreClass="chessmlprofile.ecore#//Predictability/DeploymentConfiguration/HardwareBaseline/CH_HwComputingResource">
+            <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Predictability/DeploymentConfiguration/HardwareBaseline/CH_HwComputingResource/utilization"/>
+          </genClasses>
+          <genClasses xsi:type="genmodel:GenClass" ecoreClass="chessmlprofile.ecore#//Predictability/DeploymentConfiguration/HardwareBaseline/DataTypeAssign">
+            <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+                propertySortChoices="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Predictability/DeploymentConfiguration/HardwareBaseline/DataTypeAssign/base_Comment"/>
+            <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+                propertySortChoices="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Predictability/DeploymentConfiguration/HardwareBaseline/DataTypeAssign/from"/>
+            <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+                propertySortChoices="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Predictability/DeploymentConfiguration/HardwareBaseline/DataTypeAssign/to"/>
+          </genClasses>
+        </nestedGenPackages>
+        <nestedGenPackages xsi:type="genmodel:GenPackage" prefix="DeploymentConfAnalysis"
+            basePackage="org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration"
+            resource="XML" disposableProviderFactory="true" ecorePackage="chessmlprofile.ecore#//Predictability/DeploymentConfiguration/DeploymentConfAnalysis">
+          <genEnums xsi:type="genmodel:GenEnum" typeSafeEnumCompatible="false" ecoreEnum="chessmlprofile.ecore#//Predictability/DeploymentConfiguration/DeploymentConfAnalysis/OptimizationGoal">
+            <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="chessmlprofile.ecore#//Predictability/DeploymentConfiguration/DeploymentConfAnalysis/OptimizationGoal/average"/>
+            <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="chessmlprofile.ecore#//Predictability/DeploymentConfiguration/DeploymentConfAnalysis/OptimizationGoal/maxHighPerfUsage"/>
+          </genEnums>
+          <genClasses xsi:type="genmodel:GenClass" ecoreClass="chessmlprofile.ecore#//Predictability/DeploymentConfiguration/DeploymentConfAnalysis/MappingConfigurationAnalysis">
+            <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+                propertySortChoices="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Predictability/DeploymentConfiguration/DeploymentConfAnalysis/MappingConfigurationAnalysis/prohibitedAllocations"/>
+            <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+                propertySortChoices="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Predictability/DeploymentConfiguration/DeploymentConfAnalysis/MappingConfigurationAnalysis/fixedAllocations"/>
+            <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Predictability/DeploymentConfiguration/DeploymentConfAnalysis/MappingConfigurationAnalysis/bottomUpAnalysis"/>
+            <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+                propertySortChoices="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Predictability/DeploymentConfiguration/DeploymentConfAnalysis/MappingConfigurationAnalysis/resultingMapping"/>
+          </genClasses>
+          <genClasses xsi:type="genmodel:GenClass" ecoreClass="chessmlprofile.ecore#//Predictability/DeploymentConfiguration/DeploymentConfAnalysis/SchedulingAnalysis">
+            <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+                propertySortChoices="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Predictability/DeploymentConfiguration/DeploymentConfAnalysis/SchedulingAnalysis/mapping"/>
+            <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+                propertySortChoices="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Predictability/DeploymentConfiguration/DeploymentConfAnalysis/SchedulingAnalysis/resultingPriorities"/>
+            <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Predictability/DeploymentConfiguration/DeploymentConfAnalysis/SchedulingAnalysis/schedulingStrategy"/>
+          </genClasses>
+          <genClasses xsi:type="genmodel:GenClass" ecoreClass="chessmlprofile.ecore#//Predictability/DeploymentConfiguration/DeploymentConfAnalysis/BusConfigurationAnalysis">
+            <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+                propertySortChoices="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Predictability/DeploymentConfiguration/DeploymentConfAnalysis/BusConfigurationAnalysis/resultingBusConfig"/>
+            <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+                propertySortChoices="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Predictability/DeploymentConfiguration/DeploymentConfAnalysis/BusConfigurationAnalysis/resultingCommLatencies"/>
+            <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+                propertySortChoices="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Predictability/DeploymentConfiguration/DeploymentConfAnalysis/BusConfigurationAnalysis/inputFibex"/>
+            <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+                propertySortChoices="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Predictability/DeploymentConfiguration/DeploymentConfAnalysis/BusConfigurationAnalysis/hwBusPlatform"/>
+          </genClasses>
+        </nestedGenPackages>
+      </nestedGenPackages>
+      <nestedGenPackages xsi:type="genmodel:GenPackage" prefix="RTComponentModel"
+          basePackage="org.polarsys.chess.chessmlprofile.Predictability" resource="XML"
+          disposableProviderFactory="true" ecorePackage="chessmlprofile.ecore#//Predictability/RTComponentModel">
+        <genClasses xsi:type="genmodel:GenClass" ecoreClass="chessmlprofile.ecore#//Predictability/RTComponentModel/CHRtPortSlot">
+          <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+              propertySortChoices="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Predictability/RTComponentModel/CHRtPortSlot/base_Slot"/>
+          <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+              propertySortChoices="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Predictability/RTComponentModel/CHRtPortSlot/cH_RtSpecification"/>
+        </genClasses>
+        <genClasses xsi:type="genmodel:GenClass" ecoreClass="chessmlprofile.ecore#//Predictability/RTComponentModel/CHRtSpecification">
+          <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+              propertySortChoices="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Predictability/RTComponentModel/CHRtSpecification/partWithPort"/>
+          <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Predictability/RTComponentModel/CHRtSpecification/WCET"/>
+          <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Predictability/RTComponentModel/CHRtSpecification/localWCET"/>
+          <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Predictability/RTComponentModel/CHRtSpecification/relativePriority"/>
+          <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Predictability/RTComponentModel/CHRtSpecification/ceiling"/>
+          <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Predictability/RTComponentModel/CHRtSpecification/memorySizeFootprint"/>
+          <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Predictability/RTComponentModel/CHRtSpecification/stackSize"/>
+          <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Predictability/RTComponentModel/CHRtSpecification/heapSize"/>
+          <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+              propertySortChoices="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Predictability/RTComponentModel/CHRtSpecification/slot"/>
+          <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+              propertySortChoices="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Predictability/RTComponentModel/CHRtSpecification/base_Comment"/>
+          <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Predictability/RTComponentModel/CHRtSpecification/occKind"/>
+          <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Predictability/RTComponentModel/CHRtSpecification/protection"/>
+          <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Predictability/RTComponentModel/CHRtSpecification/rlDl"/>
+          <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+              propertySortChoices="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//Predictability/RTComponentModel/CHRtSpecification/context"/>
+          <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Predictability/RTComponentModel/CHRtSpecification/respT"/>
+          <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//Predictability/RTComponentModel/CHRtSpecification/blockT"/>
+        </genClasses>
+        <nestedGenPackages xsi:type="genmodel:GenPackage" prefix="RTDataTypes" basePackage="org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel"
+            disposableProviderFactory="true" ecorePackage="chessmlprofile.ecore#//Predictability/RTComponentModel/RTDataTypes">
+          <genClasses xsi:type="genmodel:GenClass" ecoreClass="chessmlprofile.ecore#//Predictability/RTComponentModel/RTDataTypes/CH_SporadicPattern"/>
+          <genClasses xsi:type="genmodel:GenClass" ecoreClass="chessmlprofile.ecore#//Predictability/RTComponentModel/RTDataTypes/CH_PeriodicPattern"/>
+          <genClasses xsi:type="genmodel:GenClass" ecoreClass="chessmlprofile.ecore#//Predictability/RTComponentModel/RTDataTypes/CH_BurstPattern"/>
+          <genClasses xsi:type="genmodel:GenClass" ecoreClass="chessmlprofile.ecore#//Predictability/RTComponentModel/RTDataTypes/TA_Pattern"/>
+          <genClasses xsi:type="genmodel:GenClass" ecoreClass="chessmlprofile.ecore#//Predictability/RTComponentModel/RTDataTypes/TA_ArbitraryPattern"/>
+        </nestedGenPackages>
+      </nestedGenPackages>
+    </nestedGenPackages>
+    <nestedGenPackages xsi:type="genmodel:GenPackage" prefix="ComponentModel" basePackage="org.polarsys.chess.chessmlprofile"
+        resource="XML" disposableProviderFactory="true" ecorePackage="chessmlprofile.ecore#//ComponentModel">
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="chessmlprofile.ecore#//ComponentModel/ComponentType">
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//ComponentModel/ComponentType/base_Component"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="chessmlprofile.ecore#//ComponentModel/ComponentImplementation">
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference chessmlprofile.ecore#//ComponentModel/ComponentImplementation/base_Component"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//ComponentModel/ComponentImplementation/language"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//ComponentModel/ComponentImplementation/OS"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute chessmlprofile.ecore#//ComponentModel/ComponentImplementation/sourceCodeLocation"/>
+      </genClasses>
+    </nestedGenPackages>
+  </genPackages>
+</genmodel:GenModel>
diff --git a/plugins/org.polarsys.chess.chessmlprofile/model/CHESS.profile.di b/plugins/org.polarsys.chess.chessmlprofile/model/CHESS.profile.di
new file mode 100644
index 000000000..657a5eb02
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/model/CHESS.profile.di
@@ -0,0 +1,147 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<di:SashWindowsMngr xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:di="http://www.eclipse.org/papyrus/0.7.0/sashdi">
+  <pageList>
+    <availablePage>
+      <emfPageIdentifier href="CHESS.profile.notation#_mwzqMG2PEd-OHNNfvuYr9g"/>
+    </availablePage>
+    <availablePage>
+      <emfPageIdentifier href="CHESS.profile.notation#_TvxXUG2REd-OHNNfvuYr9g"/>
+    </availablePage>
+    <availablePage>
+      <emfPageIdentifier href="CHESS.profile.notation#_iv4ggG2REd-OHNNfvuYr9g"/>
+    </availablePage>
+    <availablePage>
+      <emfPageIdentifier href="CHESS.profile.notation#_7EqPsG8VEd-8i8zc_Ad2sQ"/>
+    </availablePage>
+    <availablePage>
+      <emfPageIdentifier href="CHESS.profile.notation#_Z4j-MLzoEd-yoLyJo0JlOg"/>
+    </availablePage>
+    <availablePage>
+      <emfPageIdentifier href="CHESS.profile.notation#_6O0o8LzqEd-yoLyJo0JlOg"/>
+    </availablePage>
+    <availablePage>
+      <emfPageIdentifier href="CHESS.profile.notation#_q0aMYL86Ed-TL8tpOyViyA"/>
+    </availablePage>
+    <availablePage>
+      <emfPageIdentifier href="CHESS.profile.notation#_a_r58L87Ed-TL8tpOyViyA"/>
+    </availablePage>
+    <availablePage>
+      <emfPageIdentifier href="CHESS.profile.notation#_rATocL88Ed-TL8tpOyViyA"/>
+    </availablePage>
+    <availablePage>
+      <emfPageIdentifier href="CHESS.profile.notation#_Z-N5EL8_Ed-TL8tpOyViyA"/>
+    </availablePage>
+    <availablePage/>
+    <availablePage>
+      <emfPageIdentifier href="CHESS.profile.notation#_ETk7EMAPEd-Dn5_MBIs5Vw"/>
+    </availablePage>
+    <availablePage>
+      <emfPageIdentifier href="CHESS.profile.notation#_ESCl0MAWEd-Dn5_MBIs5Vw"/>
+    </availablePage>
+    <availablePage>
+      <emfPageIdentifier href="CHESS.profile.notation#_5kiiEMCpEd-RT45s8cwWMg"/>
+    </availablePage>
+    <availablePage>
+      <emfPageIdentifier href="CHESS.profile.notation#_f3-n0MCqEd-RT45s8cwWMg"/>
+    </availablePage>
+    <availablePage>
+      <emfPageIdentifier href="CHESS.profile.notation#_5dOcUMCtEd-RT45s8cwWMg"/>
+    </availablePage>
+    <availablePage>
+      <emfPageIdentifier href="CHESS.profile.notation#_cqie0MDTEd-RT45s8cwWMg"/>
+    </availablePage>
+    <availablePage>
+      <emfPageIdentifier href="CHESS.profile.notation#_v37EAMFzEd--atLXXafOiQ"/>
+    </availablePage>
+    <availablePage>
+      <emfPageIdentifier href="CHESS.profile.notation#_3OelYMF0Ed--atLXXafOiQ"/>
+    </availablePage>
+    <availablePage>
+      <emfPageIdentifier href="CHESS.profile.notation#_Q1L50MF1Ed--atLXXafOiQ"/>
+    </availablePage>
+    <availablePage>
+      <emfPageIdentifier href="CHESS.profile.notation#_qK9_0MJFEd-0jpzjleFnug"/>
+    </availablePage>
+    <availablePage>
+      <emfPageIdentifier href="CHESS.profile.notation#_VFbVEDQ2EeC0ueejuetpgA"/>
+    </availablePage>
+    <availablePage>
+      <emfPageIdentifier href="CHESS.profile.notation#_wtNJYDQ2EeC0ueejuetpgA"/>
+    </availablePage>
+    <availablePage>
+      <emfPageIdentifier href="CHESS.profile.notation#_9U2J4DQ3EeC0ueejuetpgA"/>
+    </availablePage>
+    <availablePage>
+      <emfPageIdentifier href="CHESS.profile.notation#_Fx_DYDQ6EeC0ueejuetpgA"/>
+    </availablePage>
+    <availablePage>
+      <emfPageIdentifier href="CHESS.profile.notation#_T56zMFiJEeG7ipvuc3Lqcg"/>
+    </availablePage>
+  </pageList>
+  <sashModel currentSelection="//@sashModel/@windows.0/@children.0">
+    <windows>
+      <children xsi:type="di:TabFolder">
+        <children>
+          <emfPageIdentifier href="CHESS.profile.notation#_9U2J4DQ3EeC0ueejuetpgA"/>
+        </children>
+        <children>
+          <emfPageIdentifier href="CHESS.profile.notation#_VFbVEDQ2EeC0ueejuetpgA"/>
+        </children>
+        <children>
+          <emfPageIdentifier href="CHESS.profile.notation#_3OelYMF0Ed--atLXXafOiQ"/>
+        </children>
+        <children>
+          <emfPageIdentifier href="CHESS.profile.notation#_q0aMYL86Ed-TL8tpOyViyA"/>
+        </children>
+        <children>
+          <emfPageIdentifier href="CHESS.profile.notation#_rATocL88Ed-TL8tpOyViyA"/>
+        </children>
+        <children>
+          <emfPageIdentifier href="CHESS.profile.notation#_a_r58L87Ed-TL8tpOyViyA"/>
+        </children>
+        <children>
+          <emfPageIdentifier href="CHESS.profile.notation#_Z-N5EL8_Ed-TL8tpOyViyA"/>
+        </children>
+        <children>
+          <emfPageIdentifier href="CHESS.profile.notation#_Z4j-MLzoEd-yoLyJo0JlOg"/>
+        </children>
+        <children>
+          <emfPageIdentifier href="CHESS.profile.notation#_wtNJYDQ2EeC0ueejuetpgA"/>
+        </children>
+        <children>
+          <emfPageIdentifier href="CHESS.profile.notation#_TvxXUG2REd-OHNNfvuYr9g"/>
+        </children>
+        <children>
+          <emfPageIdentifier href="CHESS.profile.notation#_7EqPsG8VEd-8i8zc_Ad2sQ"/>
+        </children>
+        <children>
+          <emfPageIdentifier href="CHESS.profile.notation#_6O0o8LzqEd-yoLyJo0JlOg"/>
+        </children>
+        <children>
+          <emfPageIdentifier href="CHESS.profile.notation#_qK9_0MJFEd-0jpzjleFnug"/>
+        </children>
+        <children>
+          <emfPageIdentifier href="CHESS.profile.notation#_7EqPsG8VEd-8i8zc_Ad2sQ"/>
+        </children>
+        <children>
+          <emfPageIdentifier href="CHESS.profile.notation#_Fx_DYDQ6EeC0ueejuetpgA"/>
+        </children>
+        <children>
+          <emfPageIdentifier href="CHESS.profile.notation#_Q1L50MF1Ed--atLXXafOiQ"/>
+        </children>
+        <children>
+          <emfPageIdentifier href="CHESS.profile.notation#_5dOcUMCtEd-RT45s8cwWMg"/>
+        </children>
+        <children>
+          <emfPageIdentifier href="CHESS.profile.notation#_5kiiEMCpEd-RT45s8cwWMg"/>
+        </children>
+        <children>
+          <emfPageIdentifier href="CHESS.profile.notation#_cqie0MDTEd-RT45s8cwWMg"/>
+        </children>
+        <children>
+          <emfPageIdentifier href="CHESS.profile.notation#_T56zMFiJEeG7ipvuc3Lqcg"/>
+        </children>
+      </children>
+    </windows>
+  </sashModel>
+</di:SashWindowsMngr>
diff --git a/plugins/org.polarsys.chess.chessmlprofile/model/CHESS.profile.di2 b/plugins/org.polarsys.chess.chessmlprofile/model/CHESS.profile.di2
new file mode 100644
index 000000000..cf8a422d1
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/model/CHESS.profile.di2
@@ -0,0 +1,382 @@
+<?xml version="1.0" encoding="ASCII"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:di2="http://www.papyrusuml.org" xmlns:uml="http://www.eclipse.org/uml2/3.0.0/UML">
+  <di2:Diagram isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="255:255:255" foregroundColor="255:255:255" backgroundColor="255:255:255" borderColor="255:255:255" position="0:0" name="MARTE extension">
+    <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="248:249:214" borderColor="157:124:47" position="133:72" size="220:100">
+      <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+      <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+      <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="248:249:214" borderColor="157:124:47" position="20:20" size="100:100">
+        <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+        <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+      </contained>
+      <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="248:249:214" borderColor="157:124:47" position="20:20" size="100:100">
+        <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+        <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+      </contained>
+      <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="248:249:214" borderColor="157:124:47" position="20:20" size="100:100">
+        <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+        <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+      </contained>
+      <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+        <element xsi:type="uml:ElementImport" href="CHESS-ML.profile.uml#_WP3MMDcwEd-mWLzcI61s7Q"/>
+      </semanticModel>
+      <anchorage position="256:172" graphEdge="/0/@contained.2"/>
+    </contained>
+    <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="248:249:214" borderColor="157:124:47" position="195:296" size="192:139">
+      <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+      <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+      <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="248:249:214" borderColor="157:124:47" position="20:20" size="100:100">
+        <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+        <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+      </contained>
+      <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="248:249:214" borderColor="157:124:47" position="20:20" size="100:100">
+        <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+        <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+      </contained>
+      <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="248:249:214" borderColor="157:124:47" position="20:20" size="100:100">
+        <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+        <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+      </contained>
+      <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+        <element xsi:type="uml:Stereotype" href="CHESS-ML.profile.uml#_Y4GZwDcwEd-mWLzcI61s7Q"/>
+      </semanticModel>
+      <anchorage position="256:295" graphEdge="/0/@contained.2"/>
+      <anchorage position="387:362" graphEdge="/0/@contained.4"/>
+      <anchorage position="387:416" graphEdge="/0/@contained.6"/>
+    </contained>
+    <contained xsi:type="di2:GraphEdge" isVisible="true" fontFamily="Arial" fontSize="9" lineStyle="solid" fontColor="0:0:0" foregroundColor="0:0:0" backgroundColor="0:0:0" borderColor="0:0:0" anchor="/0/@contained.1/@anchorage.0 /0/@contained.0/@anchorage.0">
+      <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+      <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+      <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" fontSize="9" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="248:249:214" borderColor="157:124:47" position="0:30" size="100:100">
+        <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+        <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+      </contained>
+      <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+        <element xsi:type="uml:Generalization" href="CHESS-ML.profile.uml#_ajHKEDcwEd-mWLzcI61s7Q"/>
+      </semanticModel>
+    </contained>
+    <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="248:249:214" borderColor="157:124:47" position="553:298" size="93:114">
+      <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+      <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+      <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="248:249:214" borderColor="157:124:47" position="20:20" size="100:100">
+        <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+        <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+      </contained>
+      <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="248:249:214" borderColor="157:124:47" position="20:20" size="100:100">
+        <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+        <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+      </contained>
+      <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="248:249:214" borderColor="157:124:47" position="20:20" size="100:100">
+        <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+        <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+      </contained>
+      <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+        <element xsi:type="uml:ElementImport" href="CHESS-ML.profile.uml#_eScikDcwEd-mWLzcI61s7Q"/>
+      </semanticModel>
+      <anchorage position="552:360" graphEdge="/0/@contained.4"/>
+    </contained>
+    <contained xsi:type="di2:GraphEdge" isVisible="true" fontFamily="Arial" fontSize="9" lineStyle="solid" fontColor="0:0:0" foregroundColor="0:0:0" backgroundColor="0:0:0" borderColor="0:0:0" anchor="/0/@contained.1/@anchorage.1 /0/@contained.3/@anchorage.0">
+      <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+      <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+      <contained xsi:type="di2:GraphNode" fontFamily="Arial" fontSize="9" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="248:249:214" borderColor="157:124:47" position="0:20" size="100:100">
+        <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+        <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+      </contained>
+      <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" fontSize="9" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="248:249:214" borderColor="157:124:47" position="-127:16" size="99:17">
+        <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+        <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+        <property key="custom_disp" value="1166"/>
+      </contained>
+      <contained xsi:type="di2:GraphNode" fontFamily="Arial" fontSize="9" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="248:249:214" borderColor="157:124:47" position="20:-20" size="100:100">
+        <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+        <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+        <property key="custom_disp" value="1166"/>
+      </contained>
+      <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" fontSize="9" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="248:249:214" borderColor="157:124:47" position="-60:-20" size="100:100">
+        <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+        <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+      </contained>
+      <contained xsi:type="di2:GraphNode" fontFamily="Arial" fontSize="9" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="248:249:214" borderColor="157:124:47" position="20:20" size="100:100">
+        <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+        <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+      </contained>
+      <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="248:249:214" borderColor="157:124:47" position="0:-20" size="100:100">
+        <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+        <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+      </contained>
+      <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+        <element xsi:type="uml:Association" href="CHESS-ML.profile.uml#_gmfo0DcwEd-mWLzcI61s7Q"/>
+      </semanticModel>
+    </contained>
+    <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="248:249:214" borderColor="157:124:47" position="503:438" size="267:117">
+      <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+      <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+      <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="248:249:214" borderColor="157:124:47" position="20:20" size="100:100">
+        <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+        <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+      </contained>
+      <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="248:249:214" borderColor="157:124:47" position="20:20" size="100:100">
+        <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+        <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+      </contained>
+      <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="248:249:214" borderColor="157:124:47" position="20:20" size="100:100">
+        <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+        <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+      </contained>
+      <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+        <element xsi:type="uml:ElementImport" href="CHESS-ML.profile.uml#_KH7CgDi7Ed-BkomQ9Pp_0A"/>
+      </semanticModel>
+      <anchorage position="502:507" graphEdge="/0/@contained.6"/>
+    </contained>
+    <contained xsi:type="di2:GraphEdge" isVisible="true" fontFamily="Arial" fontSize="9" lineStyle="solid" fontColor="0:0:0" foregroundColor="0:0:0" backgroundColor="0:0:0" borderColor="0:0:0" anchor="/0/@contained.1/@anchorage.2 /0/@contained.5/@anchorage.0">
+      <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+      <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+      <contained xsi:type="di2:GraphNode" fontFamily="Arial" fontSize="9" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="248:249:214" borderColor="157:124:47" position="0:20" size="100:100">
+        <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+        <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+      </contained>
+      <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" fontSize="9" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="248:249:214" borderColor="157:124:47" position="-116:-40" size="64:17">
+        <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+        <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+        <property key="custom_disp" value="1166"/>
+      </contained>
+      <contained xsi:type="di2:GraphNode" fontFamily="Arial" fontSize="9" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="248:249:214" borderColor="157:124:47" position="20:-20" size="100:100">
+        <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+        <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+        <property key="custom_disp" value="1166"/>
+      </contained>
+      <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" fontSize="9" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="248:249:214" borderColor="157:124:47" position="-60:-20" size="100:100">
+        <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+        <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+      </contained>
+      <contained xsi:type="di2:GraphNode" fontFamily="Arial" fontSize="9" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="248:249:214" borderColor="157:124:47" position="20:20" size="100:100">
+        <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+        <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+      </contained>
+      <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="248:249:214" borderColor="157:124:47" position="0:-20" size="100:100">
+        <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+        <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+      </contained>
+      <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+        <element xsi:type="uml:Association" href="CHESS-ML.profile.uml#_L3aDIDi7Ed-BkomQ9Pp_0A"/>
+      </semanticModel>
+    </contained>
+    <owner xsi:type="di2:Uml1SemanticModelBridge">
+      <element xsi:type="uml:Profile" href="CHESS-ML.profile.uml#_WgatoDgVEd-68Z_bhNRGsA"/>
+    </owner>
+  </di2:Diagram>
+  <di2:Diagram isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="255:255:255" foregroundColor="255:255:255" backgroundColor="255:255:255" borderColor="255:255:255" position="0:0" name="Class diagram of Core" type="ClassDiagram">
+    <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="248:249:214" borderColor="157:124:47" position="26:169" size="344:160">
+      <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+      <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+      <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="248:249:214" borderColor="157:124:47" position="20:20" size="100:100">
+        <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+        <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+        <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="248:249:214" borderColor="166:157:183" position="167:259" size="100:100">
+          <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+          <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+          <property key="custom_disp" value="252"/>
+          <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+            <element xsi:type="uml:Property" href="CHESS-ML.profile.uml#_JfQdEDgYEd-68Z_bhNRGsA"/>
+          </semanticModel>
+        </contained>
+        <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="248:249:214" borderColor="166:157:183" position="288:279" size="100:100">
+          <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+          <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+          <property key="custom_disp" value="252"/>
+          <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+            <element xsi:type="uml:Property" href="CHESS-ML.profile.uml#_RGrhcDgYEd-68Z_bhNRGsA"/>
+          </semanticModel>
+        </contained>
+        <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="248:249:214" borderColor="166:157:183" position="273:250" size="100:100">
+          <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+          <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+          <property key="custom_disp" value="252"/>
+          <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+            <element xsi:type="uml:Property" href="CHESS-ML.profile.uml#_tnR-sDgZEd-68Z_bhNRGsA"/>
+          </semanticModel>
+        </contained>
+      </contained>
+      <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="248:249:214" borderColor="157:124:47" position="20:20" size="100:100">
+        <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+        <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+      </contained>
+      <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="248:249:214" borderColor="157:124:47" position="20:20" size="100:100">
+        <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+        <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+      </contained>
+      <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+        <element xsi:type="uml:Stereotype" href="CHESS-ML.profile.uml#_opjLUDgXEd-68Z_bhNRGsA"/>
+      </semanticModel>
+      <anchorage position="164:168" graphEdge="/1/@contained.3"/>
+    </contained>
+    <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="248:249:214" borderColor="157:124:47" position="469:99" size="100:100">
+      <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+      <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+    </contained>
+    <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="248:249:214" borderColor="157:124:47" position="115:14" size="100:100">
+      <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+      <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+      <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="248:249:214" borderColor="157:124:47" position="20:20" size="100:100">
+        <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+        <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+      </contained>
+      <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="248:249:214" borderColor="157:124:47" position="20:20" size="100:100">
+        <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+        <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+      </contained>
+      <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="248:249:214" borderColor="157:124:47" position="20:20" size="100:100">
+        <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+        <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+      </contained>
+      <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+        <element xsi:type="uml:ElementImport" href="CHESS-ML.profile.uml#_x8t_0DgXEd-68Z_bhNRGsA"/>
+      </semanticModel>
+      <anchorage position="161:114" graphEdge="/1/@contained.3"/>
+    </contained>
+    <contained xsi:type="di2:GraphEdge" isVisible="true" fontFamily="Arial" fontSize="9" lineStyle="solid" fontColor="0:0:0" foregroundColor="0:0:0" backgroundColor="0:0:0" borderColor="0:0:0" anchor="/1/@contained.0/@anchorage.0 /1/@contained.2/@anchorage.0">
+      <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+      <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+      <contained xsi:type="di2:GraphNode" fontFamily="Arial" fontSize="9" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="248:249:214" borderColor="157:124:47" position="60:0" size="100:100">
+        <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+        <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+      </contained>
+      <contained xsi:type="di2:GraphNode" fontFamily="Arial" fontSize="9" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="248:249:214" borderColor="157:124:47" position="40:-20" size="100:100">
+        <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+        <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+      </contained>
+      <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+        <element xsi:type="uml:Extension" href="CHESS-ML.profile.uml#_1Baf4DgXEd-68Z_bhNRGsA"/>
+      </semanticModel>
+    </contained>
+    <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="248:249:214" borderColor="157:124:47" position="236:397" size="172:100">
+      <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+      <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+      <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="248:249:214" borderColor="157:124:47" position="20:20" size="100:100">
+        <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+        <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+      </contained>
+      <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="248:249:214" borderColor="157:124:47" position="20:20" size="100:100">
+        <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+        <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+      </contained>
+      <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="248:249:214" borderColor="157:124:47" position="20:20" size="100:100">
+        <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+        <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+      </contained>
+      <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+        <element xsi:type="uml:Stereotype" href="CHESS-ML.profile.uml#_4RSVMDgXEd-68Z_bhNRGsA"/>
+      </semanticModel>
+      <anchorage position="310:396" graphEdge="/1/@contained.7"/>
+    </contained>
+    <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="248:249:214" borderColor="157:124:47" position="474:398" size="182:100">
+      <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+      <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+      <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="248:249:214" borderColor="157:124:47" position="20:20" size="100:100">
+        <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+        <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+      </contained>
+      <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="248:249:214" borderColor="157:124:47" position="20:20" size="100:100">
+        <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+        <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+      </contained>
+      <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="248:249:214" borderColor="157:124:47" position="20:20" size="100:100">
+        <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+        <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+      </contained>
+      <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+        <element xsi:type="uml:Stereotype" href="CHESS-ML.profile.uml#_6bSHkDgXEd-68Z_bhNRGsA"/>
+      </semanticModel>
+      <anchorage position="566:397" graphEdge="/1/@contained.8"/>
+    </contained>
+    <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="248:249:214" borderColor="157:124:47" position="516:164" size="100:100">
+      <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+      <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+      <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="248:249:214" borderColor="157:124:47" position="20:20" size="100:100">
+        <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+        <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+      </contained>
+      <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="248:249:214" borderColor="157:124:47" position="20:20" size="100:100">
+        <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+        <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+      </contained>
+      <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="248:249:214" borderColor="157:124:47" position="20:20" size="100:100">
+        <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+        <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+      </contained>
+      <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+        <element xsi:type="uml:ElementImport" href="CHESS-ML.profile.uml#_FEHugDgYEd-68Z_bhNRGsA"/>
+      </semanticModel>
+      <anchorage position="562:264" graphEdge="/1/@contained.7"/>
+      <anchorage position="595:264" graphEdge="/1/@contained.10"/>
+      <anchorage position="576:264" graphEdge="/1/@contained.8"/>
+    </contained>
+    <contained xsi:type="di2:GraphEdge" isVisible="true" fontFamily="Arial" fontSize="9" lineStyle="solid" fontColor="0:0:0" foregroundColor="0:0:0" backgroundColor="0:0:0" borderColor="0:0:0" anchor="/1/@contained.4/@anchorage.0 /1/@contained.6/@anchorage.0">
+      <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+      <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+      <contained xsi:type="di2:GraphNode" fontFamily="Arial" fontSize="9" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="248:249:214" borderColor="157:124:47" position="60:0" size="100:100">
+        <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+        <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+      </contained>
+      <contained xsi:type="di2:GraphNode" fontFamily="Arial" fontSize="9" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="248:249:214" borderColor="157:124:47" position="40:20" size="100:100">
+        <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+        <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+      </contained>
+      <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+        <element xsi:type="uml:Extension" href="CHESS-ML.profile.uml#_FqRvkDgYEd-68Z_bhNRGsA"/>
+      </semanticModel>
+    </contained>
+    <contained xsi:type="di2:GraphEdge" isVisible="true" fontFamily="Arial" fontSize="9" lineStyle="solid" fontColor="0:0:0" foregroundColor="0:0:0" backgroundColor="0:0:0" borderColor="0:0:0" anchor="/1/@contained.5/@anchorage.0 /1/@contained.6/@anchorage.2">
+      <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+      <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+      <contained xsi:type="di2:GraphNode" fontFamily="Arial" fontSize="9" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="248:249:214" borderColor="157:124:47" position="60:0" size="100:100">
+        <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+        <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+      </contained>
+      <contained xsi:type="di2:GraphNode" fontFamily="Arial" fontSize="9" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="248:249:214" borderColor="157:124:47" position="40:-20" size="100:100">
+        <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+        <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+      </contained>
+      <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+        <element xsi:type="uml:Extension" href="CHESS-ML.profile.uml#_F--0QDgYEd-68Z_bhNRGsA"/>
+      </semanticModel>
+    </contained>
+    <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="248:249:214" borderColor="157:124:47" position="695:399" size="129:100">
+      <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+      <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+      <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="248:249:214" borderColor="157:124:47" position="20:20" size="100:100">
+        <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+        <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+      </contained>
+      <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="248:249:214" borderColor="157:124:47" position="20:20" size="100:100">
+        <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+        <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+      </contained>
+      <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="248:249:214" borderColor="157:124:47" position="20:20" size="100:100">
+        <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+        <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+      </contained>
+      <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+        <element xsi:type="uml:Stereotype" href="CHESS-ML.profile.uml#_n55lIDgZEd-68Z_bhNRGsA"/>
+      </semanticModel>
+      <anchorage position="768:398" graphEdge="/1/@contained.10"/>
+    </contained>
+    <contained xsi:type="di2:GraphEdge" isVisible="true" fontFamily="Arial" fontSize="9" lineStyle="solid" fontColor="0:0:0" foregroundColor="0:0:0" backgroundColor="0:0:0" borderColor="0:0:0" anchor="/1/@contained.9/@anchorage.0 /1/@contained.6/@anchorage.1">
+      <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+      <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+      <contained xsi:type="di2:GraphNode" fontFamily="Arial" fontSize="9" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="248:249:214" borderColor="157:124:47" position="60:0" size="100:100">
+        <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+        <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+      </contained>
+      <contained xsi:type="di2:GraphNode" fontFamily="Arial" fontSize="9" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="248:249:214" borderColor="157:124:47" position="0:-40" size="100:100">
+        <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+        <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+      </contained>
+      <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+        <element xsi:type="uml:Extension" href="CHESS-ML.profile.uml#_psWaMDgZEd-68Z_bhNRGsA"/>
+      </semanticModel>
+    </contained>
+    <owner xsi:type="di2:Uml1SemanticModelBridge">
+      <element xsi:type="uml:Profile" href="CHESS-ML.profile.uml#_ad4owDgVEd-68Z_bhNRGsA"/>
+    </owner>
+  </di2:Diagram>
+</xmi:XMI>
diff --git a/plugins/org.polarsys.chess.chessmlprofile/model/CHESS.profile.notation b/plugins/org.polarsys.chess.chessmlprofile/model/CHESS.profile.notation
new file mode 100644
index 000000000..9ca469c4d
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/model/CHESS.profile.notation
@@ -0,0 +1,6462 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:css="http://www.eclipse.org/papyrus/infra/gmfdiag/css" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML">
+  <notation:Diagram xmi:id="_mwzqMG2PEd-OHNNfvuYr9g" type="PapyrusUMLClassDiagram" name="NewDiagram" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_0PckIG2QEd-OHNNfvuYr9g" type="2007" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0PluEG2QEd-OHNNfvuYr9g" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0PluEW2QEd-OHNNfvuYr9g" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0PluEm2QEd-OHNNfvuYr9g" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0PluE22QEd-OHNNfvuYr9g" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0PluFG2QEd-OHNNfvuYr9g" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0PluFW2QEd-OHNNfvuYr9g" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_0PluFm2QEd-OHNNfvuYr9g" type="5026"/>
+      <children xmi:type="notation:DecorationNode" xmi:id="_0PluF22QEd-OHNNfvuYr9g" type="7016">
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0PluGG2QEd-OHNNfvuYr9g"/>
+      </children>
+      <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_0PckIW2QEd-OHNNfvuYr9g"/>
+      <element xmi:type="uml:Profile" href="CHESS.profile.uml#_ad4owDgVEd-68Z_bhNRGsA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0PckIm2QEd-OHNNfvuYr9g" x="152" y="114"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_0ulXMG2QEd-OHNNfvuYr9g" type="2007" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0ulXM22QEd-OHNNfvuYr9g" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0ulXNG2QEd-OHNNfvuYr9g" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0ulXNW2QEd-OHNNfvuYr9g" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0ulXNm2QEd-OHNNfvuYr9g" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0ulXN22QEd-OHNNfvuYr9g" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0ulXOG2QEd-OHNNfvuYr9g" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_0ulXOW2QEd-OHNNfvuYr9g" type="5026"/>
+      <children xmi:type="notation:DecorationNode" xmi:id="_0ulXOm2QEd-OHNNfvuYr9g" type="7016">
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0ulXO22QEd-OHNNfvuYr9g"/>
+      </children>
+      <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_0ulXMW2QEd-OHNNfvuYr9g"/>
+      <element xmi:type="uml:Profile" href="CHESS.profile.uml#_WgatoDgVEd-68Z_bhNRGsA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0ulXMm2QEd-OHNNfvuYr9g" x="126" y="272"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_mwzqMW2PEd-OHNNfvuYr9g"/>
+    <element xmi:type="uml:Profile" href="CHESS.profile.uml#_mwW-QG2PEd-OHNNfvuYr9g"/>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_TvxXUG2REd-OHNNfvuYr9g" type="PapyrusUMLProfileDiagram" name="RTProfileDiagram" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_r2te0G8VEd-8i8zc_Ad2sQ" type="1026" fontHeight="8" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_r23P0m8VEd-8i8zc_Ad2sQ" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_r23P028VEd-8i8zc_Ad2sQ" type="1071">
+        <children xmi:type="notation:Shape" xmi:id="_krv04cASEd-Dn5_MBIs5Vw" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_krv04MASEd-Dn5_MBIs5Vw"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_krv04sASEd-Dn5_MBIs5Vw"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_7t0z8cATEd-Dn5_MBIs5Vw" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_7t0z8MATEd-Dn5_MBIs5Vw"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_7t0z8sATEd-Dn5_MBIs5Vw"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_GLbRoMDMEd-RT45s8cwWMg" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_GLIWsMDMEd-RT45s8cwWMg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_GLbRocDMEd-RT45s8cwWMg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_AzU5oMDOEd-RT45s8cwWMg" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_AzLIoMDOEd-RT45s8cwWMg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_AzU5ocDOEd-RT45s8cwWMg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_p-1SQMGKEd--atLXXafOiQ" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_p-hwQMGKEd--atLXXafOiQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_p-1SQcGKEd--atLXXafOiQ"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_FwBhQMGLEd--atLXXafOiQ" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_Fv3wQMGLEd--atLXXafOiQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_FwBhQcGLEd--atLXXafOiQ"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_Ij5XEMGLEd--atLXXafOiQ" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_IjvmEMGLEd--atLXXafOiQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_Ij5XEcGLEd--atLXXafOiQ"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_vLhDEEA9EeCQiNENxL6u1Q" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_voeRYEAoEeCgBsnPy5jVRQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_vLhDEUA9EeCQiNENxL6u1Q" x="73" y="108"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_viBekEA9EeCQiNENxL6u1Q" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_GcHoUEApEeCgBsnPy5jVRQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_viBekUA9EeCQiNENxL6u1Q" x="74" y="113"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_wKZtMEA9EeCQiNENxL6u1Q" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_XJT-YEApEeCgBsnPy5jVRQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_wKZtMUA9EeCQiNENxL6u1Q" x="264" y="105"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_w5C74EA9EeCQiNENxL6u1Q" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_kNveAEApEeCgBsnPy5jVRQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_w5C74UA9EeCQiNENxL6u1Q" x="80" y="166"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_4WFqENqtEeCgKdScvhOcyQ" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_4RoA0NqtEeCgKdScvhOcyQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_4WFqEdqtEeCgKdScvhOcyQ"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_jHIuINqvEeCgKdScvhOcyQ" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_jGsCMNqvEeCgKdScvhOcyQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_jHIuIdqvEeCgKdScvhOcyQ"/>
+        </children>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_r23P1G8VEd-8i8zc_Ad2sQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_r23P1W8VEd-8i8zc_Ad2sQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_r23P1m8VEd-8i8zc_Ad2sQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_r23P128VEd-8i8zc_Ad2sQ" type="1019">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_r23P2G8VEd-8i8zc_Ad2sQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_r23P2W8VEd-8i8zc_Ad2sQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_r23P2m8VEd-8i8zc_Ad2sQ"/>
+      </children>
+      <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_r23P0G8VEd-8i8zc_Ad2sQ"/>
+      <element xmi:type="uml:Stereotype" href="CHESS.profile.uml#_Y4GZwDcwEd-mWLzcI61s7Q"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_r23P0W8VEd-8i8zc_Ad2sQ" x="380" y="205" width="261" height="246"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_wlgwQG8VEd-8i8zc_Ad2sQ" type="1031" fontHeight="8" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_wlgwQm8VEd-8i8zc_Ad2sQ" type="1084"/>
+      <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wlgwQW8VEd-8i8zc_Ad2sQ" x="40" y="125" width="196" height="85"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_P2FI8Dg0EeCE2sZUGxu35w" type="1026" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_P2FI8jg0EeCE2sZUGxu35w" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_P2FI8zg0EeCE2sZUGxu35w" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_P2FI9Dg0EeCE2sZUGxu35w" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_P2FI9Tg0EeCE2sZUGxu35w" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_P2FI9jg0EeCE2sZUGxu35w" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_P2FI9zg0EeCE2sZUGxu35w" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_P2FI-Dg0EeCE2sZUGxu35w" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_P2FI-Tg0EeCE2sZUGxu35w" type="1071">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_P2FI-jg0EeCE2sZUGxu35w"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_P2FI-zg0EeCE2sZUGxu35w"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_P2FI_Dg0EeCE2sZUGxu35w"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_P2FI_Tg0EeCE2sZUGxu35w" type="1019">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_P2FI_jg0EeCE2sZUGxu35w"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_P2FI_zg0EeCE2sZUGxu35w"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_P2FJADg0EeCE2sZUGxu35w"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_AZ8eMEFeEd6UW4qJC-Vahw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_P2FI8Tg0EeCE2sZUGxu35w" x="520" y="26"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_d-cx0Dg0EeCE2sZUGxu35w" type="1031" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_d-cx0jg0EeCE2sZUGxu35w" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_d-cx0zg0EeCE2sZUGxu35w" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_d-cx1Dg0EeCE2sZUGxu35w" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_d-cx1Tg0EeCE2sZUGxu35w" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_d-cx1jg0EeCE2sZUGxu35w" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_d-cx1zg0EeCE2sZUGxu35w" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_d-cx2jg0EeCE2sZUGxu35w" source="Stereotype_Annotation">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yyjXwP3gEeOmz-4FDV-1Kw" key="StereotypeWithQualifiedNameList" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yyjXwf3gEeOmz-4FDV-1Kw" key="StereotypeList" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yyj-0P3gEeOmz-4FDV-1Kw" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yyj-0f3gEeOmz-4FDV-1Kw" key="PropStereoDisplay" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yykl4P3gEeOmz-4FDV-1Kw" key="StereotypePropertyLocation" value="Compartment"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_d-cx2Dg0EeCE2sZUGxu35w" type="1084"/>
+      <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Slot"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_d-cx2Tg0EeCE2sZUGxu35w" x="30" y="335"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_TbrrwDg2EeCE2sZUGxu35w" type="1031" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Tbrrwjg2EeCE2sZUGxu35w" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Tbrrwzg2EeCE2sZUGxu35w" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TbrrxDg2EeCE2sZUGxu35w" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_TbrrxTg2EeCE2sZUGxu35w" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Tbrrxjg2EeCE2sZUGxu35w" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Tbrrxzg2EeCE2sZUGxu35w" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Tbrryjg2EeCE2sZUGxu35w" source="Stereotype_Annotation">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_y0PZ0P3gEeOmz-4FDV-1Kw" key="StereotypeWithQualifiedNameList" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_y0QA4P3gEeOmz-4FDV-1Kw" key="StereotypeList" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_y0QA4f3gEeOmz-4FDV-1Kw" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_y0Qn8P3gEeOmz-4FDV-1Kw" key="PropStereoDisplay" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_y0Qn8f3gEeOmz-4FDV-1Kw" key="StereotypePropertyLocation" value="Compartment"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_TbrryDg2EeCE2sZUGxu35w" type="1084"/>
+      <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Slot"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TbrryTg2EeCE2sZUGxu35w" x="85" y="540"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="__u0NoDg3EeCE2sZUGxu35w" type="1026" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__u0Nojg3EeCE2sZUGxu35w" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__u0Nozg3EeCE2sZUGxu35w" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__u0NpDg3EeCE2sZUGxu35w" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__u0NpTg3EeCE2sZUGxu35w" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__u0Npjg3EeCE2sZUGxu35w" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__u0Npzg3EeCE2sZUGxu35w" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="__u0NqDg3EeCE2sZUGxu35w" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="__u0NqTg3EeCE2sZUGxu35w" type="1071">
+        <styles xmi:type="notation:SortingStyle" xmi:id="__u0Nqjg3EeCE2sZUGxu35w"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="__u0Nqzg3EeCE2sZUGxu35w"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="__u0NrDg3EeCE2sZUGxu35w"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="__u0NrTg3EeCE2sZUGxu35w" type="1019">
+        <styles xmi:type="notation:SortingStyle" xmi:id="__u0Nrjg3EeCE2sZUGxu35w"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="__u0Nrzg3EeCE2sZUGxu35w"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="__u0NsDg3EeCE2sZUGxu35w"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="CHESS.profile.uml#__uhSsDg3EeCE2sZUGxu35w"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="__u0NoTg3EeCE2sZUGxu35w" x="505" y="530" width="156" height="71"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_Qv9YAEAbEeCQKOeIf0epIQ" type="1031" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QwGh8EAbEeCQKOeIf0epIQ" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_QwGh8UAbEeCQKOeIf0epIQ" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QwGh8kAbEeCQKOeIf0epIQ" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_QwGh80AbEeCQKOeIf0epIQ" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QwGh9EAbEeCQKOeIf0epIQ" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_QwGh9UAbEeCQKOeIf0epIQ" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QwGh-EAbEeCQKOeIf0epIQ" source="Stereotype_Annotation">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_y3oFAP3gEeOmz-4FDV-1Kw" key="StereotypeWithQualifiedNameList" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_y3osEP3gEeOmz-4FDV-1Kw" key="StereotypeList" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_y3osEf3gEeOmz-4FDV-1Kw" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_y3osEv3gEeOmz-4FDV-1Kw" key="PropStereoDisplay" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_y3pTIP3gEeOmz-4FDV-1Kw" key="StereotypePropertyLocation" value="Compartment"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_QwGh9kAbEeCQKOeIf0epIQ" type="1084"/>
+      <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Comment"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QwGh90AbEeCQKOeIf0epIQ" x="715" y="150"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_6dmo0NqwEeCgKdScvhOcyQ" type="1031" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6dmo0tqwEeCgKdScvhOcyQ" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6dmo09qwEeCgKdScvhOcyQ" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6dmo1NqwEeCgKdScvhOcyQ" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6dmo1dqwEeCgKdScvhOcyQ" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6dmo1tqwEeCgKdScvhOcyQ" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6dmo19qwEeCgKdScvhOcyQ" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6dwZ0NqwEeCgKdScvhOcyQ" source="Stereotype_Annotation">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_y50dYP3gEeOmz-4FDV-1Kw" key="StereotypeWithQualifiedNameList" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_y50dYf3gEeOmz-4FDV-1Kw" key="StereotypeList" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_y51EcP3gEeOmz-4FDV-1Kw" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_y51Ecf3gEeOmz-4FDV-1Kw" key="PropStereoDisplay" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_y51rgP3gEeOmz-4FDV-1Kw" key="StereotypePropertyLocation" value="Compartment"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_6dmo2NqwEeCgKdScvhOcyQ" type="1084"/>
+      <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#InstanceSpecification"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6dmo2dqwEeCgKdScvhOcyQ" x="825" y="227"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_TvxXUW2REd-OHNNfvuYr9g"/>
+    <element xmi:type="uml:Profile" href="CHESS.profile.uml#_WgatoDgVEd-68Z_bhNRGsA"/>
+    <edges xmi:type="notation:Connector" xmi:id="_wncp8G8VEd-8i8zc_Ad2sQ" type="4001" source="_wlgwQG8VEd-8i8zc_Ad2sQ" target="_r2te0G8VEd-8i8zc_Ad2sQ" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_wnlz4G8VEd-8i8zc_Ad2sQ" type="6001">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_wnlz4W8VEd-8i8zc_Ad2sQ" y="60"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_wnlz4m8VEd-8i8zc_Ad2sQ" type="6002">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_wnlz428VEd-8i8zc_Ad2sQ" y="40"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_wnlz5G8VEd-8i8zc_Ad2sQ" type="6003">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_wnlz5W8VEd-8i8zc_Ad2sQ" x="-53" y="-38"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_wnlz5m8VEd-8i8zc_Ad2sQ" type="6005">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_wnlz528VEd-8i8zc_Ad2sQ" x="-70" y="18"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_wncp8W8VEd-8i8zc_Ad2sQ" fontHeight="8"/>
+      <element xmi:type="uml:Association" href="CHESS.profile.uml#_gmfo0DcwEd-mWLzcI61s7Q"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_wncp8m8VEd-8i8zc_Ad2sQ" points="[0, 0, -415, -361]$[357, 311, -58, -50]"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_hM1ZYDg0EeCE2sZUGxu35w" type="4001" source="_r2te0G8VEd-8i8zc_Ad2sQ" target="_d-cx0Dg0EeCE2sZUGxu35w" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_hM_KYDg0EeCE2sZUGxu35w" type="6001">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_hM_KYTg0EeCE2sZUGxu35w" y="60"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_hM_KYjg0EeCE2sZUGxu35w" type="6002">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_hM_KYzg0EeCE2sZUGxu35w" y="20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_hM_KZDg0EeCE2sZUGxu35w" type="6003">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_hM_KZTg0EeCE2sZUGxu35w" x="7" y="-35"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_hM_KZjg0EeCE2sZUGxu35w" type="6005">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_hM_KZzg0EeCE2sZUGxu35w" x="69" y="-16"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_hM_KaDg0EeCE2sZUGxu35w" type="6033">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_hM_KaTg0EeCE2sZUGxu35w" y="20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_hM_Kajg0EeCE2sZUGxu35w" type="6034">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_hM_Kazg0EeCE2sZUGxu35w" y="-20"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_hM1ZYTg0EeCE2sZUGxu35w" fontHeight="8"/>
+      <element xmi:type="uml:Association" href="CHESS.profile.uml#_hMroYzg0EeCE2sZUGxu35w"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_hM1ZYjg0EeCE2sZUGxu35w" points="[-21, 4, 230, -46]$[-250, 25, 1, -25]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_hNbPQDg0EeCE2sZUGxu35w" id="(0.06645569620253164,0.36649214659685864)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_BXbxQDg4EeCE2sZUGxu35w" type="1013" source="__u0NoDg3EeCE2sZUGxu35w" target="_TbrrwDg2EeCE2sZUGxu35w" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_BXbxQTg4EeCE2sZUGxu35w" fontHeight="8"/>
+      <element xmi:type="uml:Extension" href="CHESS.profile.uml#_BXSAQTg4EeCE2sZUGxu35w"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_BXbxQjg4EeCE2sZUGxu35w" points="[-28, 1, 205, -20]$[-283, 38, -50, 17]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_BXusMDg4EeCE2sZUGxu35w" id="(0.1794871794871795,0.6197183098591549)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_CNhrwDg4EeCE2sZUGxu35w" type="4001" source="__u0NoDg3EeCE2sZUGxu35w" target="_r2te0G8VEd-8i8zc_Ad2sQ" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_CNhrwzg4EeCE2sZUGxu35w" type="6001">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_CNhrxDg4EeCE2sZUGxu35w" y="60"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_CNhrxTg4EeCE2sZUGxu35w" type="6002">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_CNhrxjg4EeCE2sZUGxu35w" y="20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_CNhrxzg4EeCE2sZUGxu35w" type="6003">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_CNhryDg4EeCE2sZUGxu35w" y="20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_CNhryTg4EeCE2sZUGxu35w" type="6005">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_CNhryjg4EeCE2sZUGxu35w" y="-20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_CNhryzg4EeCE2sZUGxu35w" type="6033">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_CNhrzDg4EeCE2sZUGxu35w" y="20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_CNhrzTg4EeCE2sZUGxu35w" type="6034">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_CNhrzjg4EeCE2sZUGxu35w" y="-20"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_CNhrwTg4EeCE2sZUGxu35w" fontHeight="8"/>
+      <element xmi:type="uml:Association" href="CHESS.profile.uml#_CNOJwzg4EeCE2sZUGxu35w"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_CNhrwjg4EeCE2sZUGxu35w" points="[18, -35, -47, 90]$[216, -275, 151, -150]"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_CN0msDg4EeCE2sZUGxu35w" id="(0.3259493670886076,0.7853403141361257)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_Rt8DMEAbEeCQKOeIf0epIQ" type="1013" source="_r2te0G8VEd-8i8zc_Ad2sQ" target="_Qv9YAEAbEeCQKOeIf0epIQ" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_Rt8DMUAbEeCQKOeIf0epIQ" fontHeight="8"/>
+      <element xmi:type="uml:Extension" href="CHESS.profile.uml#_RtpIQUAbEeCQKOeIf0epIQ"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Rt8DMkAbEeCQKOeIf0epIQ" points="[-8, -25, 49, 158]$[-7, -185, 50, -2]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_RuYvIEAbEeCQKOeIf0epIQ" id="(0.24367088607594936,0.13089005235602094)"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_iv4ggG2REd-OHNNfvuYr9g" type="PapyrusUMLProfileDiagram" name="CHESS-ML" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_jQ0DUG2REd-OHNNfvuYr9g" type="1030" fontHeight="8" transparency="0" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_jQ0DUm2REd-OHNNfvuYr9g" type="1047"/>
+      <children xmi:type="notation:DecorationNode" xmi:id="_jQ0DU22REd-OHNNfvuYr9g" type="1042">
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jQ0DVG2REd-OHNNfvuYr9g"/>
+      </children>
+      <element xmi:type="uml:Profile" href="CHESS.profile.uml#_ad4owDgVEd-68Z_bhNRGsA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jQ0DUW2REd-OHNNfvuYr9g" x="100" y="30" width="349" height="190"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_nyasMLwzEd-CDNLmLgazUQ" type="1030" fontHeight="8" transparency="0" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nyasMrwzEd-CDNLmLgazUQ" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_nyasM7wzEd-CDNLmLgazUQ" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nyasNLwzEd-CDNLmLgazUQ" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_nyasNbwzEd-CDNLmLgazUQ" key="displayNameLabelIcon_value" value="true"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nyasNrwzEd-CDNLmLgazUQ" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_nyasN7wzEd-CDNLmLgazUQ" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_nyasOLwzEd-CDNLmLgazUQ" type="1047"/>
+      <children xmi:type="notation:DecorationNode" xmi:id="_nyasObwzEd-CDNLmLgazUQ" type="1042">
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_nyasOrwzEd-CDNLmLgazUQ"/>
+      </children>
+      <element xmi:type="uml:Profile" href="CHESS.profile.uml#_nyQ7MLwzEd-CDNLmLgazUQ"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_nyasMbwzEd-CDNLmLgazUQ" x="50" y="550"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_u9GKMLwzEd-CDNLmLgazUQ" type="1030" fontHeight="8" transparency="0" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_u9GKMrwzEd-CDNLmLgazUQ" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_u9GKM7wzEd-CDNLmLgazUQ" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_u9GKNLwzEd-CDNLmLgazUQ" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_u9GKNbwzEd-CDNLmLgazUQ" key="displayNameLabelIcon_value" value="true"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_u9GKNrwzEd-CDNLmLgazUQ" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_u9GKN7wzEd-CDNLmLgazUQ" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_u9GKOLwzEd-CDNLmLgazUQ" type="1047"/>
+      <children xmi:type="notation:DecorationNode" xmi:id="_u9GKObwzEd-CDNLmLgazUQ" type="1042">
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_u9GKOrwzEd-CDNLmLgazUQ"/>
+      </children>
+      <element xmi:type="uml:Profile" href="CHESS.profile.uml#_u88ZMLwzEd-CDNLmLgazUQ"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_u9GKMbwzEd-CDNLmLgazUQ" x="361" y="567"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_0snasDQ1EeC0ueejuetpgA" type="2007" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0snasjQ1EeC0ueejuetpgA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0snaszQ1EeC0ueejuetpgA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0snatDQ1EeC0ueejuetpgA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0snatTQ1EeC0ueejuetpgA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0snatjQ1EeC0ueejuetpgA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0snatzQ1EeC0ueejuetpgA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_0snauDQ1EeC0ueejuetpgA" type="5026"/>
+      <children xmi:type="notation:DecorationNode" xmi:id="_0snauTQ1EeC0ueejuetpgA" type="1005">
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0snaujQ1EeC0ueejuetpgA"/>
+      </children>
+      <element xmi:type="uml:Package" href="CHESS.profile.uml#_ioSQkMGMEd--atLXXafOiQ"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0snasTQ1EeC0ueejuetpgA" x="480" y="165" width="268" height="137"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_5uojEDQ1EeC0ueejuetpgA" type="2007" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_5uojEjQ1EeC0ueejuetpgA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_5uojEzQ1EeC0ueejuetpgA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_5uojFDQ1EeC0ueejuetpgA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_5uojFTQ1EeC0ueejuetpgA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_5uojFjQ1EeC0ueejuetpgA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_5uojFzQ1EeC0ueejuetpgA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_5uojGDQ1EeC0ueejuetpgA" type="5026"/>
+      <children xmi:type="notation:DecorationNode" xmi:id="_5uojGTQ1EeC0ueejuetpgA" type="1005">
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5uojGjQ1EeC0ueejuetpgA"/>
+      </children>
+      <element xmi:type="uml:Package" href="CHESS.profile.uml#_WSNEsMGMEd--atLXXafOiQ"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5uojETQ1EeC0ueejuetpgA" x="65" y="245"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_Mf3NcDQ2EeC0ueejuetpgA" type="1030" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Mf3NcjQ2EeC0ueejuetpgA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Mf3NczQ2EeC0ueejuetpgA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Mf3NdDQ2EeC0ueejuetpgA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Mf3NdTQ2EeC0ueejuetpgA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Mf3NdjQ2EeC0ueejuetpgA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Mf3NdzQ2EeC0ueejuetpgA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_Mf3NeDQ2EeC0ueejuetpgA" type="1047"/>
+      <children xmi:type="notation:DecorationNode" xmi:id="_Mf3NeTQ2EeC0ueejuetpgA" type="1042">
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Mf3NejQ2EeC0ueejuetpgA"/>
+      </children>
+      <element xmi:type="uml:Profile" href="CHESS.profile.uml#_MftccDQ2EeC0ueejuetpgA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Mf3NcTQ2EeC0ueejuetpgA" x="300" y="385" width="201" height="111"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_iv4ggW2REd-OHNNfvuYr9g"/>
+    <element xmi:type="uml:Profile" href="CHESS.profile.uml#_EA6IcDcwEd-mWLzcI61s7Q"/>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_7EqPsG8VEd-8i8zc_Ad2sQ" type="PapyrusUMLProfileDiagram" name="CoreProfileDiagram" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_8D_lwG8VEd-8i8zc_Ad2sQ" type="1026" fontHeight="8" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_8D_lw28VEd-8i8zc_Ad2sQ" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_8D_lxG8VEd-8i8zc_Ad2sQ" type="1071">
+        <children xmi:type="notation:Shape" xmi:id="_ygNc4ETxEeChVqfgLme9HQ" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_708k4MJeEd-9OOhgleDe8g"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_ygNc4UTxEeChVqfgLme9HQ" x="61" y="15"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_zERzQETxEeChVqfgLme9HQ" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_AX1dEMJmEd-o9IXQjCmxTw"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_zERzQUTxEeChVqfgLme9HQ" x="105" y="20"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_0nOMsETxEeChVqfgLme9HQ" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_0mxgwETxEeChVqfgLme9HQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_0nOMsUTxEeChVqfgLme9HQ"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_809DIETxEeChVqfgLme9HQ" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_80gXMETxEeChVqfgLme9HQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_809DIUTxEeChVqfgLme9HQ"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_G5K70PWcEeG6etnsQZngdA" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_G4dxMPWcEeG6etnsQZngdA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_G5K70fWcEeG6etnsQZngdA"/>
+        </children>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_8D_lxW8VEd-8i8zc_Ad2sQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_8D_lxm8VEd-8i8zc_Ad2sQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8D_lx28VEd-8i8zc_Ad2sQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_8D_lyG8VEd-8i8zc_Ad2sQ" type="1019">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_8D_lyW8VEd-8i8zc_Ad2sQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_8D_lym8VEd-8i8zc_Ad2sQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8D_ly28VEd-8i8zc_Ad2sQ"/>
+      </children>
+      <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_8D_lwW8VEd-8i8zc_Ad2sQ"/>
+      <element xmi:type="uml:Stereotype" href="CHESS.profile.uml#_opjLUDgXEd-68Z_bhNRGsA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8D_lwm8VEd-8i8zc_Ad2sQ" x="30" y="105" width="241" height="131"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_KMDsoG8WEd-8i8zc_Ad2sQ" type="1031" fontHeight="8" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_KMNdoG8WEd-8i8zc_Ad2sQ" type="1084"/>
+      <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Model"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_KMDsoW8WEd-8i8zc_Ad2sQ" x="35" y="15"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_a-9tYE7nEeCiWfCHUearZQ" type="1026" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_a-9tYk7nEeCiWfCHUearZQ" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_a-9tY07nEeCiWfCHUearZQ" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_a-9tZE7nEeCiWfCHUearZQ" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_a-9tZU7nEeCiWfCHUearZQ" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_a-9tZk7nEeCiWfCHUearZQ" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_a-9tZ07nEeCiWfCHUearZQ" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_a-9taE7nEeCiWfCHUearZQ" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_a-9taU7nEeCiWfCHUearZQ" type="1071">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_a-9tak7nEeCiWfCHUearZQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_a-9ta07nEeCiWfCHUearZQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a-9tbE7nEeCiWfCHUearZQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_a-9tbU7nEeCiWfCHUearZQ" type="1019">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_a-9tbk7nEeCiWfCHUearZQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_a-9tb07nEeCiWfCHUearZQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a-9tcE7nEeCiWfCHUearZQ"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="CHESS.profile.uml#_a-X3gE7nEeCiWfCHUearZQ"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a-9tYU7nEeCiWfCHUearZQ" x="415" y="240" width="171" height="76"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_i2fqUE7nEeCiWfCHUearZQ" type="1026" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_i2fqUk7nEeCiWfCHUearZQ" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_i2fqU07nEeCiWfCHUearZQ" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_i2fqVE7nEeCiWfCHUearZQ" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_i2fqVU7nEeCiWfCHUearZQ" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_i2fqVk7nEeCiWfCHUearZQ" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_i2fqV07nEeCiWfCHUearZQ" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_i2fqWE7nEeCiWfCHUearZQ" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_i2fqWU7nEeCiWfCHUearZQ" type="1071">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_i2fqWk7nEeCiWfCHUearZQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_i2fqW07nEeCiWfCHUearZQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_i2fqXE7nEeCiWfCHUearZQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_i2fqXU7nEeCiWfCHUearZQ" type="1019">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_i2fqXk7nEeCiWfCHUearZQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_i2fqX07nEeCiWfCHUearZQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_i2fqYE7nEeCiWfCHUearZQ"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_JSAYgBKgEdyaWJN1BYon3A"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_i2fqUU7nEeCiWfCHUearZQ" x="445" y="65" width="156"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_mVHtUE7nEeCiWfCHUearZQ" type="1031" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_mVHtUk7nEeCiWfCHUearZQ" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_mVHtU07nEeCiWfCHUearZQ" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_mVHtVE7nEeCiWfCHUearZQ" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_mVHtVU7nEeCiWfCHUearZQ" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_mVHtVk7nEeCiWfCHUearZQ" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_mVHtV07nEeCiWfCHUearZQ" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_mVHtWk7nEeCiWfCHUearZQ" source="Stereotype_Annotation">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zIi14P3gEeOmz-4FDV-1Kw" key="StereotypeWithQualifiedNameList" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zIi14f3gEeOmz-4FDV-1Kw" key="StereotypeList" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zIi14v3gEeOmz-4FDV-1Kw" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zIjc8P3gEeOmz-4FDV-1Kw" key="PropStereoDisplay" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zIjc8f3gEeOmz-4FDV-1Kw" key="StereotypePropertyLocation" value="Compartment"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_mVHtWE7nEeCiWfCHUearZQ" type="1084"/>
+      <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#InstanceSpecification"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mVHtWU7nEeCiWfCHUearZQ" x="645" y="265"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_rLOgoE7nEeCiWfCHUearZQ" type="1031" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_rLOgok7nEeCiWfCHUearZQ" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_rLOgo07nEeCiWfCHUearZQ" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_rLOgpE7nEeCiWfCHUearZQ" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_rLOgpU7nEeCiWfCHUearZQ" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_rLOgpk7nEeCiWfCHUearZQ" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_rLOgp07nEeCiWfCHUearZQ" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_rLOgqk7nEeCiWfCHUearZQ" source="Stereotype_Annotation">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zI1w0P3gEeOmz-4FDV-1Kw" key="StereotypeWithQualifiedNameList" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zI1w0f3gEeOmz-4FDV-1Kw" key="StereotypeList" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zI2X4P3gEeOmz-4FDV-1Kw" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zI2X4f3gEeOmz-4FDV-1Kw" key="PropStereoDisplay" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zI2X4v3gEeOmz-4FDV-1Kw" key="StereotypePropertyLocation" value="Compartment"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_rLOgqE7nEeCiWfCHUearZQ" type="1084"/>
+      <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Package"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_rLOgqU7nEeCiWfCHUearZQ" x="650" y="130"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_e7F9cFYfEeGwxKcMAge2Cg" type="1026" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_e7GkgFYfEeGwxKcMAge2Cg" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_e7GkgVYfEeGwxKcMAge2Cg" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_e7GkglYfEeGwxKcMAge2Cg" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_e7HLkFYfEeGwxKcMAge2Cg" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_e7HLkVYfEeGwxKcMAge2Cg" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_e7HLklYfEeGwxKcMAge2Cg" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_e7HLk1YfEeGwxKcMAge2Cg" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_e7HLlFYfEeGwxKcMAge2Cg" type="1071">
+        <children xmi:type="notation:Shape" xmi:id="_nG124FYfEeGwxKcMAge2Cg" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_nGjjAFYfEeGwxKcMAge2Cg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_nG124VYfEeGwxKcMAge2Cg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_IUFg0Fk_EeGoZZsLvNQabA" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_17VA0Fk-EeGoZZsLvNQabA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_IUFg0Vk_EeGoZZsLvNQabA" x="62" y="18"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_e7HLlVYfEeGwxKcMAge2Cg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_e7HLllYfEeGwxKcMAge2Cg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_e7HLl1YfEeGwxKcMAge2Cg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_e7HLmFYfEeGwxKcMAge2Cg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_e7HLmVYfEeGwxKcMAge2Cg" type="1019">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_e7HLmlYfEeGwxKcMAge2Cg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_e7HLm1YfEeGwxKcMAge2Cg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_e7HLnFYfEeGwxKcMAge2Cg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_e7HLnVYfEeGwxKcMAge2Cg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="CHESS.profile.uml#_e6uKAFYfEeGwxKcMAge2Cg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_e7F9cVYfEeGwxKcMAge2Cg" x="545" y="395"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_tqz6MFYfEeGwxKcMAge2Cg" type="1026" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_tq0hQFYfEeGwxKcMAge2Cg" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_tq0hQVYfEeGwxKcMAge2Cg" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_tq0hQlYfEeGwxKcMAge2Cg" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_tq0hQ1YfEeGwxKcMAge2Cg" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_tq0hRFYfEeGwxKcMAge2Cg" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_tq0hRVYfEeGwxKcMAge2Cg" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_tq0hRlYfEeGwxKcMAge2Cg" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_tq0hR1YfEeGwxKcMAge2Cg" type="1071">
+        <children xmi:type="notation:Shape" xmi:id="_xGXbEFYfEeGwxKcMAge2Cg" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_xGHjcFYfEeGwxKcMAge2Cg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_xGXbEVYfEeGwxKcMAge2Cg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_tq0hSFYfEeGwxKcMAge2Cg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_tq0hSVYfEeGwxKcMAge2Cg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_tq0hSlYfEeGwxKcMAge2Cg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tq0hS1YfEeGwxKcMAge2Cg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_tq0hTFYfEeGwxKcMAge2Cg" type="1019">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_tq0hTVYfEeGwxKcMAge2Cg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_tq0hTlYfEeGwxKcMAge2Cg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_tq0hT1YfEeGwxKcMAge2Cg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tq0hUFYfEeGwxKcMAge2Cg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="CHESS.profile.uml#_tqUyAFYfEeGwxKcMAge2Cg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tqz6MVYfEeGwxKcMAge2Cg" x="260" y="410" width="151" height="66"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_wDg28FYfEeGwxKcMAge2Cg" type="1031" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_wDg28lYfEeGwxKcMAge2Cg" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_wDheAFYfEeGwxKcMAge2Cg" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_wDheAVYfEeGwxKcMAge2Cg" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_wDheAlYfEeGwxKcMAge2Cg" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_wDheA1YfEeGwxKcMAge2Cg" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_wDheBFYfEeGwxKcMAge2Cg" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_wDheB1YfEeGwxKcMAge2Cg" source="Stereotype_Annotation">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zJIrwP3gEeOmz-4FDV-1Kw" key="StereotypeWithQualifiedNameList" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zJIrwf3gEeOmz-4FDV-1Kw" key="StereotypeList" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zJIrwv3gEeOmz-4FDV-1Kw" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zJJS0P3gEeOmz-4FDV-1Kw" key="PropStereoDisplay" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zJJS0f3gEeOmz-4FDV-1Kw" key="StereotypePropertyLocation" value="Compartment"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_wDheBVYfEeGwxKcMAge2Cg" type="1084"/>
+      <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Slot"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wDheBlYfEeGwxKcMAge2Cg" x="173" y="281"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_CqNDAFlGEeGy4eSU5cG5hA" type="1026" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CqORIFlGEeGy4eSU5cG5hA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_CqORIVlGEeGy4eSU5cG5hA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CqORIllGEeGy4eSU5cG5hA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_CqORI1lGEeGy4eSU5cG5hA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CqO4MFlGEeGy4eSU5cG5hA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_CqO4MVlGEeGy4eSU5cG5hA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_CqO4MllGEeGy4eSU5cG5hA" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_CqO4M1lGEeGy4eSU5cG5hA" type="1071">
+        <children xmi:type="notation:Shape" xmi:id="_GfpqkFlGEeGy4eSU5cG5hA" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_GfTsUFlGEeGy4eSU5cG5hA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_GfpqkVlGEeGy4eSU5cG5hA"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_CqO4NFlGEeGy4eSU5cG5hA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_CqO4NVlGEeGy4eSU5cG5hA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_CqO4NllGEeGy4eSU5cG5hA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CqO4N1lGEeGy4eSU5cG5hA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_CqO4OFlGEeGy4eSU5cG5hA" type="1019">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_CqO4OVlGEeGy4eSU5cG5hA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_CqO4OllGEeGy4eSU5cG5hA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_CqO4O1lGEeGy4eSU5cG5hA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CqO4PFlGEeGy4eSU5cG5hA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="CHESS.profile.uml#_CplX8FlGEeGy4eSU5cG5hA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CqNDAVlGEeGy4eSU5cG5hA" x="442" y="516"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_TU8iAFlGEeGy4eSU5cG5hA" type="1026" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TU9JEFlGEeGy4eSU5cG5hA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_TU9JEVlGEeGy4eSU5cG5hA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TU9wIFlGEeGy4eSU5cG5hA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_TU9wIVlGEeGy4eSU5cG5hA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TU9wIllGEeGy4eSU5cG5hA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_TU9wI1lGEeGy4eSU5cG5hA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_TU9wJFlGEeGy4eSU5cG5hA" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_TU9wJVlGEeGy4eSU5cG5hA" type="1071">
+        <children xmi:type="notation:Shape" xmi:id="_Vpy5gFlGEeGy4eSU5cG5hA" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_VpsL0FlGEeGy4eSU5cG5hA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_Vpy5gVlGEeGy4eSU5cG5hA"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_TU9wJllGEeGy4eSU5cG5hA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_TU9wJ1lGEeGy4eSU5cG5hA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_TU9wKFlGEeGy4eSU5cG5hA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TU9wKVlGEeGy4eSU5cG5hA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_TU9wKllGEeGy4eSU5cG5hA" type="1019">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_TU9wK1lGEeGy4eSU5cG5hA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_TU9wLFlGEeGy4eSU5cG5hA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_TU9wLVlGEeGy4eSU5cG5hA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TU9wLllGEeGy4eSU5cG5hA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="CHESS.profile.uml#_TU0mMFlGEeGy4eSU5cG5hA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TU8iAVlGEeGy4eSU5cG5hA" x="41" y="395"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_7EqPsW8VEd-8i8zc_Ad2sQ"/>
+    <element xmi:type="uml:Profile" href="CHESS.profile.uml#_ad4owDgVEd-68Z_bhNRGsA"/>
+    <edges xmi:type="notation:Connector" xmi:id="_KN_mUG8WEd-8i8zc_Ad2sQ" type="1013" source="_8D_lwG8VEd-8i8zc_Ad2sQ" target="_KMDsoG8WEd-8i8zc_Ad2sQ" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_KN_mUW8WEd-8i8zc_Ad2sQ" fontHeight="8"/>
+      <element xmi:type="uml:Extension" href="CHESS.profile.uml#_1Baf4DgXEd-68Z_bhNRGsA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_KN_mUm8WEd-8i8zc_Ad2sQ" points="[-50, -18, 398, 136]$[-448, -154, 0, 0]"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_kUq4gE7nEeCiWfCHUearZQ" type="4002" source="_a-9tYE7nEeCiWfCHUearZQ" target="_i2fqUE7nEeCiWfCHUearZQ" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_kUq4g07nEeCiWfCHUearZQ" type="6007">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_kUq4hE7nEeCiWfCHUearZQ" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_kUq4gU7nEeCiWfCHUearZQ" fontHeight="8"/>
+      <element xmi:type="uml:Generalization" href="CHESS.profile.uml#_kTB5wE7nEeCiWfCHUearZQ"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_kUq4gk7nEeCiWfCHUearZQ" points="[8, -38, -15, 125]$[41, -113, 18, 50]"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_myx5sE7nEeCiWfCHUearZQ" type="1013" source="_a-9tYE7nEeCiWfCHUearZQ" target="_mVHtUE7nEeCiWfCHUearZQ" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_myx5sU7nEeCiWfCHUearZQ" fontHeight="8"/>
+      <element xmi:type="uml:Extension" href="CHESS.profile.uml#_mx4h0U7nEeCiWfCHUearZQ"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_myx5sk7nEeCiWfCHUearZQ" points="[86, 28, -78, -27]$[113, 36, -51, -19]"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_rlTNgE7nEeCiWfCHUearZQ" type="1013" source="_a-9tYE7nEeCiWfCHUearZQ" target="_rLOgoE7nEeCiWfCHUearZQ" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_rlTNgU7nEeCiWfCHUearZQ" fontHeight="8"/>
+      <element xmi:type="uml:Extension" href="CHESS.profile.uml#_rkacsU7nEeCiWfCHUearZQ"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_rlTNgk7nEeCiWfCHUearZQ" points="[11, 9, -114, -90]$[101, 87, -24, -12]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_rmzCUE7nEeCiWfCHUearZQ" id="(0.8538011695906432,0.881578947368421)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_rmzCUU7nEeCiWfCHUearZQ" id="(0.24,0.24)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_mvS5kFYfEeGwxKcMAge2Cg" type="1013" source="_e7F9cFYfEeGwxKcMAge2Cg" target="_mVHtUE7nEeCiWfCHUearZQ" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_mvS5kVYfEeGwxKcMAge2Cg" fontHeight="8"/>
+      <element xmi:type="uml:Extension" href="CHESS.profile.uml#_mu7GIVYfEeGwxKcMAge2Cg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_mvS5klYfEeGwxKcMAge2Cg" points="[-8, -50, -14, 105]$[-45, -156, -51, -1]"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_wdy_MFYfEeGwxKcMAge2Cg" type="1013" source="_tqz6MFYfEeGwxKcMAge2Cg" target="_wDg28FYfEeGwxKcMAge2Cg" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_wdy_MVYfEeGwxKcMAge2Cg" fontHeight="8"/>
+      <element xmi:type="uml:Extension" href="CHESS.profile.uml#_wddoAFYfEeGwxKcMAge2Cg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_wdy_MlYfEeGwxKcMAge2Cg" points="[-4, -11, 51, 104]$[-5, -112, 50, 3]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_weFTEFYfEeGwxKcMAge2Cg" id="(0.11920529801324503,0.16666666666666666)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_17y64Fk-EeGoZZsLvNQabA" type="4001" source="_e7F9cFYfEeGwxKcMAge2Cg" target="_mVHtUE7nEeCiWfCHUearZQ" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_170wEFk-EeGoZZsLvNQabA" visible="false" type="6001">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_170wEVk-EeGoZZsLvNQabA" y="60"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_170wElk-EeGoZZsLvNQabA" visible="false" type="6002">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_170wE1k-EeGoZZsLvNQabA" y="20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_170wFFk-EeGoZZsLvNQabA" visible="false" type="6003">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_170wFVk-EeGoZZsLvNQabA" y="20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_170wFlk-EeGoZZsLvNQabA" visible="false" type="6005">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_170wF1k-EeGoZZsLvNQabA" y="-20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_170wGFk-EeGoZZsLvNQabA" visible="false" type="6033">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_170wGVk-EeGoZZsLvNQabA" y="20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_170wGlk-EeGoZZsLvNQabA" visible="false" type="6034">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_170wG1k-EeGoZZsLvNQabA" y="-20"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_17y64Vk-EeGoZZsLvNQabA" fontHeight="8"/>
+      <element xmi:type="uml:Association" href="CHESS.profile.uml#_17agYFk-EeGoZZsLvNQabA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_17y64lk-EeGoZZsLvNQabA" points="[4, -17, -17, 105]$[-30, -117, -51, 5]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_18CLcFk-EeGoZZsLvNQabA" id="(0.35,0.17)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_F6o5AFlGEeGy4eSU5cG5hA" type="1013" source="_CqNDAFlGEeGy4eSU5cG5hA" target="_mVHtUE7nEeCiWfCHUearZQ" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_F6o5AVlGEeGy4eSU5cG5hA" fontHeight="8"/>
+      <element xmi:type="uml:Extension" href="CHESS.profile.uml#_F5hesFlGEeGy4eSU5cG5hA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_F6o5AllGEeGy4eSU5cG5hA" points="[18, -30, -154, 226]$[121, -260, -51, -4]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_F6wNwFlGEeGy4eSU5cG5hA" id="(0.82,0.3)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_UPYxAFlGEeGy4eSU5cG5hA" type="1013" source="_TU8iAFlGEeGy4eSU5cG5hA" target="_wDg28FYfEeGwxKcMAge2Cg" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_UPYxAVlGEeGy4eSU5cG5hA" fontHeight="8"/>
+      <element xmi:type="uml:Extension" href="CHESS.profile.uml#_UPPnEFlGEeGy4eSU5cG5hA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_UPYxAllGEeGy4eSU5cG5hA" points="[10, -10, -105, 89]$[106, -124, -9, -25]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_UPeQkFlGEeGy4eSU5cG5hA" id="(0.67,0.1)"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_Z4j-MLzoEd-yoLyJo0JlOg" type="PapyrusUMLProfileDiagram" name="StateBasedProfile" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_ioKHML87Ed-TL8tpOyViyA" type="1030" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ioKHMr87Ed-TL8tpOyViyA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ioKHM787Ed-TL8tpOyViyA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ioKHNL87Ed-TL8tpOyViyA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ioKHNb87Ed-TL8tpOyViyA" key="displayNameLabelIcon_value" value="true"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ioKHNr87Ed-TL8tpOyViyA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ioKHN787Ed-TL8tpOyViyA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_ioKHOL87Ed-TL8tpOyViyA" type="1047"/>
+      <children xmi:type="notation:DecorationNode" xmi:id="_ioKHOb87Ed-TL8tpOyViyA" type="1042">
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ioKHOr87Ed-TL8tpOyViyA"/>
+      </children>
+      <element xmi:type="uml:Profile" href="CHESS.profile.uml#_d50lQL86Ed-TL8tpOyViyA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ioKHMb87Ed-TL8tpOyViyA" x="171" y="163"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_jAcrYL87Ed-TL8tpOyViyA" type="1030" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jAcrYr87Ed-TL8tpOyViyA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jAcrY787Ed-TL8tpOyViyA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jAcrZL87Ed-TL8tpOyViyA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jAcrZb87Ed-TL8tpOyViyA" key="displayNameLabelIcon_value" value="true"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jAcrZr87Ed-TL8tpOyViyA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jAcrZ787Ed-TL8tpOyViyA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_jAcraL87Ed-TL8tpOyViyA" type="1047"/>
+      <children xmi:type="notation:DecorationNode" xmi:id="_jAcrab87Ed-TL8tpOyViyA" type="1042">
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jAcrar87Ed-TL8tpOyViyA"/>
+      </children>
+      <element xmi:type="uml:Profile" href="CHESS.profile.uml#_mbqqgL86Ed-TL8tpOyViyA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jAcrYb87Ed-TL8tpOyViyA" x="545" y="186"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_jT-EUL87Ed-TL8tpOyViyA" type="2007" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jT-EUr87Ed-TL8tpOyViyA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jT-EU787Ed-TL8tpOyViyA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jT-EVL87Ed-TL8tpOyViyA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jT-EVb87Ed-TL8tpOyViyA" key="displayNameLabelIcon_value" value="true"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jT-EVr87Ed-TL8tpOyViyA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jT-EV787Ed-TL8tpOyViyA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_jT-EWL87Ed-TL8tpOyViyA" type="5026"/>
+      <children xmi:type="notation:DecorationNode" xmi:id="_jT-EWb87Ed-TL8tpOyViyA" type="1005">
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jT-EWr87Ed-TL8tpOyViyA"/>
+      </children>
+      <element xmi:type="uml:Package" href="CHESS.profile.uml#_u09NsLzqEd-yoLyJo0JlOg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jT-EUb87Ed-TL8tpOyViyA" x="399" y="347"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_Z4j-MbzoEd-yoLyJo0JlOg"/>
+    <element xmi:type="uml:Profile" href="CHESS.profile.uml#_cE_bwLwzEd-CDNLmLgazUQ"/>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_6O0o8LzqEd-yoLyJo0JlOg" type="PapyrusUMLClassDiagram" name="StateBasedDataTypeDiagram" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_2b3poL84Ed-TL8tpOyViyA" type="2006" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_2b3por84Ed-TL8tpOyViyA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_2b3po784Ed-TL8tpOyViyA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_2b3ppL84Ed-TL8tpOyViyA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_2b3ppb84Ed-TL8tpOyViyA" key="displayNameLabelIcon_value" value="true"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_2b3ppr84Ed-TL8tpOyViyA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_2b3pp784Ed-TL8tpOyViyA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_2b3pqL84Ed-TL8tpOyViyA" type="5023"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_2b3pqb84Ed-TL8tpOyViyA" type="7015">
+        <children xmi:type="notation:Shape" xmi:id="_4y058L84Ed-TL8tpOyViyA" type="3017" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:EnumerationLiteral" href="CHESS.profile.uml#_4yYOAL84Ed-TL8tpOyViyA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_4y058b84Ed-TL8tpOyViyA"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_63TTIL84Ed-TL8tpOyViyA" type="3017" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:EnumerationLiteral" href="CHESS.profile.uml#_63AYML84Ed-TL8tpOyViyA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_63TTIb84Ed-TL8tpOyViyA"/>
+        </children>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_2b3pqr84Ed-TL8tpOyViyA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_2b3pq784Ed-TL8tpOyViyA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2b3prL84Ed-TL8tpOyViyA"/>
+      </children>
+      <element xmi:type="uml:Enumeration" href="CHESS.profile.uml#_2aiM4L84Ed-TL8tpOyViyA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2b3pob84Ed-TL8tpOyViyA" x="380" y="35" width="150"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_ghREcL9BEd-TL8tpOyViyA" type="2010" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ghREcr9BEd-TL8tpOyViyA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ghREc79BEd-TL8tpOyViyA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ghREdL9BEd-TL8tpOyViyA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ghREdb9BEd-TL8tpOyViyA" key="displayNameLabelIcon_value" value="true"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ghREdr9BEd-TL8tpOyViyA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ghREd79BEd-TL8tpOyViyA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_hj6CkMAEEd-Dn5_MBIs5Vw" source="Stereotype_Annotation">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_UJyFYP3lEeOmz-4FDV-1Kw" key="StereotypeWithQualifiedNameList" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_UJyFYf3lEeOmz-4FDV-1Kw" key="StereotypeList" value="MARTE::MARTE_Annexes::VSL::DataTypes::TupleType"/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_UJyFYv3lEeOmz-4FDV-1Kw" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_UJyFY_3lEeOmz-4FDV-1Kw" key="PropStereoDisplay" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_UJyscP3lEeOmz-4FDV-1Kw" key="StereotypePropertyLocation" value="Compartment"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_ghREeL9BEd-TL8tpOyViyA" type="5035"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_ghREeb9BEd-TL8tpOyViyA" type="7020">
+        <children xmi:type="notation:Shape" xmi:id="_yDyqkL9CEd-TL8tpOyViyA" type="3018" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_yDV-oL9CEd-TL8tpOyViyA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_yDyqkb9CEd-TL8tpOyViyA"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_5IpNYL9CEd-TL8tpOyViyA" type="3018" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_5IWScL9CEd-TL8tpOyViyA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_5IpNYb9CEd-TL8tpOyViyA"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_7t5_cL9CEd-TL8tpOyViyA" type="3018" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_7tnEgL9CEd-TL8tpOyViyA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_7t5_cb9CEd-TL8tpOyViyA"/>
+        </children>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_ghREer9BEd-TL8tpOyViyA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_ghREe79BEd-TL8tpOyViyA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ghREfL9BEd-TL8tpOyViyA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_ghREfb9BEd-TL8tpOyViyA" type="7021">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_ghREfr9BEd-TL8tpOyViyA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_ghREf79BEd-TL8tpOyViyA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ghREgL9BEd-TL8tpOyViyA"/>
+      </children>
+      <element xmi:type="uml:DataType" href="CHESS.profile.uml#_gg-JgL9BEd-TL8tpOyViyA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ghREcb9BEd-TL8tpOyViyA" x="650" y="320" width="217" height="131"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_ypzXIL9BEd-TL8tpOyViyA" type="2010" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ypzXIr9BEd-TL8tpOyViyA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ypzXI79BEd-TL8tpOyViyA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ypzXJL9BEd-TL8tpOyViyA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ypzXJb9BEd-TL8tpOyViyA" key="displayNameLabelIcon_value" value="true"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ypzXJr9BEd-TL8tpOyViyA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ypzXJ79BEd-TL8tpOyViyA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_xlPQ0cAHEd-Dn5_MBIs5Vw" source="Stereotype_Annotation">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kzpskP3jEeOmz-4FDV-1Kw" key="StereotypeWithQualifiedNameList" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kzpskf3jEeOmz-4FDV-1Kw" key="StereotypeList" value="MARTE::MARTE_Annexes::VSL::DataTypes::ChoiceType"/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kzqToP3jEeOmz-4FDV-1Kw" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kzqTof3jEeOmz-4FDV-1Kw" key="PropStereoDisplay" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kzqTov3jEeOmz-4FDV-1Kw" key="StereotypePropertyLocation" value="Compartment"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_ypzXKL9BEd-TL8tpOyViyA" type="5035"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_ypzXKb9BEd-TL8tpOyViyA" type="7020">
+        <children xmi:type="notation:Shape" xmi:id="_yBQeccAHEd-Dn5_MBIs5Vw" type="3018" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_yBQecMAHEd-Dn5_MBIs5Vw"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_yBQecsAHEd-Dn5_MBIs5Vw"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_5i31wcAHEd-Dn5_MBIs5Vw" type="3018" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_5i31wMAHEd-Dn5_MBIs5Vw"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_5i31wsAHEd-Dn5_MBIs5Vw"/>
+        </children>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_ypzXKr9BEd-TL8tpOyViyA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_ypzXK79BEd-TL8tpOyViyA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ypzXLL9BEd-TL8tpOyViyA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_ypzXLb9BEd-TL8tpOyViyA" type="7021">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_ypzXLr9BEd-TL8tpOyViyA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_ypzXL79BEd-TL8tpOyViyA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ypzXML9BEd-TL8tpOyViyA"/>
+      </children>
+      <element xmi:type="uml:DataType" href="CHESS.profile.uml#_ypgcML9BEd-TL8tpOyViyA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ypzXIb9BEd-TL8tpOyViyA" x="235" y="390" width="236"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_2APHcL9BEd-TL8tpOyViyA" type="2010" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_2APHcr9BEd-TL8tpOyViyA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_2APHc79BEd-TL8tpOyViyA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_2APHdL9BEd-TL8tpOyViyA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_2APHdb9BEd-TL8tpOyViyA" key="displayNameLabelIcon_value" value="true"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_2APHdr9BEd-TL8tpOyViyA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_2APHd79BEd-TL8tpOyViyA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1tvXQMAHEd-Dn5_MBIs5Vw" source="Stereotype_Annotation">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_dWuA8P3jEeOmz-4FDV-1Kw" key="StereotypeWithQualifiedNameList" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_dWuA8f3jEeOmz-4FDV-1Kw" key="StereotypeList" value="MARTE::MARTE_Annexes::VSL::DataTypes::TupleType"/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_dWuA8v3jEeOmz-4FDV-1Kw" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_dWuA8_3jEeOmz-4FDV-1Kw" key="PropStereoDisplay" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_dWuoAP3jEeOmz-4FDV-1Kw" key="StereotypePropertyLocation" value="Compartment"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_2APHeL9BEd-TL8tpOyViyA" type="5035"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_2APHeb9BEd-TL8tpOyViyA" type="7020">
+        <children xmi:type="notation:Shape" xmi:id="_5y1PUL9BEd-TL8tpOyViyA" type="3018" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_5yreUL9BEd-TL8tpOyViyA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_5y1PUb9BEd-TL8tpOyViyA"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_CgcfsL9CEd-TL8tpOyViyA" type="3018" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_CgTVwL9CEd-TL8tpOyViyA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_Cgcfsb9CEd-TL8tpOyViyA"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_J5uaYL9CEd-TL8tpOyViyA" type="3018" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_J5kpYL9CEd-TL8tpOyViyA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_J5uaYb9CEd-TL8tpOyViyA"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_Rj1mYL9CEd-TL8tpOyViyA" type="3018" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_RjiEYL9CEd-TL8tpOyViyA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_Rj1mYb9CEd-TL8tpOyViyA"/>
+        </children>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_2APHer9BEd-TL8tpOyViyA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_2APHe79BEd-TL8tpOyViyA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2APHfL9BEd-TL8tpOyViyA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_2APHfb9BEd-TL8tpOyViyA" type="7021">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_2APHfr9BEd-TL8tpOyViyA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_2APHf79BEd-TL8tpOyViyA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2APHgL9BEd-TL8tpOyViyA"/>
+      </children>
+      <element xmi:type="uml:DataType" href="CHESS.profile.uml#_1_8MgL9BEd-TL8tpOyViyA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2APHcb9BEd-TL8tpOyViyA" x="95" y="545" width="231" height="136"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_LADwUL9CEd-TL8tpOyViyA" type="2006" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_LAM6QL9CEd-TL8tpOyViyA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_LAM6Qb9CEd-TL8tpOyViyA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_LAM6Qr9CEd-TL8tpOyViyA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_LAM6Q79CEd-TL8tpOyViyA" key="displayNameLabelIcon_value" value="true"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_LAM6RL9CEd-TL8tpOyViyA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_LAM6Rb9CEd-TL8tpOyViyA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_LAM6Rr9CEd-TL8tpOyViyA" type="5023"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_LAM6R79CEd-TL8tpOyViyA" type="7015">
+        <children xmi:type="notation:Shape" xmi:id="_NJAZ0L9CEd-TL8tpOyViyA" type="3017" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:EnumerationLiteral" href="CHESS.profile.uml#_NIs30L9CEd-TL8tpOyViyA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_NJAZ0b9CEd-TL8tpOyViyA"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_N6BnEL9CEd-TL8tpOyViyA" type="3017" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:EnumerationLiteral" href="CHESS.profile.uml#_N5usIL9CEd-TL8tpOyViyA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_N6BnEb9CEd-TL8tpOyViyA"/>
+        </children>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_LAM6SL9CEd-TL8tpOyViyA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_LAM6Sb9CEd-TL8tpOyViyA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LAM6Sr9CEd-TL8tpOyViyA"/>
+      </children>
+      <element xmi:type="uml:Enumeration" href="CHESS.profile.uml#_K_w1YL9CEd-TL8tpOyViyA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LADwUb9CEd-TL8tpOyViyA" x="60" y="410" width="151" height="79"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_ZEQq4L9CEd-TL8tpOyViyA" type="2010" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ZEQq4r9CEd-TL8tpOyViyA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ZEQq479CEd-TL8tpOyViyA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ZEQq5L9CEd-TL8tpOyViyA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ZEQq5b9CEd-TL8tpOyViyA" key="displayNameLabelIcon_value" value="true"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ZEQq5r9CEd-TL8tpOyViyA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ZEQq579CEd-TL8tpOyViyA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_9HnH0MAHEd-Dn5_MBIs5Vw" source="Stereotype_Annotation">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Gdt-AP3lEeOmz-4FDV-1Kw" key="StereotypeWithQualifiedNameList" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Gdt-Af3lEeOmz-4FDV-1Kw" key="StereotypeList" value="MARTE::MARTE_Annexes::VSL::DataTypes::TupleType"/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_GdulEP3lEeOmz-4FDV-1Kw" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_GdulEf3lEeOmz-4FDV-1Kw" key="PropStereoDisplay" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_GdulEv3lEeOmz-4FDV-1Kw" key="StereotypePropertyLocation" value="Compartment"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_ZEQq6L9CEd-TL8tpOyViyA" type="5035"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_ZEQq6b9CEd-TL8tpOyViyA" type="7020">
+        <children xmi:type="notation:Shape" xmi:id="_hVHGwL9CEd-TL8tpOyViyA" type="3018" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_hU980L9CEd-TL8tpOyViyA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_hVHGwb9CEd-TL8tpOyViyA"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_lHHYwL9CEd-TL8tpOyViyA" type="3018" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_lG0d0L9CEd-TL8tpOyViyA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_lHHYwb9CEd-TL8tpOyViyA"/>
+        </children>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_ZEQq6r9CEd-TL8tpOyViyA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_ZEQq679CEd-TL8tpOyViyA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ZEQq7L9CEd-TL8tpOyViyA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_ZEQq7b9CEd-TL8tpOyViyA" type="7021">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_ZEQq7r9CEd-TL8tpOyViyA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_ZEQq779CEd-TL8tpOyViyA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ZEQq8L9CEd-TL8tpOyViyA"/>
+      </children>
+      <element xmi:type="uml:DataType" href="CHESS.profile.uml#_ZD9v8L9CEd-TL8tpOyViyA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ZEQq4b9CEd-TL8tpOyViyA" x="365" y="545" width="158"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_BWOS0L9DEd-TL8tpOyViyA" type="2010" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_BWOS0r9DEd-TL8tpOyViyA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_BWOS079DEd-TL8tpOyViyA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_BWOS1L9DEd-TL8tpOyViyA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_BWOS1b9DEd-TL8tpOyViyA" key="displayNameLabelIcon_value" value="true"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_BWOS1r9DEd-TL8tpOyViyA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_BWOS179DEd-TL8tpOyViyA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Ky7oUMAIEd-Dn5_MBIs5Vw" source="Stereotype_Annotation">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_J0u9IP3lEeOmz-4FDV-1Kw" key="StereotypeWithQualifiedNameList" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_J0u9If3lEeOmz-4FDV-1Kw" key="StereotypeList" value="MARTE::MARTE_Annexes::VSL::DataTypes::TupleType"/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_J0u9Iv3lEeOmz-4FDV-1Kw" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_J0u9I_3lEeOmz-4FDV-1Kw" key="PropStereoDisplay" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_J0vkMP3lEeOmz-4FDV-1Kw" key="StereotypePropertyLocation" value="Compartment"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_BWOS2L9DEd-TL8tpOyViyA" type="5035"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_BWOS2b9DEd-TL8tpOyViyA" type="7020">
+        <children xmi:type="notation:Shape" xmi:id="_n_MD8MAEEd-Dn5_MBIs5Vw" type="3018" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_n_CS8MAEEd-Dn5_MBIs5Vw"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_n_MD8cAEEd-Dn5_MBIs5Vw"/>
+        </children>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_BWOS2r9DEd-TL8tpOyViyA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_BWOS279DEd-TL8tpOyViyA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BWOS3L9DEd-TL8tpOyViyA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_BWOS3b9DEd-TL8tpOyViyA" type="7021">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_BWOS3r9DEd-TL8tpOyViyA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_BWOS379DEd-TL8tpOyViyA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BWOS4L9DEd-TL8tpOyViyA"/>
+      </children>
+      <element xmi:type="uml:DataType" href="CHESS.profile.uml#_BV7X4L9DEd-TL8tpOyViyA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BWOS0b9DEd-TL8tpOyViyA" x="545" y="540" width="201"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_JE8ckL9EEd-TL8tpOyViyA" type="2010" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_JE8ckr9EEd-TL8tpOyViyA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_JE8ck79EEd-TL8tpOyViyA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_JE8clL9EEd-TL8tpOyViyA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_JE8clb9EEd-TL8tpOyViyA" key="displayNameLabelIcon_value" value="true"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_JE8clr9EEd-TL8tpOyViyA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_JE8cl79EEd-TL8tpOyViyA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_c_rw0MABEd-Dn5_MBIs5Vw" source="Stereotype_Annotation">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_WmfYYP3lEeOmz-4FDV-1Kw" key="StereotypeWithQualifiedNameList" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Wmf_cP3lEeOmz-4FDV-1Kw" key="StereotypeList" value="MARTE::MARTE_Annexes::VSL::DataTypes::ChoiceType"/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Wmf_cf3lEeOmz-4FDV-1Kw" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Wmf_cv3lEeOmz-4FDV-1Kw" key="PropStereoDisplay" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_WmgmgP3lEeOmz-4FDV-1Kw" key="StereotypePropertyLocation" value="Compartment"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_JE8cmL9EEd-TL8tpOyViyA" type="5035"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_JE8cmb9EEd-TL8tpOyViyA" type="7020">
+        <children xmi:type="notation:Shape" xmi:id="_s-FuQMABEd-Dn5_MBIs5Vw" type="3018" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_s98kUMABEd-Dn5_MBIs5Vw"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_s-FuQcABEd-Dn5_MBIs5Vw"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_xnrvkMABEd-Dn5_MBIs5Vw" type="3018" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_xnh-kMABEd-Dn5_MBIs5Vw"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_xnrvkcABEd-Dn5_MBIs5Vw"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_SpdcgMAEEd-Dn5_MBIs5Vw" type="3018" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_SpTrgMAEEd-Dn5_MBIs5Vw"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_SpdcgcAEEd-Dn5_MBIs5Vw"/>
+        </children>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_JE8cmr9EEd-TL8tpOyViyA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_JE8cm79EEd-TL8tpOyViyA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JE8cnL9EEd-TL8tpOyViyA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_JE8cnb9EEd-TL8tpOyViyA" type="7021">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_JE8cnr9EEd-TL8tpOyViyA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_JE8cn79EEd-TL8tpOyViyA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JE8coL9EEd-TL8tpOyViyA"/>
+      </children>
+      <element xmi:type="uml:DataType" href="CHESS.profile.uml#_JEphoL9EEd-TL8tpOyViyA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JE8ckb9EEd-TL8tpOyViyA" x="55" y="715" width="226" height="121"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_Ni51oL9EEd-TL8tpOyViyA" type="2010" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Ni51or9EEd-TL8tpOyViyA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Ni51o79EEd-TL8tpOyViyA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Ni51pL9EEd-TL8tpOyViyA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Ni51pb9EEd-TL8tpOyViyA" key="displayNameLabelIcon_value" value="true"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Ni51pr9EEd-TL8tpOyViyA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Ni51p79EEd-TL8tpOyViyA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_oBuh8MABEd-Dn5_MBIs5Vw" source="Stereotype_Annotation">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_X2AfgP3lEeOmz-4FDV-1Kw" key="StereotypeWithQualifiedNameList" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_X2BGkP3lEeOmz-4FDV-1Kw" key="StereotypeList" value="MARTE::MARTE_Annexes::VSL::DataTypes::TupleType"/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_X2BGkf3lEeOmz-4FDV-1Kw" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_X2BGkv3lEeOmz-4FDV-1Kw" key="PropStereoDisplay" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_X2BtoP3lEeOmz-4FDV-1Kw" key="StereotypePropertyLocation" value="Compartment"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_Ni51qL9EEd-TL8tpOyViyA" type="5035"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_Ni51qb9EEd-TL8tpOyViyA" type="7020">
+        <children xmi:type="notation:Shape" xmi:id="_UziKoL9EEd-TL8tpOyViyA" type="3018" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_UzPPsL9EEd-TL8tpOyViyA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_UziKob9EEd-TL8tpOyViyA"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_c7md8L9EEd-TL8tpOyViyA" type="3018" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_c7S78L9EEd-TL8tpOyViyA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_c7md8b9EEd-TL8tpOyViyA"/>
+        </children>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_Ni51qr9EEd-TL8tpOyViyA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_Ni51q79EEd-TL8tpOyViyA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Ni51rL9EEd-TL8tpOyViyA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_Ni51rb9EEd-TL8tpOyViyA" type="7021">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_Ni51rr9EEd-TL8tpOyViyA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_Ni51r79EEd-TL8tpOyViyA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Ni51sL9EEd-TL8tpOyViyA"/>
+      </children>
+      <element xmi:type="uml:DataType" href="CHESS.profile.uml#_Nim6sL9EEd-TL8tpOyViyA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Ni51ob9EEd-TL8tpOyViyA" x="55" y="850" width="185"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_IXDbwcAIEd-Dn5_MBIs5Vw" type="2010" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_IXDbw8AIEd-Dn5_MBIs5Vw" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_IXDbxMAIEd-Dn5_MBIs5Vw" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_IXDbxcAIEd-Dn5_MBIs5Vw" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_IXDbxsAIEd-Dn5_MBIs5Vw" key="displayNameLabelIcon_value" value="true"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_IXDbx8AIEd-Dn5_MBIs5Vw" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_IXDbyMAIEd-Dn5_MBIs5Vw" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_LjzroMAIEd-Dn5_MBIs5Vw" source="Stereotype_Annotation">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_MAK58P3lEeOmz-4FDV-1Kw" key="StereotypeWithQualifiedNameList" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_MALhAP3lEeOmz-4FDV-1Kw" key="StereotypeList" value="MARTE::MARTE_Annexes::VSL::DataTypes::TupleType"/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_MALhAf3lEeOmz-4FDV-1Kw" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_MALhAv3lEeOmz-4FDV-1Kw" key="PropStereoDisplay" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_MAMIEP3lEeOmz-4FDV-1Kw" key="StereotypePropertyLocation" value="Compartment"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_IXDbycAIEd-Dn5_MBIs5Vw" type="5035"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_IXDbysAIEd-Dn5_MBIs5Vw" type="7020">
+        <children xmi:type="notation:Shape" xmi:id="_R7zvgMAIEd-Dn5_MBIs5Vw" type="3018" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_R7p-gMAIEd-Dn5_MBIs5Vw"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_R7zvgcAIEd-Dn5_MBIs5Vw"/>
+        </children>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_IXDby8AIEd-Dn5_MBIs5Vw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_IXDbzMAIEd-Dn5_MBIs5Vw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_IXDbzcAIEd-Dn5_MBIs5Vw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_IXDbzsAIEd-Dn5_MBIs5Vw" type="7021">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_IXDbz8AIEd-Dn5_MBIs5Vw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_IXDb0MAIEd-Dn5_MBIs5Vw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_IXDb0cAIEd-Dn5_MBIs5Vw"/>
+      </children>
+      <element xmi:type="uml:DataType" href="CHESS.profile.uml#_IXDbwMAIEd-Dn5_MBIs5Vw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_IXDbwsAIEd-Dn5_MBIs5Vw" x="785" y="540" width="181"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_b3NosMAIEd-Dn5_MBIs5Vw" type="2010" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_b3NossAIEd-Dn5_MBIs5Vw" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_b3Nos8AIEd-Dn5_MBIs5Vw" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_b3NotMAIEd-Dn5_MBIs5Vw" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_b3NotcAIEd-Dn5_MBIs5Vw" key="displayNameLabelIcon_value" value="true"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_b3NotsAIEd-Dn5_MBIs5Vw" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_b3Not8AIEd-Dn5_MBIs5Vw" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_b3NouMAIEd-Dn5_MBIs5Vw" type="5035"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_b3NoucAIEd-Dn5_MBIs5Vw" type="7020">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_b3NousAIEd-Dn5_MBIs5Vw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_b3Nou8AIEd-Dn5_MBIs5Vw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_b3NovMAIEd-Dn5_MBIs5Vw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_b3NovcAIEd-Dn5_MBIs5Vw" type="7021">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_b3NovsAIEd-Dn5_MBIs5Vw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_b3Nov8AIEd-Dn5_MBIs5Vw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_b3NowMAIEd-Dn5_MBIs5Vw"/>
+      </children>
+      <element xmi:type="uml:DataType" href="CHESS.profile.uml#_b3D3sMAIEd-Dn5_MBIs5Vw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_b3NoscAIEd-Dn5_MBIs5Vw" x="729" y="708"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_6O0o8bzqEd-yoLyJo0JlOg"/>
+    <element xmi:type="uml:Package" href="CHESS.profile.uml#_u09NsLzqEd-yoLyJo0JlOg"/>
+    <edges xmi:type="notation:Connector" xmi:id="_32_0wL9BEd-TL8tpOyViyA" type="4002" source="_2APHcL9BEd-TL8tpOyViyA" target="_ypzXIL9BEd-TL8tpOyViyA" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_32_0w79BEd-TL8tpOyViyA" type="6007">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_32_0xL9BEd-TL8tpOyViyA" y="40"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_32_0wb9BEd-TL8tpOyViyA" fontHeight="8"/>
+      <element xmi:type="uml:Generalization" href="CHESS.profile.uml#_322q0L9BEd-TL8tpOyViyA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_32_0wr9BEd-TL8tpOyViyA" points="[2, -16, -16, 95]$[17, -61, -1, 50]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_33cgsL9BEd-TL8tpOyViyA" id="(0.543859649122807,0.16)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_aGuNcL9CEd-TL8tpOyViyA" type="4002" source="_ZEQq4L9CEd-TL8tpOyViyA" target="_ypzXIL9BEd-TL8tpOyViyA" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_aGuNc79CEd-TL8tpOyViyA" type="6007">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_aGuNdL9CEd-TL8tpOyViyA" y="40"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_aGuNcb9CEd-TL8tpOyViyA" fontHeight="8"/>
+      <element xmi:type="uml:Generalization" href="CHESS.profile.uml#_aGkccL9CEd-TL8tpOyViyA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_aGuNcr9CEd-TL8tpOyViyA" points="[-5, -26, 22, 83]$[68, -107, 95, 2]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_aHK5YL9CEd-TL8tpOyViyA" id="(0.17721518987341772,0.26)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_OUiG0cAIEd-Dn5_MBIs5Vw" type="4002" source="_IXDbwcAIEd-Dn5_MBIs5Vw" target="_ghREcL9BEd-TL8tpOyViyA" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_OUiG1MAIEd-Dn5_MBIs5Vw" type="6007">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_OUiG1cAIEd-Dn5_MBIs5Vw" y="40"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_OUiG0sAIEd-Dn5_MBIs5Vw" fontHeight="8"/>
+      <element xmi:type="uml:Generalization" href="CHESS.profile.uml#_OUiG0MAIEd-Dn5_MBIs5Vw"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_OUiG08AIEd-Dn5_MBIs5Vw" points="[-14, -50, 26, 99]$[-12, -124, 28, 25]"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_OUr30MAIEd-Dn5_MBIs5Vw" id="(0.7142857142857143,0.8091603053435115)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_df0lQcAIEd-Dn5_MBIs5Vw" type="4002" source="_b3NosMAIEd-Dn5_MBIs5Vw" target="_ghREcL9BEd-TL8tpOyViyA" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_df0lRMAIEd-Dn5_MBIs5Vw" type="6007">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_df0lRcAIEd-Dn5_MBIs5Vw" y="40"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_df0lQsAIEd-Dn5_MBIs5Vw" fontHeight="8"/>
+      <element xmi:type="uml:Generalization" href="CHESS.profile.uml#_df0lQMAIEd-Dn5_MBIs5Vw"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_df0lQ8AIEd-Dn5_MBIs5Vw" points="[-2, -17, 35, 308]$[14, -259, 51, 66]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_df0lRsAIEd-Dn5_MBIs5Vw" id="(0.56,0.17)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_rTqc4EQQEeCQRfAVtSc0sw" type="4002" source="_BWOS0L9DEd-TL8tpOyViyA" target="_ghREcL9BEd-TL8tpOyViyA" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_rTqc40QQEeCQRfAVtSc0sw" type="6007">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_rTqc5EQQEeCQRfAVtSc0sw" y="40"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_rTqc4UQQEeCQRfAVtSc0sw" fontHeight="8"/>
+      <element xmi:type="uml:Generalization" href="CHESS.profile.uml#_rSeKEEQQEeCQRfAVtSc0sw"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_rTqc4kQQEeCQRfAVtSc0sw" points="[9, -13, -81, 116]$[191, -233, 101, -104]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_rUHI0EQQEeCQRfAVtSc0sw" id="(0.42786069651741293,0.13)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_rUHI0UQQEeCQRfAVtSc0sw" id="(0.3271889400921659,0.7938931297709924)"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_q0aMYL86Ed-TL8tpOyViyA" type="PapyrusUMLProfileDiagram" name="StateBasedComponents" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_r6S2YL86Ed-TL8tpOyViyA" type="1026" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_r6S2Yr86Ed-TL8tpOyViyA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_r6S2Y786Ed-TL8tpOyViyA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_r6S2ZL86Ed-TL8tpOyViyA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_r6S2Zb86Ed-TL8tpOyViyA" key="displayNameLabelIcon_value" value="true"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_r6S2Zr86Ed-TL8tpOyViyA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_r6S2Z786Ed-TL8tpOyViyA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_r6S2aL86Ed-TL8tpOyViyA" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_r6S2ab86Ed-TL8tpOyViyA" type="1071">
+        <children xmi:type="notation:Shape" xmi:id="_V7JJ0EAjEeCQKOeIf0epIQ" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_V6__4EAjEeCQKOeIf0epIQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_V7JJ0UAjEeCQKOeIf0epIQ"/>
+        </children>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_r6S2ar86Ed-TL8tpOyViyA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_r6S2a786Ed-TL8tpOyViyA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_r6S2bL86Ed-TL8tpOyViyA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_r6S2bb86Ed-TL8tpOyViyA" type="1019">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_r6S2br86Ed-TL8tpOyViyA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_r6S2b786Ed-TL8tpOyViyA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_r6S2cL86Ed-TL8tpOyViyA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="CHESS.profile.uml#_or_HgLzuEd-yoLyJo0JlOg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_r6S2Yb86Ed-TL8tpOyViyA" x="215" y="320" width="171"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_r8YhEL86Ed-TL8tpOyViyA" type="1026" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_r8YhEr86Ed-TL8tpOyViyA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_r8YhE786Ed-TL8tpOyViyA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_r8YhFL86Ed-TL8tpOyViyA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_r8YhFb86Ed-TL8tpOyViyA" key="displayNameLabelIcon_value" value="true"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_r8YhFr86Ed-TL8tpOyViyA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_r8YhF786Ed-TL8tpOyViyA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_r8YhGL86Ed-TL8tpOyViyA" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_r8YhGb86Ed-TL8tpOyViyA" type="1071">
+        <children xmi:type="notation:Shape" xmi:id="_HxauQL87Ed-TL8tpOyViyA" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_SQ72wLzuEd-yoLyJo0JlOg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_HxauQb87Ed-TL8tpOyViyA" x="71" y="20"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_HxtpML87Ed-TL8tpOyViyA" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_PAKpkLzuEd-yoLyJo0JlOg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_HxtpMb87Ed-TL8tpOyViyA" x="71" y="20"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_ZkNiQEAjEeCQKOeIf0epIQ" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_ZkEYUEAjEeCQKOeIf0epIQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_ZkNiQUAjEeCQKOeIf0epIQ"/>
+        </children>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_r8YhGr86Ed-TL8tpOyViyA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_r8YhG786Ed-TL8tpOyViyA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_r8YhHL86Ed-TL8tpOyViyA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_r8YhHb86Ed-TL8tpOyViyA" type="1019">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_r8YhHr86Ed-TL8tpOyViyA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_r8YhH786Ed-TL8tpOyViyA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_r8YhIL86Ed-TL8tpOyViyA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="CHESS.profile.uml#_FUGM4LzuEd-yoLyJo0JlOg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_r8YhEb86Ed-TL8tpOyViyA" x="400" y="320" width="176"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_r9R48L86Ed-TL8tpOyViyA" type="1026" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_r9R48r86Ed-TL8tpOyViyA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_r9R48786Ed-TL8tpOyViyA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_r9R49L86Ed-TL8tpOyViyA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_r9R49b86Ed-TL8tpOyViyA" key="displayNameLabelIcon_value" value="true"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_r9R49r86Ed-TL8tpOyViyA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_r9R49786Ed-TL8tpOyViyA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_r9R4-L86Ed-TL8tpOyViyA" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_r9R4-b86Ed-TL8tpOyViyA" type="1071">
+        <children xmi:type="notation:Shape" xmi:id="_FMc3IL87Ed-TL8tpOyViyA" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_ee1XALzuEd-yoLyJo0JlOg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_FMc3Ib87Ed-TL8tpOyViyA" x="72" y="19"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_FMwZIL87Ed-TL8tpOyViyA" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_cZdl8LzuEd-yoLyJo0JlOg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_FMwZIb87Ed-TL8tpOyViyA" x="72" y="19"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_beHDIUAjEeCQKOeIf0epIQ" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_beHDIEAjEeCQKOeIf0epIQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_beHDIkAjEeCQKOeIf0epIQ"/>
+        </children>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_r9R4-r86Ed-TL8tpOyViyA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_r9R4-786Ed-TL8tpOyViyA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_r9R4_L86Ed-TL8tpOyViyA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_r9R4_b86Ed-TL8tpOyViyA" type="1019">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_r9R4_r86Ed-TL8tpOyViyA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_r9R4_786Ed-TL8tpOyViyA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_r9R5AL86Ed-TL8tpOyViyA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="CHESS.profile.uml#_ZcEAsLzuEd-yoLyJo0JlOg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_r9R48b86Ed-TL8tpOyViyA" x="605" y="325" width="186"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_r_zogL86Ed-TL8tpOyViyA" type="1026" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_r_zogr86Ed-TL8tpOyViyA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_r_zog786Ed-TL8tpOyViyA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_r_zohL86Ed-TL8tpOyViyA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_r_zohb86Ed-TL8tpOyViyA" key="displayNameLabelIcon_value" value="true"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_r_zohr86Ed-TL8tpOyViyA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_r_zoh786Ed-TL8tpOyViyA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_r_zoiL86Ed-TL8tpOyViyA" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_r_zoib86Ed-TL8tpOyViyA" type="1071">
+        <children xmi:type="notation:Shape" xmi:id="__MlmcL86Ed-TL8tpOyViyA" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_-ghAQLztEd-yoLyJo0JlOg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="__Mlmcb86Ed-TL8tpOyViyA" x="58" y="17"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="__NCSYL86Ed-TL8tpOyViyA" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_7R02sLztEd-yoLyJo0JlOg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="__NCSYb86Ed-TL8tpOyViyA" x="58" y="17"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="__Ne-UL86Ed-TL8tpOyViyA" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_CIZF4LzuEd-yoLyJo0JlOg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="__Ne-Ub86Ed-TL8tpOyViyA" x="58" y="17"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_PUYRMEAjEeCQKOeIf0epIQ" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_PUFWQEAjEeCQKOeIf0epIQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_PUYRMUAjEeCQKOeIf0epIQ"/>
+        </children>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_r_zoir86Ed-TL8tpOyViyA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_r_zoi786Ed-TL8tpOyViyA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_r_zojL86Ed-TL8tpOyViyA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_r_zojb86Ed-TL8tpOyViyA" type="1019">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_r_zojr86Ed-TL8tpOyViyA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_r_zoj786Ed-TL8tpOyViyA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_r_zokL86Ed-TL8tpOyViyA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="CHESS.profile.uml#_2CGCcLztEd-yoLyJo0JlOg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_r_zogb86Ed-TL8tpOyViyA" x="15" y="320" width="186"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_Yg47wDgaEeCE2sZUGxu35w" type="1026" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Yg47wjgaEeCE2sZUGxu35w" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Yg47wzgaEeCE2sZUGxu35w" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Yg47xDgaEeCE2sZUGxu35w" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Yg47xTgaEeCE2sZUGxu35w" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Yg47xjgaEeCE2sZUGxu35w" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Yg47xzgaEeCE2sZUGxu35w" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_Yg47yDgaEeCE2sZUGxu35w" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_Yg47yTgaEeCE2sZUGxu35w" type="1071">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_Yg47yjgaEeCE2sZUGxu35w"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_Yg47yzgaEeCE2sZUGxu35w"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Yg47zDgaEeCE2sZUGxu35w"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_Yg47zTgaEeCE2sZUGxu35w" type="1019">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_Yg47zjgaEeCE2sZUGxu35w"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_Yg47zzgaEeCE2sZUGxu35w"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Yg470DgaEeCE2sZUGxu35w"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="CHESS.profile.uml#_y0zvEDQ2EeC0ueejuetpgA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Yg47wTgaEeCE2sZUGxu35w" x="265" y="60" width="166"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_q0aMYb86Ed-TL8tpOyViyA"/>
+    <element xmi:type="uml:Profile" href="CHESS.profile.uml#_d50lQL86Ed-TL8tpOyViyA"/>
+    <edges xmi:type="notation:Connector" xmi:id="_nLOxkEAjEeCQKOeIf0epIQ" type="4002" source="_r_zogL86Ed-TL8tpOyViyA" target="_Yg47wDgaEeCE2sZUGxu35w" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_nLOxk0AjEeCQKOeIf0epIQ" type="6007">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_nLOxlEAjEeCQKOeIf0epIQ" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_nLOxkUAjEeCQKOeIf0epIQ" fontHeight="8"/>
+      <element xmi:type="uml:Generalization" href="CHESS.profile.uml#_nKyFoEAjEeCQKOeIf0epIQ"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_nLOxkkAjEeCQKOeIf0epIQ" points="[18, -23, -174, 210]$[194, -283, 2, -50]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_nL-YcEAjEeCQKOeIf0epIQ" id="(0.7580645161290323,0.17037037037037037)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_nhvNEEAjEeCQKOeIf0epIQ" type="4002" source="_r6S2YL86Ed-TL8tpOyViyA" target="_Yg47wDgaEeCE2sZUGxu35w" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_nhvNE0AjEeCQKOeIf0epIQ" type="6007">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_nhvNFEAjEeCQKOeIf0epIQ" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_nhvNEUAjEeCQKOeIf0epIQ" fontHeight="8"/>
+      <element xmi:type="uml:Generalization" href="CHESS.profile.uml#_nhIwIEAjEeCQKOeIf0epIQ"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_nhvNEkAjEeCQKOeIf0epIQ" points="[7, -50, -41, 210]$[114, -210, 66, 50]"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_n2cRwEAjEeCQKOeIf0epIQ" type="4002" source="_r8YhEL86Ed-TL8tpOyViyA" target="_Yg47wDgaEeCE2sZUGxu35w" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_n2cRw0AjEeCQKOeIf0epIQ" type="6007">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_n2cRxEAjEeCQKOeIf0epIQ" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_n2cRwUAjEeCQKOeIf0epIQ" fontHeight="8"/>
+      <element xmi:type="uml:Generalization" href="CHESS.profile.uml#_n2AM4EAjEeCQKOeIf0epIQ"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_n2cRwkAjEeCQKOeIf0epIQ" points="[-25, -61, 115, 210]$[-57, -246, 83, 25]"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_oNF3MEAjEeCQKOeIf0epIQ" type="4002" source="_r9R48L86Ed-TL8tpOyViyA" target="_Yg47wDgaEeCE2sZUGxu35w" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_oNF3M0AjEeCQKOeIf0epIQ" type="6007">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_oNF3NEAjEeCQKOeIf0epIQ" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_oNF3MUAjEeCQKOeIf0epIQ" fontHeight="8"/>
+      <element xmi:type="uml:Generalization" href="CHESS.profile.uml#_oMpyUEAjEeCQKOeIf0epIQ"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_oNF3MkAjEeCQKOeIf0epIQ" points="[-21, -19, 226, 212]$[-220, -230, 27, 1]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_oN2FIEAjEeCQKOeIf0epIQ" id="(0.24731182795698925,0.1557377049180328)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_oN2FIUAjEeCQKOeIf0epIQ" id="(0.8373493975903614,0.53)"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_a_r58L87Ed-TL8tpOyViyA" type="PapyrusUMLProfileDiagram" name="FaultTolerance" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_blYoAL87Ed-TL8tpOyViyA" type="1026" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_blYoAr87Ed-TL8tpOyViyA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_blYoA787Ed-TL8tpOyViyA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_blYoBL87Ed-TL8tpOyViyA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_blYoBb87Ed-TL8tpOyViyA" key="displayNameLabelIcon_value" value="true"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_blYoBr87Ed-TL8tpOyViyA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_blYoB787Ed-TL8tpOyViyA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_blYoCL87Ed-TL8tpOyViyA" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_blYoCb87Ed-TL8tpOyViyA" type="1071">
+        <children xmi:type="notation:Shape" xmi:id="_eCJlYL87Ed-TL8tpOyViyA" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_-e32wL84Ed-TL8tpOyViyA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_eCJlYb87Ed-TL8tpOyViyA" x="70" y="8"/>
+        </children>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_blYoCr87Ed-TL8tpOyViyA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_blYoC787Ed-TL8tpOyViyA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_blYoDL87Ed-TL8tpOyViyA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_blYoDb87Ed-TL8tpOyViyA" type="1019">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_blYoDr87Ed-TL8tpOyViyA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_blYoD787Ed-TL8tpOyViyA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_blYoEL87Ed-TL8tpOyViyA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="CHESS.profile.uml#_nFkOAL84Ed-TL8tpOyViyA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_blYoAb87Ed-TL8tpOyViyA" x="485" y="195" width="226"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_blsKAL87Ed-TL8tpOyViyA" type="1026" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_blsKAr87Ed-TL8tpOyViyA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_blsKA787Ed-TL8tpOyViyA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_blsKBL87Ed-TL8tpOyViyA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_blsKBb87Ed-TL8tpOyViyA" key="displayNameLabelIcon_value" value="true"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_blsKBr87Ed-TL8tpOyViyA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_blsKB787Ed-TL8tpOyViyA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_blsKCL87Ed-TL8tpOyViyA" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_blsKCb87Ed-TL8tpOyViyA" type="1071">
+        <children xmi:type="notation:Shape" xmi:id="_HdSb4L88Ed-TL8tpOyViyA" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_HdIq4L88Ed-TL8tpOyViyA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_HdSb4b88Ed-TL8tpOyViyA"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_LSa6YL88Ed-TL8tpOyViyA" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_LSRJYL88Ed-TL8tpOyViyA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_LSa6Yb88Ed-TL8tpOyViyA"/>
+        </children>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_blsKCr87Ed-TL8tpOyViyA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_blsKC787Ed-TL8tpOyViyA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_blsKDL87Ed-TL8tpOyViyA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_blsKDb87Ed-TL8tpOyViyA" type="1019">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_blsKDr87Ed-TL8tpOyViyA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_blsKD787Ed-TL8tpOyViyA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_blsKEL87Ed-TL8tpOyViyA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="CHESS.profile.uml#_sRiccLzvEd-yoLyJo0JlOg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_blsKAb87Ed-TL8tpOyViyA" x="110" y="155" width="206"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_fcKFQL87Ed-TL8tpOyViyA" type="1031" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_fcKFQr87Ed-TL8tpOyViyA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_fcKFQ787Ed-TL8tpOyViyA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_fcKFRL87Ed-TL8tpOyViyA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_fcKFRb87Ed-TL8tpOyViyA" key="displayNameLabelIcon_value" value="true"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_fcKFRr87Ed-TL8tpOyViyA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_fcKFR787Ed-TL8tpOyViyA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_fcKFSL87Ed-TL8tpOyViyA" type="1084"/>
+      <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Component"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fcKFQb87Ed-TL8tpOyViyA" x="415" y="30"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_c8sjwL88Ed-TL8tpOyViyA" type="1026" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_c8sjwr88Ed-TL8tpOyViyA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_c8sjw788Ed-TL8tpOyViyA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_c8sjxL88Ed-TL8tpOyViyA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_c8sjxb88Ed-TL8tpOyViyA" key="displayNameLabelIcon_value" value="true"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_c8sjxr88Ed-TL8tpOyViyA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_c8sjx788Ed-TL8tpOyViyA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_c8sjyL88Ed-TL8tpOyViyA" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_c8sjyb88Ed-TL8tpOyViyA" type="1071">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_c8sjyr88Ed-TL8tpOyViyA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_c8sjy788Ed-TL8tpOyViyA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_c8sjzL88Ed-TL8tpOyViyA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_c8sjzb88Ed-TL8tpOyViyA" type="1019">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_c8sjzr88Ed-TL8tpOyViyA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_c8sjz788Ed-TL8tpOyViyA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_c8sj0L88Ed-TL8tpOyViyA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="CHESS.profile.uml#_c8jZ0L88Ed-TL8tpOyViyA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_c8sjwb88Ed-TL8tpOyViyA" x="194" y="324"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_fEc6cL88Ed-TL8tpOyViyA" type="1026" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_fEc6cr88Ed-TL8tpOyViyA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_fEc6c788Ed-TL8tpOyViyA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_fEc6dL88Ed-TL8tpOyViyA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_fEc6db88Ed-TL8tpOyViyA" key="displayNameLabelIcon_value" value="true"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_fEc6dr88Ed-TL8tpOyViyA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_fEmrcL88Ed-TL8tpOyViyA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_fEmrcb88Ed-TL8tpOyViyA" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_fEmrcr88Ed-TL8tpOyViyA" type="1071">
+        <children xmi:type="notation:Shape" xmi:id="_hTgL8L88Ed-TL8tpOyViyA" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_hTXCAL88Ed-TL8tpOyViyA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_hTgL8b88Ed-TL8tpOyViyA"/>
+        </children>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_fEmrc788Ed-TL8tpOyViyA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_fEmrdL88Ed-TL8tpOyViyA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fEmrdb88Ed-TL8tpOyViyA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_fEmrdr88Ed-TL8tpOyViyA" type="1019">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_fEmrd788Ed-TL8tpOyViyA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_fEmreL88Ed-TL8tpOyViyA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fEmreb88Ed-TL8tpOyViyA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="CHESS.profile.uml#_fETJcL88Ed-TL8tpOyViyA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fEc6cb88Ed-TL8tpOyViyA" x="335" y="345" width="206"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_a_r58b87Ed-TL8tpOyViyA"/>
+    <element xmi:type="uml:Profile" href="CHESS.profile.uml#_mbqqgL86Ed-TL8tpOyViyA"/>
+    <edges xmi:type="notation:Connector" xmi:id="_fcdAML87Ed-TL8tpOyViyA" type="1013" source="_blsKAL87Ed-TL8tpOyViyA" target="_fcKFQL87Ed-TL8tpOyViyA" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_fcdAMb87Ed-TL8tpOyViyA" fontHeight="8"/>
+      <element xmi:type="uml:Extension" href="CHESS.profile.uml#_xlcmEbzvEd-yoLyJo0JlOg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_fcdAMr87Ed-TL8tpOyViyA" points="[-55, -50, 218, 200]$[-273, -250, 0, 0]"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_fwbFEL87Ed-TL8tpOyViyA" type="1013" source="_blYoAL87Ed-TL8tpOyViyA" target="_fcKFQL87Ed-TL8tpOyViyA" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_fwbFEb87Ed-TL8tpOyViyA" fontHeight="8"/>
+      <element xmi:type="uml:Extension" href="CHESS.profile.uml#_uOmGMb84Ed-TL8tpOyViyA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_fwbFEr87Ed-TL8tpOyViyA" points="[-82, -50, 234, 144]$[-276, -169, 40, 25]"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_d1B58L88Ed-TL8tpOyViyA" type="1013" source="_c8sjwL88Ed-TL8tpOyViyA" target="_fcKFQL87Ed-TL8tpOyViyA" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_d1B58b88Ed-TL8tpOyViyA" fontHeight="8"/>
+      <element xmi:type="uml:Extension" href="CHESS.profile.uml#_d0uX8b88Ed-TL8tpOyViyA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_d1B58r88Ed-TL8tpOyViyA" points="[32, -50, -189, 269]$[171, -321, -50, -2]"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_gK8BYL88Ed-TL8tpOyViyA" type="1013" source="_fEc6cL88Ed-TL8tpOyViyA" target="_fcKFQL87Ed-TL8tpOyViyA" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_gK8BYb88Ed-TL8tpOyViyA" fontHeight="8"/>
+      <element xmi:type="uml:Extension" href="CHESS.profile.uml#_gKofYb88Ed-TL8tpOyViyA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_gK8BYr88Ed-TL8tpOyViyA" points="[2, -15, -44, 292]$[96, -306, 50, 1]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_gLYtUL88Ed-TL8tpOyViyA" id="(0.54,0.15)"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_rATocL88Ed-TL8tpOyViyA" type="PapyrusUMLProfileDiagram" name="MaintenanceMonitoring" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_u9VesL88Ed-TL8tpOyViyA" type="1026" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_u9Vesr88Ed-TL8tpOyViyA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_u9Ves788Ed-TL8tpOyViyA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_u9VetL88Ed-TL8tpOyViyA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_u9Vetb88Ed-TL8tpOyViyA" key="displayNameLabelIcon_value" value="true"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_u9Vetr88Ed-TL8tpOyViyA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_u9Vet788Ed-TL8tpOyViyA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_u9VeuL88Ed-TL8tpOyViyA" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_u9Veub88Ed-TL8tpOyViyA" type="1071">
+        <children xmi:type="notation:Shape" xmi:id="_z3AjYL88Ed-TL8tpOyViyA" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_z22yYL88Ed-TL8tpOyViyA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_z3AjYb88Ed-TL8tpOyViyA"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_2juBQL88Ed-TL8tpOyViyA" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_2jkQQL88Ed-TL8tpOyViyA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_2juBQb88Ed-TL8tpOyViyA"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_4zXvsL88Ed-TL8tpOyViyA" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_4zN-sL88Ed-TL8tpOyViyA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_4zXvsb88Ed-TL8tpOyViyA"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_7qqF4L88Ed-TL8tpOyViyA" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_7qgU4L88Ed-TL8tpOyViyA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_7qqF4b88Ed-TL8tpOyViyA"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_uhKDkL89Ed-TL8tpOyViyA" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_uhASkL89Ed-TL8tpOyViyA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_uhKDkb89Ed-TL8tpOyViyA"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_3pEDQL89Ed-TL8tpOyViyA" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_3o6SQL89Ed-TL8tpOyViyA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_3pEDQb89Ed-TL8tpOyViyA"/>
+        </children>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_u9Veur88Ed-TL8tpOyViyA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_u9Veu788Ed-TL8tpOyViyA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_u9VevL88Ed-TL8tpOyViyA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_u9Vevb88Ed-TL8tpOyViyA" type="1019">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_u9Vevr88Ed-TL8tpOyViyA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_u9Vev788Ed-TL8tpOyViyA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_u9VewL88Ed-TL8tpOyViyA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="CHESS.profile.uml#_u9LtsL88Ed-TL8tpOyViyA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_u9Vesb88Ed-TL8tpOyViyA" x="330" y="140" width="251" height="151"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_xtLJEL88Ed-TL8tpOyViyA" type="1031" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_xtUTAL88Ed-TL8tpOyViyA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_xtUTAb88Ed-TL8tpOyViyA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_xtUTAr88Ed-TL8tpOyViyA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_xtUTA788Ed-TL8tpOyViyA" key="displayNameLabelIcon_value" value="true"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_xtUTBL88Ed-TL8tpOyViyA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_xtUTBb88Ed-TL8tpOyViyA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_xtUTCL88Ed-TL8tpOyViyA" source="Stereotype_Annotation">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ybbRMP3gEeOmz-4FDV-1Kw" key="StereotypeWithQualifiedNameList" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ybb4QP3gEeOmz-4FDV-1Kw" key="StereotypeList" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ybb4Qf3gEeOmz-4FDV-1Kw" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ybcfUP3gEeOmz-4FDV-1Kw" key="PropStereoDisplay" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ybcfUf3gEeOmz-4FDV-1Kw" key="StereotypePropertyLocation" value="Compartment"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_xtUTBr88Ed-TL8tpOyViyA" type="1084"/>
+      <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Activity"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_xtUTB788Ed-TL8tpOyViyA" x="395" y="45"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_8BPkcL89Ed-TL8tpOyViyA" type="1026" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8BPkcr89Ed-TL8tpOyViyA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8BPkc789Ed-TL8tpOyViyA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8BPkdL89Ed-TL8tpOyViyA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8BPkdb89Ed-TL8tpOyViyA" key="displayNameLabelIcon_value" value="true"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8BPkdr89Ed-TL8tpOyViyA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8BYuYL89Ed-TL8tpOyViyA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_8BYuYb89Ed-TL8tpOyViyA" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_8BYuYr89Ed-TL8tpOyViyA" type="1071">
+        <children xmi:type="notation:Shape" xmi:id="_-fz4oL89Ed-TL8tpOyViyA" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_-fqHoL89Ed-TL8tpOyViyA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_-fz4ob89Ed-TL8tpOyViyA"/>
+        </children>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_8BYuY789Ed-TL8tpOyViyA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_8BYuZL89Ed-TL8tpOyViyA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8BYuZb89Ed-TL8tpOyViyA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_8BYuZr89Ed-TL8tpOyViyA" type="1019">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_8BYuZ789Ed-TL8tpOyViyA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_8BYuaL89Ed-TL8tpOyViyA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8BYuab89Ed-TL8tpOyViyA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="CHESS.profile.uml#_8BFzcL89Ed-TL8tpOyViyA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8BPkcb89Ed-TL8tpOyViyA" x="55" y="265" width="154"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_D82JEL8-Ed-TL8tpOyViyA" type="1026" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_D82JEr8-Ed-TL8tpOyViyA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_D82JE78-Ed-TL8tpOyViyA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_D82JFL8-Ed-TL8tpOyViyA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_D82JFb8-Ed-TL8tpOyViyA" key="displayNameLabelIcon_value" value="true"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_D82JFr8-Ed-TL8tpOyViyA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_D82JF78-Ed-TL8tpOyViyA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_D82JGL8-Ed-TL8tpOyViyA" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_D82JGb8-Ed-TL8tpOyViyA" type="1071">
+        <children xmi:type="notation:Shape" xmi:id="_GVv6IL8-Ed-TL8tpOyViyA" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_GVmJIL8-Ed-TL8tpOyViyA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_GVv6Ib8-Ed-TL8tpOyViyA"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_MCIOIL8-Ed-TL8tpOyViyA" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_MB_EML8-Ed-TL8tpOyViyA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_MCIOIb8-Ed-TL8tpOyViyA"/>
+        </children>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_D82JGr8-Ed-TL8tpOyViyA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_D82JG78-Ed-TL8tpOyViyA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_D82JHL8-Ed-TL8tpOyViyA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_D82JHb8-Ed-TL8tpOyViyA" type="1019">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_D82JHr8-Ed-TL8tpOyViyA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_D82JH78-Ed-TL8tpOyViyA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_D82JIL8-Ed-TL8tpOyViyA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="CHESS.profile.uml#_D8sYEL8-Ed-TL8tpOyViyA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_D82JEb8-Ed-TL8tpOyViyA" x="200" y="380" width="171"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_QDDs8L8-Ed-TL8tpOyViyA" type="1026" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QDDs8r8-Ed-TL8tpOyViyA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_QDDs878-Ed-TL8tpOyViyA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QDDs9L8-Ed-TL8tpOyViyA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_QDDs9b8-Ed-TL8tpOyViyA" key="displayNameLabelIcon_value" value="true"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QDDs9r8-Ed-TL8tpOyViyA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_QDDs978-Ed-TL8tpOyViyA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_QDDs-L8-Ed-TL8tpOyViyA" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_QDDs-b8-Ed-TL8tpOyViyA" type="1071">
+        <children xmi:type="notation:Shape" xmi:id="_gZ1uIL8-Ed-TL8tpOyViyA" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_gZr9IL8-Ed-TL8tpOyViyA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_gZ1uIb8-Ed-TL8tpOyViyA"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_jKwpMLwLEeCkE-pvjHe3zw" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_jIO5oLwLEeCkE-pvjHe3zw"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_jKwpMbwLEeCkE-pvjHe3zw"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_3iL1ULwLEeCkE-pvjHe3zw" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_3hvJYLwLEeCkE-pvjHe3zw"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_3iL1UbwLEeCkE-pvjHe3zw"/>
+        </children>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_QDDs-r8-Ed-TL8tpOyViyA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_QDDs-78-Ed-TL8tpOyViyA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QDDs_L8-Ed-TL8tpOyViyA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_QDDs_b8-Ed-TL8tpOyViyA" type="1019">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_QDDs_r8-Ed-TL8tpOyViyA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_QDDs_78-Ed-TL8tpOyViyA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QDDtAL8-Ed-TL8tpOyViyA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="CHESS.profile.uml#_QC6jAL8-Ed-TL8tpOyViyA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QDDs8b8-Ed-TL8tpOyViyA" x="420" y="390" width="186"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_pKAjQL8-Ed-TL8tpOyViyA" type="1026" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_pKAjQr8-Ed-TL8tpOyViyA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_pKAjQ78-Ed-TL8tpOyViyA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_pKJtML8-Ed-TL8tpOyViyA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_pKJtMb8-Ed-TL8tpOyViyA" key="displayNameLabelIcon_value" value="true"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_pKJtMr8-Ed-TL8tpOyViyA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_pKJtM78-Ed-TL8tpOyViyA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_pKJtNL8-Ed-TL8tpOyViyA" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_pKJtNb8-Ed-TL8tpOyViyA" type="1071">
+        <children xmi:type="notation:Shape" xmi:id="_r7fMYL8-Ed-TL8tpOyViyA" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_r7WCcL8-Ed-TL8tpOyViyA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_r7fMYb8-Ed-TL8tpOyViyA"/>
+        </children>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_pKJtNr8-Ed-TL8tpOyViyA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_pKJtN78-Ed-TL8tpOyViyA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pKJtOL8-Ed-TL8tpOyViyA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_pKJtOb8-Ed-TL8tpOyViyA" type="1019">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_pKJtOr8-Ed-TL8tpOyViyA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_pKJtO78-Ed-TL8tpOyViyA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pKJtPL8-Ed-TL8tpOyViyA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="CHESS.profile.uml#_pJ2yQL8-Ed-TL8tpOyViyA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pKAjQb8-Ed-TL8tpOyViyA" x="630" y="335" width="135"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_QSA9YLwSEeCKhZAgDxzHNA" type="1031" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QSA9YrwSEeCKhZAgDxzHNA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_QSA9Y7wSEeCKhZAgDxzHNA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QSA9ZLwSEeCKhZAgDxzHNA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_QSA9ZbwSEeCKhZAgDxzHNA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QSA9ZrwSEeCKhZAgDxzHNA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_QSA9Z7wSEeCKhZAgDxzHNA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QSA9arwSEeCKhZAgDxzHNA" source="Stereotype_Annotation">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yfG3UP3gEeOmz-4FDV-1Kw" key="StereotypeWithQualifiedNameList" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yfG3Uf3gEeOmz-4FDV-1Kw" key="StereotypeList" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yfHeYP3gEeOmz-4FDV-1Kw" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yfHeYf3gEeOmz-4FDV-1Kw" key="PropStereoDisplay" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yfIFcP3gEeOmz-4FDV-1Kw" key="StereotypePropertyLocation" value="Compartment"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_QSA9aLwSEeCKhZAgDxzHNA" type="1084"/>
+      <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Action"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QSA9abwSEeCKhZAgDxzHNA" x="613" y="51"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_rATocb88Ed-TL8tpOyViyA"/>
+    <element xmi:type="uml:Profile" href="CHESS.profile.uml#_oUVxcL88Ed-TL8tpOyViyA"/>
+    <edges xmi:type="notation:Connector" xmi:id="_yT6Y8L88Ed-TL8tpOyViyA" type="1013" source="_u9VesL88Ed-TL8tpOyViyA" target="_xtLJEL88Ed-TL8tpOyViyA" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_yT6Y8b88Ed-TL8tpOyViyA" fontHeight="8"/>
+      <element xmi:type="uml:Extension" href="CHESS.profile.uml#_yTxPAb88Ed-TL8tpOyViyA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_yT6Y8r88Ed-TL8tpOyViyA" points="[29, -50, -100, 147]$[79, -183, -50, 14]"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_83774L89Ed-TL8tpOyViyA" type="4002" source="_8BPkcL89Ed-TL8tpOyViyA" target="_u9VesL88Ed-TL8tpOyViyA" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_83774789Ed-TL8tpOyViyA" type="6007">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_83775L89Ed-TL8tpOyViyA" x="-19" y="-29"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_83774b89Ed-TL8tpOyViyA" fontHeight="8"/>
+      <element xmi:type="uml:Generalization" href="CHESS.profile.uml#_83yK4L89Ed-TL8tpOyViyA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_83774r89Ed-TL8tpOyViyA" points="[9, -20, -40, 88]$[7, -73, -42, 35]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_84O20L89Ed-TL8tpOyViyA" id="(0.6,0.2)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_84O20b89Ed-TL8tpOyViyA" id="(0.3107569721115538,0.7682119205298014)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_E4TrwL8-Ed-TL8tpOyViyA" type="4002" source="_D82JEL8-Ed-TL8tpOyViyA" target="_u9VesL88Ed-TL8tpOyViyA" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_E4Trw78-Ed-TL8tpOyViyA" type="6007">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_E4TrxL8-Ed-TL8tpOyViyA" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_E4Trwb8-Ed-TL8tpOyViyA" fontHeight="8"/>
+      <element xmi:type="uml:Generalization" href="CHESS.profile.uml#_E4J6wL8-Ed-TL8tpOyViyA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_E4Trwr8-Ed-TL8tpOyViyA" points="[-3, -13, 15, 96]$[-7, -76, 11, 33]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_E4mmsL8-Ed-TL8tpOyViyA" id="(0.2,0.13)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_E4mmsb8-Ed-TL8tpOyViyA" id="(0.5577689243027888,0.7814569536423841)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_SCfOEL8-Ed-TL8tpOyViyA" type="4002" source="_QDDs8L8-Ed-TL8tpOyViyA" target="_u9VesL88Ed-TL8tpOyViyA" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_SCfOE78-Ed-TL8tpOyViyA" type="6007">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_SCfOFL8-Ed-TL8tpOyViyA" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_SCfOEb8-Ed-TL8tpOyViyA" fontHeight="8"/>
+      <element xmi:type="uml:Generalization" href="CHESS.profile.uml#_SCVdEL8-Ed-TL8tpOyViyA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_SCfOEr8-Ed-TL8tpOyViyA" points="[-12, -24, 56, 123]$[-43, -113, 25, 34]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_SCyJAL8-Ed-TL8tpOyViyA" id="(0.4,0.24)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_SCyJAb8-Ed-TL8tpOyViyA" id="(0.6254980079681275,0.7748344370860927)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_qpO6UL8-Ed-TL8tpOyViyA" type="4002" source="_pKAjQL8-Ed-TL8tpOyViyA" target="_u9VesL88Ed-TL8tpOyViyA" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_qpO6U78-Ed-TL8tpOyViyA" type="6007">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_qpO6VL8-Ed-TL8tpOyViyA" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_qpO6Ub8-Ed-TL8tpOyViyA" fontHeight="8"/>
+      <element xmi:type="uml:Generalization" href="CHESS.profile.uml#_qpFJUL8-Ed-TL8tpOyViyA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_qpO6Ur8-Ed-TL8tpOyViyA" points="[-22, -5, 171, 35]$[-141, -46, 52, -6]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_qpYEQL8-Ed-TL8tpOyViyA" id="(0.16296296296296298,0.09)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_qpYEQb8-Ed-TL8tpOyViyA" id="(0.7928286852589641,0.4503311258278146)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_RIstwLwSEeCKhZAgDxzHNA" type="1013" source="_u9VesL88Ed-TL8tpOyViyA" target="_QSA9YLwSEeCKhZAgDxzHNA" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_RIstwbwSEeCKhZAgDxzHNA" fontHeight="8"/>
+      <element xmi:type="uml:Extension" href="CHESS.profile.uml#_RAzWAbwSEeCKhZAgDxzHNA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_RIstwrwSEeCKhZAgDxzHNA" points="[14, -14, -82, 73]$[52, -62, -44, 25]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_RKMikLwSEeCKhZAgDxzHNA" id="(0.9442231075697212,0.152317880794702)"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_Z-N5EL8_Ed-TL8tpOyViyA" type="PapyrusUMLProfileDiagram" name="StateBasedAnalysis" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_aqd7EL8_Ed-TL8tpOyViyA" type="1026" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_aqd7Er8_Ed-TL8tpOyViyA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_aqd7E78_Ed-TL8tpOyViyA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_aqd7FL8_Ed-TL8tpOyViyA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_aqd7Fb8_Ed-TL8tpOyViyA" key="displayNameLabelIcon_value" value="true"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_aqd7Fr8_Ed-TL8tpOyViyA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_aqd7F78_Ed-TL8tpOyViyA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_aqd7GL8_Ed-TL8tpOyViyA" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_aqd7Gb8_Ed-TL8tpOyViyA" type="1071">
+        <children xmi:type="notation:Shape" xmi:id="_JFngAMAKEd-Dn5_MBIs5Vw" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_JFdvAMAKEd-Dn5_MBIs5Vw"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_JFngAcAKEd-Dn5_MBIs5Vw"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_MY8R8cAKEd-Dn5_MBIs5Vw" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_MY8R8MAKEd-Dn5_MBIs5Vw"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_MY8R8sAKEd-Dn5_MBIs5Vw"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_PHT8sMAKEd-Dn5_MBIs5Vw" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_PHKywMAKEd-Dn5_MBIs5Vw"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_PHT8scAKEd-Dn5_MBIs5Vw"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_gsfvQFocEeCE4ZeNjhtnzg" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_goeK4FocEeCE4ZeNjhtnzg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_gsfvQVocEeCE4ZeNjhtnzg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_psvnwFocEeCE4ZeNjhtnzg" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_psJx4FocEeCE4ZeNjhtnzg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_psvnwVocEeCE4ZeNjhtnzg"/>
+        </children>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_aqd7Gr8_Ed-TL8tpOyViyA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_aqd7G78_Ed-TL8tpOyViyA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_aqd7HL8_Ed-TL8tpOyViyA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_aqd7Hb8_Ed-TL8tpOyViyA" type="1019">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_aqd7Hr8_Ed-TL8tpOyViyA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_aqd7H78_Ed-TL8tpOyViyA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_aqd7IL8_Ed-TL8tpOyViyA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="CHESS.profile.uml#_aqUxIL8_Ed-TL8tpOyViyA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_aqd7Eb8_Ed-TL8tpOyViyA" x="210" y="245" width="286"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_c0ZZoDQ7EeC0ueejuetpgA" type="1026" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_c0ZZojQ7EeC0ueejuetpgA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_c0ZZozQ7EeC0ueejuetpgA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_c0ZZpDQ7EeC0ueejuetpgA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_c0ZZpTQ7EeC0ueejuetpgA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_c0ZZpjQ7EeC0ueejuetpgA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_c0ZZpzQ7EeC0ueejuetpgA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_c0ZZqDQ7EeC0ueejuetpgA" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_c0ZZqTQ7EeC0ueejuetpgA" type="1071">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_c0ZZqjQ7EeC0ueejuetpgA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_c0ZZqzQ7EeC0ueejuetpgA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_c0ZZrDQ7EeC0ueejuetpgA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_c0ZZrTQ7EeC0ueejuetpgA" type="1019">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_c0ZZrjQ7EeC0ueejuetpgA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_c0ZZrzQ7EeC0ueejuetpgA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_c0ZZsDQ7EeC0ueejuetpgA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_9gc2ABKfEdyaWJN1BYon3A"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_c0ZZoTQ7EeC0ueejuetpgA" x="275" y="60" width="146"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_Z-N5Eb8_Ed-TL8tpOyViyA"/>
+    <element xmi:type="uml:Profile" href="CHESS.profile.uml#_Wgxh0L8_Ed-TL8tpOyViyA"/>
+    <edges xmi:type="notation:Connector" xmi:id="_dpTBUDQ7EeC0ueejuetpgA" type="4002" source="_aqd7EL8_Ed-TL8tpOyViyA" target="_c0ZZoDQ7EeC0ueejuetpgA" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_dpTBUzQ7EeC0ueejuetpgA" type="6007">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_dpTBVDQ7EeC0ueejuetpgA" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_dpTBUTQ7EeC0ueejuetpgA" fontHeight="8"/>
+      <element xmi:type="uml:Generalization" href="CHESS.profile.uml#_do2VYDQ7EeC0ueejuetpgA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_dpTBUjQ7EeC0ueejuetpgA" points="[-2, -27, 26, 135]$[45, -161, 73, 1]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_dqMZMDQ7EeC0ueejuetpgA" id="(0.5804195804195804,0.22131147540983606)"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_ETk7EMAPEd-Dn5_MBIs5Vw" type="PapyrusUMLClassDiagram" name="FMEADataType" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_FCq1sMAPEd-Dn5_MBIs5Vw" type="2006" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_FCq1ssAPEd-Dn5_MBIs5Vw" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FCq1s8APEd-Dn5_MBIs5Vw" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_FCq1tMAPEd-Dn5_MBIs5Vw" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FCq1tcAPEd-Dn5_MBIs5Vw" key="displayNameLabelIcon_value" value="true"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_FCq1tsAPEd-Dn5_MBIs5Vw" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FCq1t8APEd-Dn5_MBIs5Vw" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_FCq1uMAPEd-Dn5_MBIs5Vw" type="5023"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_FCq1ucAPEd-Dn5_MBIs5Vw" type="7015">
+        <children xmi:type="notation:Shape" xmi:id="_H2FYgMAPEd-Dn5_MBIs5Vw" type="3017" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:EnumerationLiteral" href="CHESS.profile.uml#_H17ngMAPEd-Dn5_MBIs5Vw"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_H2FYgcAPEd-Dn5_MBIs5Vw"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_JAvNwMAPEd-Dn5_MBIs5Vw" type="3017" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:EnumerationLiteral" href="CHESS.profile.uml#_JAlcwMAPEd-Dn5_MBIs5Vw"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_JAvNwcAPEd-Dn5_MBIs5Vw"/>
+        </children>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_FCq1usAPEd-Dn5_MBIs5Vw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_FCq1u8APEd-Dn5_MBIs5Vw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FCq1vMAPEd-Dn5_MBIs5Vw"/>
+      </children>
+      <element xmi:type="uml:Enumeration" href="CHESS.profile.uml#_FCX6wMAPEd-Dn5_MBIs5Vw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FCq1scAPEd-Dn5_MBIs5Vw" x="123" y="194"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_ETk7EcAPEd-Dn5_MBIs5Vw"/>
+    <element xmi:type="uml:Package" href="CHESS.profile.uml#_973yIMAOEd-Dn5_MBIs5Vw"/>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_ESCl0MAWEd-Dn5_MBIs5Vw" type="PapyrusUMLClassDiagram" name="RealTimeDataTypes" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_FbgvUMAWEd-Dn5_MBIs5Vw" type="2010" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_FbgvUsAWEd-Dn5_MBIs5Vw" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FbgvU8AWEd-Dn5_MBIs5Vw" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_FbgvVMAWEd-Dn5_MBIs5Vw" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FbgvVcAWEd-Dn5_MBIs5Vw" key="displayNameLabelIcon_value" value="true"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_FbgvVsAWEd-Dn5_MBIs5Vw" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FbgvV8AWEd-Dn5_MBIs5Vw" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Uk2tAMAWEd-Dn5_MBIs5Vw" source="Stereotype_Annotation">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Uk2tAcAWEd-Dn5_MBIs5Vw" key="StereotypeWithQualifiedNameList" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Uk2tAsAWEd-Dn5_MBIs5Vw" key="StereotypeList" value="MARTE::MARTE_Annexes::VSL::DataTypes::TupleType"/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Uk2tA8AWEd-Dn5_MBIs5Vw" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Uk2tBMAWEd-Dn5_MBIs5Vw" key="PropStereoDisplay" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Uk2tBcAWEd-Dn5_MBIs5Vw" key="StereotypePropertyLocation" value="Compartment"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_FbgvWMAWEd-Dn5_MBIs5Vw" type="5035"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_FbgvWcAWEd-Dn5_MBIs5Vw" type="7020">
+        <children xmi:type="notation:Shape" xmi:id="_avvh8MAWEd-Dn5_MBIs5Vw" type="3018" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_avJsEMAWEd-Dn5_MBIs5Vw"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_avvh8cAWEd-Dn5_MBIs5Vw"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_UhNO8MDNEd-RT45s8cwWMg" type="3018" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_UhDd8MDNEd-RT45s8cwWMg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_UhNO8cDNEd-RT45s8cwWMg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_ZBFeIcDOEd-RT45s8cwWMg" type="3018" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_ZBFeIMDOEd-RT45s8cwWMg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_ZBFeIsDOEd-RT45s8cwWMg"/>
+        </children>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_FbgvWsAWEd-Dn5_MBIs5Vw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_FbgvW8AWEd-Dn5_MBIs5Vw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FbgvXMAWEd-Dn5_MBIs5Vw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_FbgvXcAWEd-Dn5_MBIs5Vw" type="7021">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_FbgvXsAWEd-Dn5_MBIs5Vw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_FbgvX8AWEd-Dn5_MBIs5Vw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FbgvYMAWEd-Dn5_MBIs5Vw"/>
+      </children>
+      <element xmi:type="uml:DataType" href="CHESS.profile.uml#_FbW-UMAWEd-Dn5_MBIs5Vw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FbgvUcAWEd-Dn5_MBIs5Vw" x="95" y="190" width="255"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_OnYB8MAWEd-Dn5_MBIs5Vw" type="2010" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_OnYB8sAWEd-Dn5_MBIs5Vw" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_OnYB88AWEd-Dn5_MBIs5Vw" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_OnYB9MAWEd-Dn5_MBIs5Vw" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_OnYB9cAWEd-Dn5_MBIs5Vw" key="displayNameLabelIcon_value" value="true"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_OnYB9sAWEd-Dn5_MBIs5Vw" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_OnYB98AWEd-Dn5_MBIs5Vw" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_OnYB-MAWEd-Dn5_MBIs5Vw" type="5035"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_OnYB-cAWEd-Dn5_MBIs5Vw" type="7020">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_OnYB-sAWEd-Dn5_MBIs5Vw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_OnYB-8AWEd-Dn5_MBIs5Vw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OnYB_MAWEd-Dn5_MBIs5Vw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_OnYB_cAWEd-Dn5_MBIs5Vw" type="7021">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_OnYB_sAWEd-Dn5_MBIs5Vw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_OnYB_8AWEd-Dn5_MBIs5Vw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OnYCAMAWEd-Dn5_MBIs5Vw"/>
+      </children>
+      <element xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_69YoYBFXEdyUJeMeN__D-A"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OnYB8cAWEd-Dn5_MBIs5Vw" x="175" y="25" width="156"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_kbM6oMAWEd-Dn5_MBIs5Vw" type="2010" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kbM6osAWEd-Dn5_MBIs5Vw" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kbM6o8AWEd-Dn5_MBIs5Vw" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kbM6pMAWEd-Dn5_MBIs5Vw" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kbM6pcAWEd-Dn5_MBIs5Vw" key="displayNameLabelIcon_value" value="true"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kbM6psAWEd-Dn5_MBIs5Vw" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kbM6p8AWEd-Dn5_MBIs5Vw" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_kbM6qMAWEd-Dn5_MBIs5Vw" type="5035"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kbM6qcAWEd-Dn5_MBIs5Vw" type="7020">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_kbM6qsAWEd-Dn5_MBIs5Vw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_kbM6q8AWEd-Dn5_MBIs5Vw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kbM6rMAWEd-Dn5_MBIs5Vw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kbM6rcAWEd-Dn5_MBIs5Vw" type="7021">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_kbM6rsAWEd-Dn5_MBIs5Vw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_kbM6r8AWEd-Dn5_MBIs5Vw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kbM6sMAWEd-Dn5_MBIs5Vw"/>
+      </children>
+      <element xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_LYgXABFYEdyUJeMeN__D-A"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kbM6ocAWEd-Dn5_MBIs5Vw" x="460" y="25" width="160"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_Q6OMEMDLEd-RT45s8cwWMg" type="2010" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Q6OMEsDLEd-RT45s8cwWMg" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Q6OME8DLEd-RT45s8cwWMg" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Q6OMFMDLEd-RT45s8cwWMg" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Q6OMFcDLEd-RT45s8cwWMg" key="displayNameLabelIcon_value" value="true"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Q6OMFsDLEd-RT45s8cwWMg" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Q6OMF8DLEd-RT45s8cwWMg" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_vVIPUMDLEd-RT45s8cwWMg" source="Stereotype_Annotation">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_vVIPUcDLEd-RT45s8cwWMg" key="StereotypeWithQualifiedNameList" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_vVIPUsDLEd-RT45s8cwWMg" key="StereotypeList" value="MARTE::MARTE_Annexes::VSL::DataTypes::TupleType"/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_vVIPU8DLEd-RT45s8cwWMg" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_vVIPVMDLEd-RT45s8cwWMg" key="PropStereoDisplay" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_vVIPVcDLEd-RT45s8cwWMg" key="StereotypePropertyLocation" value="Compartment"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_Q6XWAMDLEd-RT45s8cwWMg" type="5035"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_Q6XWAcDLEd-RT45s8cwWMg" type="7020">
+        <children xmi:type="notation:Shape" xmi:id="_0KVqwMDLEd-RT45s8cwWMg" type="3018" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_0Jv04MDLEd-RT45s8cwWMg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_0KVqwcDLEd-RT45s8cwWMg"/>
+        </children>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_Q6XWAsDLEd-RT45s8cwWMg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_Q6XWA8DLEd-RT45s8cwWMg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Q6XWBMDLEd-RT45s8cwWMg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_Q6XWBcDLEd-RT45s8cwWMg" type="7021">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_Q6XWBsDLEd-RT45s8cwWMg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_Q6XWB8DLEd-RT45s8cwWMg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Q6XWCMDLEd-RT45s8cwWMg"/>
+      </children>
+      <element xmi:type="uml:DataType" href="CHESS.profile.uml#_Q6EbEMDLEd-RT45s8cwWMg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Q6OMEcDLEd-RT45s8cwWMg" x="100" y="460" width="226"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_tdeKIMDLEd-RT45s8cwWMg" type="2010" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_tdeKIsDLEd-RT45s8cwWMg" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_tdeKI8DLEd-RT45s8cwWMg" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_tdnUEMDLEd-RT45s8cwWMg" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_tdnUEcDLEd-RT45s8cwWMg" key="displayNameLabelIcon_value" value="true"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_tdnUEsDLEd-RT45s8cwWMg" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_tdnUE8DLEd-RT45s8cwWMg" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_tdnUFMDLEd-RT45s8cwWMg" type="5035"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_tdnUFcDLEd-RT45s8cwWMg" type="7020">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_tdnUFsDLEd-RT45s8cwWMg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_tdnUF8DLEd-RT45s8cwWMg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tdnUGMDLEd-RT45s8cwWMg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_tdnUGcDLEd-RT45s8cwWMg" type="7021">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_tdnUGsDLEd-RT45s8cwWMg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_tdnUG8DLEd-RT45s8cwWMg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tdnUHMDLEd-RT45s8cwWMg"/>
+      </children>
+      <element xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_YOIbEBFXEdyUJeMeN__D-A"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tdeKIcDLEd-RT45s8cwWMg" x="115" y="320" width="186"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_3yzJwMDMEd-RT45s8cwWMg" type="2010" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_3yzJwsDMEd-RT45s8cwWMg" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_3yzJw8DMEd-RT45s8cwWMg" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_3yzJxMDMEd-RT45s8cwWMg" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_3yzJxcDMEd-RT45s8cwWMg" key="displayNameLabelIcon_value" value="true"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_3yzJxsDMEd-RT45s8cwWMg" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_3yzJx8DMEd-RT45s8cwWMg" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_7VcxIMDMEd-RT45s8cwWMg" source="Stereotype_Annotation">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_7VcxIcDMEd-RT45s8cwWMg" key="StereotypeWithQualifiedNameList" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_7VcxIsDMEd-RT45s8cwWMg" key="StereotypeList" value="MARTE::MARTE_Annexes::VSL::DataTypes::TupleType"/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_7VcxI8DMEd-RT45s8cwWMg" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_7VcxJMDMEd-RT45s8cwWMg" key="PropStereoDisplay" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_7VcxJcDMEd-RT45s8cwWMg" key="StereotypePropertyLocation" value="Compartment"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_3yzJyMDMEd-RT45s8cwWMg" type="5035"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_3yzJycDMEd-RT45s8cwWMg" type="7020">
+        <children xmi:type="notation:Shape" xmi:id="_o4kd0MAWEd-Dn5_MBIs5Vw" type="3012" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_o3-A4MAWEd-Dn5_MBIs5Vw"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_o4kd0cAWEd-Dn5_MBIs5Vw"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_B3I8gMDNEd-RT45s8cwWMg" type="3018" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_B2_ykMDNEd-RT45s8cwWMg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_B3I8gcDNEd-RT45s8cwWMg"/>
+        </children>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_3yzJysDMEd-RT45s8cwWMg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_3yzJy8DMEd-RT45s8cwWMg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3yzJzMDMEd-RT45s8cwWMg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_3yzJzcDMEd-RT45s8cwWMg" type="7021">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_3yzJzsDMEd-RT45s8cwWMg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_3yzJz8DMEd-RT45s8cwWMg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3yzJ0MDMEd-RT45s8cwWMg"/>
+      </children>
+      <element xmi:type="uml:DataType" href="CHESS.profile.uml#_3ypYwMDMEd-RT45s8cwWMg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3yzJwcDMEd-RT45s8cwWMg" x="480" y="185" width="246"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_rkcEkMDOEd-RT45s8cwWMg" type="2010" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_rkl1kMDOEd-RT45s8cwWMg" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_rkl1kcDOEd-RT45s8cwWMg" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_rkl1ksDOEd-RT45s8cwWMg" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_rkl1k8DOEd-RT45s8cwWMg" key="displayNameLabelIcon_value" value="true"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_rkl1lMDOEd-RT45s8cwWMg" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_rkl1lcDOEd-RT45s8cwWMg" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_rkl1lsDOEd-RT45s8cwWMg" type="5035"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_rkl1l8DOEd-RT45s8cwWMg" type="7020">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_rkl1mMDOEd-RT45s8cwWMg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_rkl1mcDOEd-RT45s8cwWMg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_rkl1msDOEd-RT45s8cwWMg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_rkl1m8DOEd-RT45s8cwWMg" type="7021">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_rkl1nMDOEd-RT45s8cwWMg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_rkl1ncDOEd-RT45s8cwWMg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_rkl1nsDOEd-RT45s8cwWMg"/>
+      </children>
+      <element xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_n4-jUBFXEdyUJeMeN__D-A"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_rkcEkcDOEd-RT45s8cwWMg" x="485" y="315" width="231"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_sf5nQMDOEd-RT45s8cwWMg" type="2010" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_sf5nQsDOEd-RT45s8cwWMg" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_sf5nQ8DOEd-RT45s8cwWMg" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_sf5nRMDOEd-RT45s8cwWMg" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_sf5nRcDOEd-RT45s8cwWMg" key="displayNameLabelIcon_value" value="true"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_sf5nRsDOEd-RT45s8cwWMg" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_sf5nR8DOEd-RT45s8cwWMg" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_sf5nSMDOEd-RT45s8cwWMg" type="5035">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_xmiw8MDOEd-RT45s8cwWMg" source="Stereotype_Annotation">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_xmiw8cDOEd-RT45s8cwWMg" key="StereotypeWithQualifiedNameList" value=""/>
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_xmiw8sDOEd-RT45s8cwWMg" key="StereotypeList" value="MARTE::MARTE_Annexes::VSL::DataTypes::TupleType"/>
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_xmiw88DOEd-RT45s8cwWMg" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_xmiw9MDOEd-RT45s8cwWMg" key="PropStereoDisplay" value=""/>
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_xmiw9cDOEd-RT45s8cwWMg" key="StereotypePropertyLocation" value="Compartment"/>
+        </eAnnotations>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_sf5nScDOEd-RT45s8cwWMg" type="7020">
+        <children xmi:type="notation:Shape" xmi:id="_IKWVEMDPEd-RT45s8cwWMg" type="3018" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_IJ5pIMDPEd-RT45s8cwWMg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_IKWVEcDPEd-RT45s8cwWMg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_K-EZ4MDPEd-RT45s8cwWMg" type="3018" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_K9nt8MDPEd-RT45s8cwWMg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_K-EZ4cDPEd-RT45s8cwWMg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_NWXG8MDPEd-RT45s8cwWMg" type="3018" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_NV6bAMDPEd-RT45s8cwWMg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_NWXG8cDPEd-RT45s8cwWMg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_RkFEkMDPEd-RT45s8cwWMg" type="3018" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_RjoYoMDPEd-RT45s8cwWMg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_RkFEkcDPEd-RT45s8cwWMg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_WkAiQMDPEd-RT45s8cwWMg" type="3018" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_WjkdYMDPEd-RT45s8cwWMg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_WkAiQcDPEd-RT45s8cwWMg"/>
+        </children>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_sf5nSsDOEd-RT45s8cwWMg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_sf5nS8DOEd-RT45s8cwWMg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sf5nTMDOEd-RT45s8cwWMg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_sf5nTcDOEd-RT45s8cwWMg" type="7021">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_sf5nTsDOEd-RT45s8cwWMg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_sf5nT8DOEd-RT45s8cwWMg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sf5nUMDOEd-RT45s8cwWMg"/>
+      </children>
+      <element xmi:type="uml:DataType" href="CHESS.profile.uml#_sfc7UMDOEd-RT45s8cwWMg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sf5nQcDOEd-RT45s8cwWMg" x="490" y="475" width="286" height="121"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_PwubIMDQEd-RT45s8cwWMg" type="2010" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_PwubIsDQEd-RT45s8cwWMg" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_PwubI8DQEd-RT45s8cwWMg" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_PwubJMDQEd-RT45s8cwWMg" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_PwubJcDQEd-RT45s8cwWMg" key="displayNameLabelIcon_value" value="true"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_PwubJsDQEd-RT45s8cwWMg" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_PwubJ8DQEd-RT45s8cwWMg" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_PwubKMDQEd-RT45s8cwWMg" type="5035"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_PwubKcDQEd-RT45s8cwWMg" type="7020">
+        <children xmi:type="notation:Shape" xmi:id="_UVY5IcDQEd-RT45s8cwWMg" type="3018" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_UVY5IMDQEd-RT45s8cwWMg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_UVY5IsDQEd-RT45s8cwWMg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_W-EyoMDQEd-RT45s8cwWMg" type="3018" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_W97osMDQEd-RT45s8cwWMg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_W-EyocDQEd-RT45s8cwWMg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_ZXjygMDQEd-RT45s8cwWMg" type="3018" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_ZXaokMDQEd-RT45s8cwWMg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_ZXjygcDQEd-RT45s8cwWMg"/>
+        </children>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_PwubKsDQEd-RT45s8cwWMg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_PwubK8DQEd-RT45s8cwWMg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PwubLMDQEd-RT45s8cwWMg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_PwubLcDQEd-RT45s8cwWMg" type="7021">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_PwubLsDQEd-RT45s8cwWMg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_PwubL8DQEd-RT45s8cwWMg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PwubMMDQEd-RT45s8cwWMg"/>
+      </children>
+      <element xmi:type="uml:DataType" href="CHESS.profile.uml#_PwkqIMDQEd-RT45s8cwWMg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PwubIcDQEd-RT45s8cwWMg" x="285" y="603" width="211"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_ESCl0cAWEd-Dn5_MBIs5Vw"/>
+    <element xmi:type="uml:Package" href="CHESS.profile.uml#_B55pwMAWEd-Dn5_MBIs5Vw"/>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_5kiiEMCpEd-RT45s8cwWMg" type="PapyrusUMLProfileDiagram" name="HardwareBaseline" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_7_gvsMCpEd-RT45s8cwWMg" type="1026" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_7_qgsMCpEd-RT45s8cwWMg" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_7_qgscCpEd-RT45s8cwWMg" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_7_qgssCpEd-RT45s8cwWMg" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_7_qgs8CpEd-RT45s8cwWMg" key="displayNameLabelIcon_value" value="true"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_7_qgtMCpEd-RT45s8cwWMg" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_7_qgtcCpEd-RT45s8cwWMg" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_7_qgtsCpEd-RT45s8cwWMg" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_7_qgt8CpEd-RT45s8cwWMg" type="1071">
+        <children xmi:type="notation:Shape" xmi:id="_BnjEUMCsEd-RT45s8cwWMg" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_BnQJYMCsEd-RT45s8cwWMg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_BnjEUcCsEd-RT45s8cwWMg"/>
+        </children>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_7_qguMCpEd-RT45s8cwWMg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_7_qgucCpEd-RT45s8cwWMg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7_qgusCpEd-RT45s8cwWMg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_7_qgu8CpEd-RT45s8cwWMg" type="1019">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_7_qgvMCpEd-RT45s8cwWMg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_7_qgvcCpEd-RT45s8cwWMg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7_qgvsCpEd-RT45s8cwWMg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="CHESS.profile.uml#_7_W-sMCpEd-RT45s8cwWMg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7_gvscCpEd-RT45s8cwWMg" x="45" y="200" width="261" height="131"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_wCNTENhiEeCHDo4echej_g" type="1026" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_wCNTEthiEeCHDo4echej_g" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_wCNTE9hiEeCHDo4echej_g" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_wCNTFNhiEeCHDo4echej_g" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_wCNTFdhiEeCHDo4echej_g" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_wCNTFthiEeCHDo4echej_g" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_wCNTF9hiEeCHDo4echej_g" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_wCNTGNhiEeCHDo4echej_g" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_wCNTGdhiEeCHDo4echej_g" type="1071">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_wCNTGthiEeCHDo4echej_g"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_wCNTG9hiEeCHDo4echej_g"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_wCNTHNhiEeCHDo4echej_g"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wCNTHdhiEeCHDo4echej_g"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_wCNTHthiEeCHDo4echej_g" type="1019">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_wCNTH9hiEeCHDo4echej_g"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_wCNTINhiEeCHDo4echej_g"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_wCNTIdhiEeCHDo4echej_g"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wCNTIthiEeCHDo4echej_g"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_z0aH8BJyEdygQ5HMNSpiZw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wCNTEdhiEeCHDo4echej_g" x="115" y="14"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_01VD0NhiEeCHDo4echej_g" type="1026" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_01e00NhiEeCHDo4echej_g" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_01e00dhiEeCHDo4echej_g" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_01e00thiEeCHDo4echej_g" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_01e009hiEeCHDo4echej_g" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_01e01NhiEeCHDo4echej_g" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_01e01dhiEeCHDo4echej_g" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_01e01thiEeCHDo4echej_g" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_01e019hiEeCHDo4echej_g" type="1071">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_01e02NhiEeCHDo4echej_g"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_01e02dhiEeCHDo4echej_g"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_01e02thiEeCHDo4echej_g"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_01e029hiEeCHDo4echej_g"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_01e03NhiEeCHDo4echej_g" type="1019">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_01e03dhiEeCHDo4echej_g"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_01e03thiEeCHDo4echej_g"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_01e039hiEeCHDo4echej_g"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_01e04NhiEeCHDo4echej_g"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_kzoXABHbEdyWC5IKDhzksw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_01VD0dhiEeCHDo4echej_g" x="395" y="20"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_M7zfINhkEeCHDo4echej_g" type="1031" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_M7zfIthkEeCHDo4echej_g" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_M7zfI9hkEeCHDo4echej_g" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_M7zfJNhkEeCHDo4echej_g" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_M7zfJdhkEeCHDo4echej_g" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_M7zfJthkEeCHDo4echej_g" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_M7zfJ9hkEeCHDo4echej_g" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_M7zfKthkEeCHDo4echej_g" source="Stereotype_Annotation">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zYwcIP3gEeOmz-4FDV-1Kw" key="StereotypeWithQualifiedNameList" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zYxDMP3gEeOmz-4FDV-1Kw" key="StereotypeList" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zYxqQP3gEeOmz-4FDV-1Kw" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zYyRUP3gEeOmz-4FDV-1Kw" key="PropStereoDisplay" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zYyRUf3gEeOmz-4FDV-1Kw" key="StereotypePropertyLocation" value="Compartment"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_M7zfKNhkEeCHDo4echej_g" type="1084"/>
+      <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Comment"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_M7zfKdhkEeCHDo4echej_g" x="562" y="53"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_QAhNUNhkEeCHDo4echej_g" type="1026" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QAhNUthkEeCHDo4echej_g" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_QAhNU9hkEeCHDo4echej_g" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QAhNVNhkEeCHDo4echej_g" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_QAhNVdhkEeCHDo4echej_g" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QAhNVthkEeCHDo4echej_g" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_QAhNV9hkEeCHDo4echej_g" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_QAhNWNhkEeCHDo4echej_g" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_QAhNWdhkEeCHDo4echej_g" type="1071">
+        <children xmi:type="notation:Shape" xmi:id="_Vyi2UNhkEeCHDo4echej_g" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_cGum4KlhEeC6PYeyk6yc0A"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_Vyi2UdhkEeCHDo4echej_g" x="38" y="17"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_WL38UNhkEeCHDo4echej_g" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_sRT_IKlhEeC6PYeyk6yc0A"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_WL38UdhkEeCHDo4echej_g" x="90" y="17"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_QAhNWthkEeCHDo4echej_g"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_QAhNW9hkEeCHDo4echej_g"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_QAhNXNhkEeCHDo4echej_g"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QAhNXdhkEeCHDo4echej_g"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_QAhNXthkEeCHDo4echej_g" type="1019">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_QAhNX9hkEeCHDo4echej_g"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_QAhNYNhkEeCHDo4echej_g"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_QAhNYdhkEeCHDo4echej_g"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QAhNYthkEeCHDo4echej_g"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="CHESS.profile.uml#_WEDSwKlhEeC6PYeyk6yc0A"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QAhNUdhkEeCHDo4echej_g" x="855" y="115"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_R-JXoNhkEeCHDo4echej_g" type="1031" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_R-JXothkEeCHDo4echej_g" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_R-JXo9hkEeCHDo4echej_g" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_R-JXpNhkEeCHDo4echej_g" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_R-JXpdhkEeCHDo4echej_g" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_R-JXpthkEeCHDo4echej_g" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_R-JXp9hkEeCHDo4echej_g" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_R-JXqNhkEeCHDo4echej_g" type="1084"/>
+      <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_R-JXodhkEeCHDo4echej_g" x="710" y="58"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_W_JMUNhkEeCHDo4echej_g" type="1026" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_W_JMUthkEeCHDo4echej_g" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_W_JMU9hkEeCHDo4echej_g" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_W_JMVNhkEeCHDo4echej_g" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_W_JMVdhkEeCHDo4echej_g" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_W_JMVthkEeCHDo4echej_g" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_W_JMV9hkEeCHDo4echej_g" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_W_JMWNhkEeCHDo4echej_g" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_W_JMWdhkEeCHDo4echej_g" type="1071">
+        <children xmi:type="notation:Shape" xmi:id="_aHRa4NhkEeCHDo4echej_g" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_z05FUKlhEeC6PYeyk6yc0A"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_aHRa4dhkEeCHDo4echej_g" x="35" y="19"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_arosMNhkEeCHDo4echej_g" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_1TcG8KlhEeC6PYeyk6yc0A"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_arosMdhkEeCHDo4echej_g" x="28" y="15"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_W_JMWthkEeCHDo4echej_g"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_W_JMW9hkEeCHDo4echej_g"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_W_JMXNhkEeCHDo4echej_g"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_W_JMXdhkEeCHDo4echej_g"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_W_JMXthkEeCHDo4echej_g" type="1019">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_W_JMX9hkEeCHDo4echej_g"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_W_JMYNhkEeCHDo4echej_g"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_W_JMYdhkEeCHDo4echej_g"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_W_JMYthkEeCHDo4echej_g"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="CHESS.profile.uml#_veeesKlhEeC6PYeyk6yc0A"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_W_JMUdhkEeCHDo4echej_g" x="875" y="255"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_b3VqUNhkEeCHDo4echej_g" type="1026" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_b3VqUthkEeCHDo4echej_g" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_b3VqU9hkEeCHDo4echej_g" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_b3VqVNhkEeCHDo4echej_g" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_b3VqVdhkEeCHDo4echej_g" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_b3VqVthkEeCHDo4echej_g" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_b3VqV9hkEeCHDo4echej_g" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_b3VqWNhkEeCHDo4echej_g" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_b3VqWdhkEeCHDo4echej_g" type="1071">
+        <children xmi:type="notation:Shape" xmi:id="_dovWgNhkEeCHDo4echej_g" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_fC21EKu3EeCQLtqIc6Ik6Q"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_dovWgdhkEeCHDo4echej_g" x="57" y="11"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_eYk4ANhkEeCHDo4echej_g" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_iblrcKu3EeCQLtqIc6Ik6Q"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_eYk4AdhkEeCHDo4echej_g" x="66" y="22"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_etlesNhkEeCHDo4echej_g" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_l0b2kKu3EeCQLtqIc6Ik6Q"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_etlesdhkEeCHDo4echej_g" x="97" y="40"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_e-uSANhkEeCHDo4echej_g" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_BXSHkKu4EeCQLtqIc6Ik6Q"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_e-uSAdhkEeCHDo4echej_g" x="86" y="35"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_b3VqWthkEeCHDo4echej_g"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_b3VqW9hkEeCHDo4echej_g"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_b3VqXNhkEeCHDo4echej_g"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_b3VqXdhkEeCHDo4echej_g"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_b3VqXthkEeCHDo4echej_g" type="1019">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_b3VqX9hkEeCHDo4echej_g"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_b3VqYNhkEeCHDo4echej_g"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_b3VqYdhkEeCHDo4echej_g"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_b3VqYthkEeCHDo4echej_g"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="CHESS.profile.uml#_ZjBvUKu3EeCQLtqIc6Ik6Q"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_b3VqUdhkEeCHDo4echej_g" x="85" y="535" width="141"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_dADl4NhkEeCHDo4echej_g" type="1031" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_dADl4thkEeCHDo4echej_g" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_dADl49hkEeCHDo4echej_g" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_dADl5NhkEeCHDo4echej_g" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_dADl5dhkEeCHDo4echej_g" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_dADl5thkEeCHDo4echej_g" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_dADl59hkEeCHDo4echej_g" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_dADl6NhkEeCHDo4echej_g" type="1084"/>
+      <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#ControlFlow"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dADl4dhkEeCHDo4echej_g" x="182" y="387"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_fvAfcNhkEeCHDo4echej_g" type="1026" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_fvAfcthkEeCHDo4echej_g" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_fvAfc9hkEeCHDo4echej_g" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_fvAfdNhkEeCHDo4echej_g" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_fvAfddhkEeCHDo4echej_g" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_fvAfdthkEeCHDo4echej_g" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_fvAfd9hkEeCHDo4echej_g" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_fvAfeNhkEeCHDo4echej_g" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_fvAfedhkEeCHDo4echej_g" type="1071">
+        <children xmi:type="notation:Shape" xmi:id="_lOsbQNhkEeCHDo4echej_g" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_SjGPIKu_EeCQLtqIc6Ik6Q"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_lOsbQdhkEeCHDo4echej_g" x="53" y="31"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_fvAfethkEeCHDo4echej_g"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_fvAfe9hkEeCHDo4echej_g"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_fvAffNhkEeCHDo4echej_g"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fvAffdhkEeCHDo4echej_g"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_fvAffthkEeCHDo4echej_g" type="1019">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_fvAff9hkEeCHDo4echej_g"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_fvAfgNhkEeCHDo4echej_g"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_fvAfgdhkEeCHDo4echej_g"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fvAfgthkEeCHDo4echej_g"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="CHESS.profile.uml#_xo40sKu6EeCQLtqIc6Ik6Q"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fvAfcdhkEeCHDo4echej_g" x="410" y="555"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_gdf9INhkEeCHDo4echej_g" type="1031" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_gdf9IthkEeCHDo4echej_g" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_gdf9I9hkEeCHDo4echej_g" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_gdf9JNhkEeCHDo4echej_g" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_gdf9JdhkEeCHDo4echej_g" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_gdf9JthkEeCHDo4echej_g" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_gdf9J9hkEeCHDo4echej_g" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_gdf9KNhkEeCHDo4echej_g" type="1084"/>
+      <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#DataType"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gdf9IdhkEeCHDo4echej_g" x="545" y="475"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_hhmecNhkEeCHDo4echej_g" type="2006" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_hhmecthkEeCHDo4echej_g" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_hhmec9hkEeCHDo4echej_g" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_hhmedNhkEeCHDo4echej_g" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_hhmeddhkEeCHDo4echej_g" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_hhmedthkEeCHDo4echej_g" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_hhmed9hkEeCHDo4echej_g" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_hhmeeNhkEeCHDo4echej_g" type="5023"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_hhmeedhkEeCHDo4echej_g" type="1063">
+        <children xmi:type="notation:Shape" xmi:id="_i0UDgNhkEeCHDo4echej_g" type="1037" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:EnumerationLiteral" href="CHESS.profile.uml#_qaV4cKu8EeCQLtqIc6Ik6Q"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_i0UDgdhkEeCHDo4echej_g" x="85" y="46"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_jGVnoNhkEeCHDo4echej_g" type="1037" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:EnumerationLiteral" href="CHESS.profile.uml#_qn_58Ku8EeCQLtqIc6Ik6Q"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_jGVnodhkEeCHDo4echej_g" x="60" y="30"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_jZHZsNhkEeCHDo4echej_g" type="1037" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:EnumerationLiteral" href="CHESS.profile.uml#_q6FIcKu8EeCQLtqIc6Ik6Q"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_jZHZsdhkEeCHDo4echej_g" x="69" y="48"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_jpD6MNhkEeCHDo4echej_g" type="1037" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:EnumerationLiteral" href="CHESS.profile.uml#_rLF_8Ku8EeCQLtqIc6Ik6Q"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_jpD6MdhkEeCHDo4echej_g" x="44" y="45"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_j55ykNhkEeCHDo4echej_g" type="1037" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:EnumerationLiteral" href="CHESS.profile.uml#_rsqb8Ku8EeCQLtqIc6Ik6Q"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_j55ykdhkEeCHDo4echej_g" x="51" y="47"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_hhmeethkEeCHDo4echej_g"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_hhmee9hkEeCHDo4echej_g"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_hhmefNhkEeCHDo4echej_g"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hhmefdhkEeCHDo4echej_g"/>
+      </children>
+      <element xmi:type="uml:Enumeration" href="CHESS.profile.uml#_o6wVAKu8EeCQLtqIc6Ik6Q"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hhmecdhkEeCHDo4echej_g" x="105" y="700"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_l5BKoNhkEeCHDo4echej_g" type="1026" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_l5BKothkEeCHDo4echej_g" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_l5BKo9hkEeCHDo4echej_g" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_l5BKpNhkEeCHDo4echej_g" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_l5BKpdhkEeCHDo4echej_g" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_l5BKpthkEeCHDo4echej_g" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_l5BKp9hkEeCHDo4echej_g" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_l5BKqNhkEeCHDo4echej_g" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_l5BKqdhkEeCHDo4echej_g" type="1071">
+        <children xmi:type="notation:Shape" xmi:id="_lHcKcNhpEeCHDo4echej_g" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_H1e14Ku_EeCQLtqIc6Ik6Q"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_lHcKcdhpEeCHDo4echej_g" x="33" y="13"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_JA12sNhqEeCHDo4echej_g" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_JAPZwNhqEeCHDo4echej_g"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_JA12sdhqEeCHDo4echej_g"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_QsvycNhqEeCHDo4echej_g" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_QsTGgNhqEeCHDo4echej_g"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_QsvycdhqEeCHDo4echej_g"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_dRSRENhqEeCHDo4echej_g" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_dQ2MMNhqEeCHDo4echej_g"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_dRSREdhqEeCHDo4echej_g"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_3WGd0NhqEeCHDo4echej_g" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_3VgA4NhqEeCHDo4echej_g"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_3WGd0dhqEeCHDo4echej_g"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_l5BKqthkEeCHDo4echej_g"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_l5BKq9hkEeCHDo4echej_g"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_l5BKrNhkEeCHDo4echej_g"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l5BKrdhkEeCHDo4echej_g"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_l5BKrthkEeCHDo4echej_g" type="1019">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_l5BKr9hkEeCHDo4echej_g"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_l5BKsNhkEeCHDo4echej_g"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_l5BKsdhkEeCHDo4echej_g"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l5BKsthkEeCHDo4echej_g"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="CHESS.profile.uml#_FeV_YKu_EeCQLtqIc6Ik6Q"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l5BKodhkEeCHDo4echej_g" x="670" y="566" width="215"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_mjfD8NhkEeCHDo4echej_g" type="1026" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_mjfD8thkEeCHDo4echej_g" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_mjfD89hkEeCHDo4echej_g" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_mjfD9NhkEeCHDo4echej_g" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_mjfD9dhkEeCHDo4echej_g" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_mjfD9thkEeCHDo4echej_g" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_mjfD99hkEeCHDo4echej_g" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_mjfD-NhkEeCHDo4echej_g" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_mjfD-dhkEeCHDo4echej_g" type="1071">
+        <children xmi:type="notation:Shape" xmi:id="_oB0qMNhkEeCHDo4echej_g" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_aOOHwKu_EeCQLtqIc6Ik6Q"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_oB0qMdhkEeCHDo4echej_g" x="57" y="20"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_mjfD-thkEeCHDo4echej_g"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_mjfD-9hkEeCHDo4echej_g"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_mjfD_NhkEeCHDo4echej_g"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mjfD_dhkEeCHDo4echej_g"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_mjfD_thkEeCHDo4echej_g" type="1019">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_mjfD_9hkEeCHDo4echej_g"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_mjfEANhkEeCHDo4echej_g"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_mjfEAdhkEeCHDo4echej_g"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mjfEAthkEeCHDo4echej_g"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="CHESS.profile.uml#_X8RTQKu_EeCQLtqIc6Ik6Q"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mjfD8dhkEeCHDo4echej_g" x="300" y="730"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_ofLUkNhkEeCHDo4echej_g" type="1026" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ofUegNhkEeCHDo4echej_g" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ofUegdhkEeCHDo4echej_g" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ofUegthkEeCHDo4echej_g" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ofUeg9hkEeCHDo4echej_g" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ofUehNhkEeCHDo4echej_g" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ofUehdhkEeCHDo4echej_g" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_ofUehthkEeCHDo4echej_g" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_ofUeh9hkEeCHDo4echej_g" type="1071">
+        <children xmi:type="notation:Shape" xmi:id="_p2pd0NhkEeCHDo4echej_g" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_f7Fj8Ku_EeCQLtqIc6Ik6Q"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_p2pd0dhkEeCHDo4echej_g" x="40" y="17"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_ofUeiNhkEeCHDo4echej_g"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_ofUeidhkEeCHDo4echej_g"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_ofUeithkEeCHDo4echej_g"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ofUei9hkEeCHDo4echej_g"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_ofUejNhkEeCHDo4echej_g" type="1019">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_ofUejdhkEeCHDo4echej_g"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_ofUejthkEeCHDo4echej_g"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_ofUej9hkEeCHDo4echej_g"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ofUekNhkEeCHDo4echej_g"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="CHESS.profile.uml#_ckro0Ku_EeCQLtqIc6Ik6Q"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ofLUkdhkEeCHDo4echej_g" x="415" y="730"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_q8_a0NhkEeCHDo4echej_g" type="1026" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_q8_a0thkEeCHDo4echej_g" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_q8_a09hkEeCHDo4echej_g" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_q8_a1NhkEeCHDo4echej_g" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_q8_a1dhkEeCHDo4echej_g" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_q8_a1thkEeCHDo4echej_g" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_q8_a19hkEeCHDo4echej_g" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_q8_a2NhkEeCHDo4echej_g" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_q8_a2dhkEeCHDo4echej_g" type="1071">
+        <children xmi:type="notation:Shape" xmi:id="_sAyaINhkEeCHDo4echej_g" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_oCcFkKu_EeCQLtqIc6Ik6Q"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_sAyaIdhkEeCHDo4echej_g" x="55" y="14"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_q8_a2thkEeCHDo4echej_g"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_q8_a29hkEeCHDo4echej_g"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_q8_a3NhkEeCHDo4echej_g"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_q8_a3dhkEeCHDo4echej_g"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_q8_a3thkEeCHDo4echej_g" type="1019">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_q8_a39hkEeCHDo4echej_g"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_q8_a4NhkEeCHDo4echej_g"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_q8_a4dhkEeCHDo4echej_g"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_q8_a4thkEeCHDo4echej_g"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="CHESS.profile.uml#_j4Yf8Ku_EeCQLtqIc6Ik6Q"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_q8_a0dhkEeCHDo4echej_g" x="545" y="730"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_tp_zoNhkEeCHDo4echej_g" type="1026" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_tp_zothkEeCHDo4echej_g" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_tp_zo9hkEeCHDo4echej_g" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_tp_zpNhkEeCHDo4echej_g" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_tp_zpdhkEeCHDo4echej_g" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_tp_zpthkEeCHDo4echej_g" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_tp_zp9hkEeCHDo4echej_g" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_tp_zqNhkEeCHDo4echej_g" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_tp_zqdhkEeCHDo4echej_g" type="1071">
+        <children xmi:type="notation:Shape" xmi:id="_vNiqANhkEeCHDo4echej_g" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_tFxckKu_EeCQLtqIc6Ik6Q"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_vNiqAdhkEeCHDo4echej_g" x="47" y="22"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_tp_zqthkEeCHDo4echej_g"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_tp_zq9hkEeCHDo4echej_g"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_tp_zrNhkEeCHDo4echej_g"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tp_zrdhkEeCHDo4echej_g"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_tp_zrthkEeCHDo4echej_g" type="1019">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_tp_zr9hkEeCHDo4echej_g"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_tp_zsNhkEeCHDo4echej_g"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_tp_zsdhkEeCHDo4echej_g"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tp_zsthkEeCHDo4echej_g"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="CHESS.profile.uml#_r0I1kKu_EeCQLtqIc6Ik6Q"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tp_zodhkEeCHDo4echej_g" x="285" y="855"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_wTu2ANhkEeCHDo4echej_g" type="1026" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_wTu2AthkEeCHDo4echej_g" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_wTu2A9hkEeCHDo4echej_g" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_wTu2BNhkEeCHDo4echej_g" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_wTu2BdhkEeCHDo4echej_g" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_wTu2BthkEeCHDo4echej_g" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_wTu2B9hkEeCHDo4echej_g" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_wTu2CNhkEeCHDo4echej_g" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_wTu2CdhkEeCHDo4echej_g" type="1071">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_wTu2CthkEeCHDo4echej_g"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_wTu2C9hkEeCHDo4echej_g"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_wTu2DNhkEeCHDo4echej_g"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wTu2DdhkEeCHDo4echej_g"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_wTu2DthkEeCHDo4echej_g" type="1019">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_wTu2D9hkEeCHDo4echej_g"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_wTu2ENhkEeCHDo4echej_g"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_wTu2EdhkEeCHDo4echej_g"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wTu2EthkEeCHDo4echej_g"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="CHESS.profile.uml#_yW8bQKu_EeCQLtqIc6Ik6Q"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wTu2AdhkEeCHDo4echej_g" x="525" y="860"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_p3upoNhpEeCHDo4echej_g" type="1026" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_p3upothpEeCHDo4echej_g" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_p3upo9hpEeCHDo4echej_g" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_p3uppNhpEeCHDo4echej_g" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_p3uppdhpEeCHDo4echej_g" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_p3uppthpEeCHDo4echej_g" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_p3upp9hpEeCHDo4echej_g" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_p3upqNhpEeCHDo4echej_g" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_p3upqdhpEeCHDo4echej_g" type="1071">
+        <children xmi:type="notation:Shape" xmi:id="_xxgCQNhpEeCHDo4echej_g" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_xvtSgNhpEeCHDo4echej_g"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_xxgCQdhpEeCHDo4echej_g"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_6Xhc4NhpEeCHDo4echej_g" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_6W6_8NhpEeCHDo4echej_g"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_6Xhc4dhpEeCHDo4echej_g"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_p3upqthpEeCHDo4echej_g"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_p3upq9hpEeCHDo4echej_g"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_p3uprNhpEeCHDo4echej_g"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_p3uprdhpEeCHDo4echej_g"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_p3uprthpEeCHDo4echej_g" type="1019">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_p3upr9hpEeCHDo4echej_g"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_p3upsNhpEeCHDo4echej_g"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_p3upsdhpEeCHDo4echej_g"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_p3upsthpEeCHDo4echej_g"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="CHESS.profile.uml#_p2_CwNhpEeCHDo4echej_g"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_p3upodhpEeCHDo4echej_g" x="670" y="300" width="174"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_P8XJENq0EeCqi515KFb0xQ" type="1026" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_P8XJEtq0EeCqi515KFb0xQ" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_P8XJE9q0EeCqi515KFb0xQ" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_P8XJFNq0EeCqi515KFb0xQ" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_P8XJFdq0EeCqi515KFb0xQ" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_P8XJFtq0EeCqi515KFb0xQ" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_P8XJF9q0EeCqi515KFb0xQ" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_P8XJGNq0EeCqi515KFb0xQ" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_P8XJGdq0EeCqi515KFb0xQ" type="1071">
+        <children xmi:type="notation:Shape" xmi:id="_wKMGANq1EeCqi515KFb0xQ" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_wJcfINq1EeCqi515KFb0xQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_wKMGAdq1EeCqi515KFb0xQ"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_P8XJGtq0EeCqi515KFb0xQ"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_P8XJG9q0EeCqi515KFb0xQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_P8XJHNq0EeCqi515KFb0xQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_P8XJHdq0EeCqi515KFb0xQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_P8XJHtq0EeCqi515KFb0xQ" type="1019">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_P8XJH9q0EeCqi515KFb0xQ"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_P8XJINq0EeCqi515KFb0xQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_P8XJIdq0EeCqi515KFb0xQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_P8XJItq0EeCqi515KFb0xQ"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="CHESS.profile.uml#_P7m7INq0EeCqi515KFb0xQ"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_P8XJEdq0EeCqi515KFb0xQ" x="750" y="887" width="193"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_ni1OoNq1EeCqi515KFb0xQ" type="1026" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ni1Ootq1EeCqi515KFb0xQ" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ni1Oo9q1EeCqi515KFb0xQ" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ni1OpNq1EeCqi515KFb0xQ" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ni1Opdq1EeCqi515KFb0xQ" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ni1Optq1EeCqi515KFb0xQ" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ni1Op9q1EeCqi515KFb0xQ" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_ni1OqNq1EeCqi515KFb0xQ" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_ni1Oqdq1EeCqi515KFb0xQ" type="1071">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_ni1Oqtq1EeCqi515KFb0xQ"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_ni1Oq9q1EeCqi515KFb0xQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_ni1OrNq1EeCqi515KFb0xQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ni1Ordq1EeCqi515KFb0xQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_ni1Ortq1EeCqi515KFb0xQ" type="1019">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_ni1Or9q1EeCqi515KFb0xQ"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_ni1OsNq1EeCqi515KFb0xQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_ni1Osdq1EeCqi515KFb0xQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ni1Ostq1EeCqi515KFb0xQ"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_7m3jYBKNEdy1B7_71Kp_8Q"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ni1Oodq1EeCqi515KFb0xQ" x="825" y="730"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_qabG0Nq1EeCqi515KFb0xQ" type="1026" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qabG0tq1EeCqi515KFb0xQ" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qabG09q1EeCqi515KFb0xQ" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qabG1Nq1EeCqi515KFb0xQ" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qabG1dq1EeCqi515KFb0xQ" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qabG1tq1EeCqi515KFb0xQ" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qabG19q1EeCqi515KFb0xQ" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_qabG2Nq1EeCqi515KFb0xQ" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_qabG2dq1EeCqi515KFb0xQ" type="1071">
+        <children xmi:type="notation:Shape" xmi:id="_5eQSYNq1EeCqi515KFb0xQ" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_3X_JcNq1EeCqi515KFb0xQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_5eQSYdq1EeCqi515KFb0xQ" x="55" y="22"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_qabG2tq1EeCqi515KFb0xQ"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_qabG29q1EeCqi515KFb0xQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_qabG3Nq1EeCqi515KFb0xQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qabG3dq1EeCqi515KFb0xQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_qabG3tq1EeCqi515KFb0xQ" type="1019">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_qabG39q1EeCqi515KFb0xQ"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_qabG4Nq1EeCqi515KFb0xQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_qabG4dq1EeCqi515KFb0xQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qabG4tq1EeCqi515KFb0xQ"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="CHESS.profile.uml#_YZ784Nq1EeCqi515KFb0xQ"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qabG0dq1EeCqi515KFb0xQ" x="960" y="890" width="143"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_q-L7MNq1EeCqi515KFb0xQ" type="1026" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_q-L7Mtq1EeCqi515KFb0xQ" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_q-L7M9q1EeCqi515KFb0xQ" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_q-L7NNq1EeCqi515KFb0xQ" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_q-L7Ndq1EeCqi515KFb0xQ" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_q-L7Ntq1EeCqi515KFb0xQ" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_q-L7N9q1EeCqi515KFb0xQ" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_q-L7ONq1EeCqi515KFb0xQ" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_q-L7Odq1EeCqi515KFb0xQ" type="1071">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_q-L7Otq1EeCqi515KFb0xQ"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_q-L7O9q1EeCqi515KFb0xQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_q-L7PNq1EeCqi515KFb0xQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_q-L7Pdq1EeCqi515KFb0xQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_q-L7Ptq1EeCqi515KFb0xQ" type="1019">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_q-L7P9q1EeCqi515KFb0xQ"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_q-L7QNq1EeCqi515KFb0xQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_q-L7Qdq1EeCqi515KFb0xQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_q-L7Qtq1EeCqi515KFb0xQ"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_NrpywBJzEdygQ5HMNSpiZw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_q-L7Mdq1EeCqi515KFb0xQ" x="988" y="737"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_xQc4YCZBEeGlQNX6ViU5DA" type="1026" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_xQeGgCZBEeGlQNX6ViU5DA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_xQeGgSZBEeGlQNX6ViU5DA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_xQeGgiZBEeGlQNX6ViU5DA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_xQeGgyZBEeGlQNX6ViU5DA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_xQetkCZBEeGlQNX6ViU5DA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_xQetkSZBEeGlQNX6ViU5DA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_xQetkiZBEeGlQNX6ViU5DA" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_xQetkyZBEeGlQNX6ViU5DA" type="1071">
+        <children xmi:type="notation:Shape" xmi:id="_CFHvcCZCEeGlQNX6ViU5DA" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_CDuoUCZCEeGlQNX6ViU5DA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_CFHvcSZCEeGlQNX6ViU5DA"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_JkCYECZCEeGlQNX6ViU5DA" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_Jjio0CZCEeGlQNX6ViU5DA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_JkC_ICZCEeGlQNX6ViU5DA"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_xQetlCZBEeGlQNX6ViU5DA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_xQetlSZBEeGlQNX6ViU5DA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_xQetliZBEeGlQNX6ViU5DA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_xQetlyZBEeGlQNX6ViU5DA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_xQetmCZBEeGlQNX6ViU5DA" type="1019">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_xQetmSZBEeGlQNX6ViU5DA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_xQetmiZBEeGlQNX6ViU5DA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_xQetmyZBEeGlQNX6ViU5DA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_xQetnCZBEeGlQNX6ViU5DA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="CHESS.profile.uml#_xPRzsCZBEeGlQNX6ViU5DA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_xQc4YSZBEeGlQNX6ViU5DA" x="920" y="470" width="161" height="76"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_4UKywCZBEeGlQNX6ViU5DA" type="1031" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ULZ0CZBEeGlQNX6ViU5DA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4ULZ0SZBEeGlQNX6ViU5DA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ULZ0iZBEeGlQNX6ViU5DA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4ULZ0yZBEeGlQNX6ViU5DA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ULZ1CZBEeGlQNX6ViU5DA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4ULZ1SZBEeGlQNX6ViU5DA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4UMA4SZBEeGlQNX6ViU5DA" source="Stereotype_Annotation">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zfA1IP3gEeOmz-4FDV-1Kw" key="StereotypeWithQualifiedNameList" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zfA1If3gEeOmz-4FDV-1Kw" key="StereotypeList" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zfBcMP3gEeOmz-4FDV-1Kw" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zfBcMf3gEeOmz-4FDV-1Kw" key="PropStereoDisplay" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zfCDQP3gEeOmz-4FDV-1Kw" key="StereotypePropertyLocation" value="Compartment"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_4ULZ1iZBEeGlQNX6ViU5DA" type="1084"/>
+      <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Comment"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4UMA4CZBEeGlQNX6ViU5DA" x="905" y="385"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_5kiiEcCpEd-RT45s8cwWMg"/>
+    <element xmi:type="uml:Profile" href="CHESS.profile.uml#_1TsX8MCpEd-RT45s8cwWMg"/>
+    <edges xmi:type="notation:Connector" xmi:id="_wFfQkNhiEeCHDo4echej_g" type="4002" source="_7_gvsMCpEd-RT45s8cwWMg" target="_wCNTENhiEeCHDo4echej_g" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_wFfQk9hiEeCHDo4echej_g" type="6007">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_wFfQlNhiEeCHDo4echej_g" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_wFfQkdhiEeCHDo4echej_g" fontHeight="8"/>
+      <element xmi:type="uml:Generalization" href="CHESS.profile.uml#_a-JyIMCqEd-RT45s8cwWMg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_wFfQkthiEeCHDo4echej_g" points="[-40, -65, 145, 240]$[-185, -305, 0, 0]"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_R_fbcNhkEeCHDo4echej_g" type="1013" source="_QAhNUNhkEeCHDo4echej_g" target="_R-JXoNhkEeCHDo4echej_g" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_R_fbcdhkEeCHDo4echej_g" fontHeight="8"/>
+      <element xmi:type="uml:Extension" href="CHESS.profile.uml#_6paGEKlhEeC6PYeyk6yc0A"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_R_fbcthkEeCHDo4echej_g" points="[-50, -21, 663, 265]$[-713, -286, 0, 0]"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_YAacENhkEeCHDo4echej_g" type="1013" source="_W_JMUNhkEeCHDo4echej_g" target="_R-JXoNhkEeCHDo4echej_g" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_YAacEdhkEeCHDo4echej_g" fontHeight="8"/>
+      <element xmi:type="uml:Extension" href="CHESS.profile.uml#_7DuDgKlhEeC6PYeyk6yc0A"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_YAacEthkEeCHDo4echej_g" points="[50, -39, -570, 433]$[587, -447, -33, 25]"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_dA89wNhkEeCHDo4echej_g" type="1013" source="_b3VqUNhkEeCHDo4echej_g" target="_dADl4NhkEeCHDo4echej_g" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_dA89wdhkEeCHDo4echej_g" fontHeight="8"/>
+      <element xmi:type="uml:Extension" href="CHESS.profile.uml#_c-eigKu3EeCQLtqIc6Ik6Q"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_dA89wthkEeCHDo4echej_g" points="[-12, -50, 123, 535]$[-135, -585, 0, 0]"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_gejGANhkEeCHDo4echej_g" type="1013" source="_fvAfcNhkEeCHDo4echej_g" target="_gdf9INhkEeCHDo4echej_g" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_gejGAdhkEeCHDo4echej_g" fontHeight="8"/>
+      <element xmi:type="uml:Extension" href="CHESS.profile.uml#_1I5-0au6EeCQLtqIc6Ik6Q"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_gejGAthkEeCHDo4echej_g" points="[-39, -50, 421, 555]$[-460, -605, 0, 0]"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_mMijkNhkEeCHDo4echej_g" type="1013" source="_l5BKoNhkEeCHDo4echej_g" target="_gdf9INhkEeCHDo4echej_g" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_mMijkdhkEeCHDo4echej_g" fontHeight="8"/>
+      <element xmi:type="uml:Extension" href="CHESS.profile.uml#_HBFkgau_EeCQLtqIc6Ik6Q"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_mMijkthkEeCHDo4echej_g" points="[-11, -50, 37, 172]$[-43, -197, 5, 25]"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_nNg4YNhkEeCHDo4echej_g" type="4002" source="_mjfD8NhkEeCHDo4echej_g" target="_fvAfcNhkEeCHDo4echej_g" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_nNg4Y9hkEeCHDo4echej_g" type="6007">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_nNg4ZNhkEeCHDo4echej_g" x="-11" y="-30"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_nNg4YdhkEeCHDo4echej_g" fontHeight="8"/>
+      <element xmi:type="uml:Generalization" href="CHESS.profile.uml#_3eaEUKu_EeCQLtqIc6Ik6Q"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_nNg4YthkEeCHDo4echej_g" points="[-12, -50, 24, 111]$[-25, -111, 11, 50]"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_pAtUUNhkEeCHDo4echej_g" type="4002" source="_ofLUkNhkEeCHDo4echej_g" target="_fvAfcNhkEeCHDo4echej_g" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_pAtUU9hkEeCHDo4echej_g" type="6007">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_pAtUVNhkEeCHDo4echej_g" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_pAtUUdhkEeCHDo4echej_g" fontHeight="8"/>
+      <element xmi:type="uml:Generalization" href="CHESS.profile.uml#_4Qsc4Ku_EeCQLtqIc6Ik6Q"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_pAtUUthkEeCHDo4echej_g" points="[-28, -50, 64, 117]$[-65, -117, 27, 50]"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_rpGS4NhkEeCHDo4echej_g" type="4002" source="_q8_a0NhkEeCHDo4echej_g" target="_fvAfcNhkEeCHDo4echej_g" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_rpGS49hkEeCHDo4echej_g" type="6007">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_rpGS5NhkEeCHDo4echej_g" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_rpGS4dhkEeCHDo4echej_g" fontHeight="8"/>
+      <element xmi:type="uml:Generalization" href="CHESS.profile.uml#_4wpvUKu_EeCQLtqIc6Ik6Q"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_rpGS4thkEeCHDo4echej_g" points="[-43, -50, 135, 157]$[-136, -157, 42, 50]"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_uvvTsNhkEeCHDo4echej_g" type="4002" source="_tp_zoNhkEeCHDo4echej_g" target="_fvAfcNhkEeCHDo4echej_g" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_uvvTs9hkEeCHDo4echej_g" type="6007">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_uvvTtNhkEeCHDo4echej_g" x="57" y="1"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_uvvTsdhkEeCHDo4echej_g" fontHeight="8"/>
+      <element xmi:type="uml:Generalization" href="CHESS.profile.uml#_5GFz0Ku_EeCQLtqIc6Ik6Q"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_uvvTsthkEeCHDo4echej_g" points="[11, -50, -59, 250]$[58, -250, -12, 50]"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_xWWJkNhkEeCHDo4echej_g" type="4002" source="_wTu2ANhkEeCHDo4echej_g" target="_fvAfcNhkEeCHDo4echej_g" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_xWWJk9hkEeCHDo4echej_g" type="6007">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_xWWJlNhkEeCHDo4echej_g" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_xWWJkdhkEeCHDo4echej_g" fontHeight="8"/>
+      <element xmi:type="uml:Generalization" href="CHESS.profile.uml#_5aFG0Ku_EeCQLtqIc6Ik6Q"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_xWWJkthkEeCHDo4echej_g" points="[-3, -50, 17, 250]$[-17, -250, 3, 50]"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_wvoVkNhpEeCHDo4echej_g" type="1013" source="_p3upoNhpEeCHDo4echej_g" target="_R-JXoNhkEeCHDo4echej_g" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_wvoVkdhpEeCHDo4echej_g" fontHeight="8"/>
+      <element xmi:type="uml:Extension" href="CHESS.profile.uml#_wvCfsdhpEeCHDo4echej_g"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_wvoVkthpEeCHDo4echej_g" points="[-3, -50, 9, 217]$[-15, -242, -3, 25]"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_nmHMINq1EeCqi515KFb0xQ" type="4002" source="_P8XJENq0EeCqi515KFb0xQ" target="_ni1OoNq1EeCqi515KFb0xQ" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_nmHMI9q1EeCqi515KFb0xQ" type="6007">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_nmHMJNq1EeCqi515KFb0xQ" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_nmHMIdq1EeCqi515KFb0xQ" fontHeight="8"/>
+      <element xmi:type="uml:Generalization" href="CHESS.profile.uml#_PBQWQNq1EeCqi515KFb0xQ"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_nmHMItq1EeCqi515KFb0xQ" points="[-48, -50, 787, 835]$[-835, -885, 0, 0]"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_q_OdANq1EeCqi515KFb0xQ" type="4002" source="_qabG0Nq1EeCqi515KFb0xQ" target="_q-L7MNq1EeCqi515KFb0xQ" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_q_OdA9q1EeCqi515KFb0xQ" type="6007">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_q_OdBNq1EeCqi515KFb0xQ" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_q_OdAdq1EeCqi515KFb0xQ" fontHeight="8"/>
+      <element xmi:type="uml:Generalization" href="CHESS.profile.uml#_cfAU0Nq1EeCqi515KFb0xQ"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_q_OdAtq1EeCqi515KFb0xQ" points="[-55, -50, 982, 890]$[-1037, -940, 0, 0]"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_5KFuICZBEeGlQNX6ViU5DA" type="1013" source="_xQc4YCZBEeGlQNX6ViU5DA" target="_4UKywCZBEeGlQNX6ViU5DA" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_5KFuISZBEeGlQNX6ViU5DA" fontHeight="8"/>
+      <element xmi:type="uml:Extension" href="CHESS.profile.uml#_5I73kCZBEeGlQNX6ViU5DA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_5KFuIiZBEeGlQNX6ViU5DA" points="[-16, -38, 22, 60]$[-36, -73, 2, 25]"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_f3-n0MCqEd-RT45s8cwWMg" type="PapyrusUMLClassDiagram" name="HwDataTypes" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_jb0iAMCqEd-RT45s8cwWMg" type="2010" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jb0iAsCqEd-RT45s8cwWMg" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jb0iA8CqEd-RT45s8cwWMg" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jb0iBMCqEd-RT45s8cwWMg" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jb0iBcCqEd-RT45s8cwWMg" key="displayNameLabelIcon_value" value="true"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jb0iBsCqEd-RT45s8cwWMg" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jb0iB8CqEd-RT45s8cwWMg" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_swBRQMCqEd-RT45s8cwWMg" source="Stereotype_Annotation">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__upecMCqEd-RT45s8cwWMg" key="StereotypeWithQualifiedNameList" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__upeccCqEd-RT45s8cwWMg" key="StereotypeList" value="MARTE::MARTE_Annexes::VSL::DataTypes::TupleType"/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__upecsCqEd-RT45s8cwWMg" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__upec8CqEd-RT45s8cwWMg" key="PropStereoDisplay" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__upedMCqEd-RT45s8cwWMg" key="StereotypePropertyLocation" value="Compartment"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_jb0iCMCqEd-RT45s8cwWMg" type="5035"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_jb0iCcCqEd-RT45s8cwWMg" type="7020">
+        <children xmi:type="notation:Shape" xmi:id="_pJWskMCqEd-RT45s8cwWMg" type="3018" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_pJM7kMCqEd-RT45s8cwWMg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_pJWskcCqEd-RT45s8cwWMg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_vmRFoMCqEd-RT45s8cwWMg" type="3018" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_vmH7sMCqEd-RT45s8cwWMg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_vmRFocCqEd-RT45s8cwWMg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_ym8oYMCqEd-RT45s8cwWMg" type="3018" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_ymy3YMCqEd-RT45s8cwWMg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_ym8oYcCqEd-RT45s8cwWMg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_1neaIMCqEd-RT45s8cwWMg" type="3018" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_1nUpIMCqEd-RT45s8cwWMg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_1neaIcCqEd-RT45s8cwWMg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_4D71gMCqEd-RT45s8cwWMg" type="3018" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_4DyrkMCqEd-RT45s8cwWMg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_4D71gcCqEd-RT45s8cwWMg"/>
+        </children>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_jb0iCsCqEd-RT45s8cwWMg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_jb0iC8CqEd-RT45s8cwWMg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jb0iDMCqEd-RT45s8cwWMg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_jb0iDcCqEd-RT45s8cwWMg" type="7021">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_jb0iDsCqEd-RT45s8cwWMg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_jb0iD8CqEd-RT45s8cwWMg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jb0iEMCqEd-RT45s8cwWMg"/>
+      </children>
+      <element xmi:type="uml:DataType" href="CHESS.profile.uml#_jbqxAMCqEd-RT45s8cwWMg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jb0iAcCqEd-RT45s8cwWMg" x="45" y="115" width="271" height="131"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_Bxop4MCrEd-RT45s8cwWMg" type="2010" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Bxop4sCrEd-RT45s8cwWMg" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Bxop48CrEd-RT45s8cwWMg" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Bxop5MCrEd-RT45s8cwWMg" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Bxop5cCrEd-RT45s8cwWMg" key="displayNameLabelIcon_value" value="true"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Bxop5sCrEd-RT45s8cwWMg" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Bxop58CrEd-RT45s8cwWMg" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_N7Nq0MCrEd-RT45s8cwWMg" source="Stereotype_Annotation">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_N7Nq0cCrEd-RT45s8cwWMg" key="StereotypeWithQualifiedNameList" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_N7Nq0sCrEd-RT45s8cwWMg" key="StereotypeList" value="MARTE::MARTE_Annexes::VSL::DataTypes::ChoiceType"/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_N7Nq08CrEd-RT45s8cwWMg" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_N7Nq1MCrEd-RT45s8cwWMg" key="PropStereoDisplay" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_N7Nq1cCrEd-RT45s8cwWMg" key="StereotypePropertyLocation" value="Compartment"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_Bxop6MCrEd-RT45s8cwWMg" type="5035"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_Bxop6cCrEd-RT45s8cwWMg" type="7020">
+        <children xmi:type="notation:Shape" xmi:id="_EbN7QMCrEd-RT45s8cwWMg" type="3018" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_EbExUMCrEd-RT45s8cwWMg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_EbN7QcCrEd-RT45s8cwWMg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_vZWOgMCrEd-RT45s8cwWMg" type="3018" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_vZMdgMCrEd-RT45s8cwWMg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_vZWOgcCrEd-RT45s8cwWMg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_00QYAMCrEd-RT45s8cwWMg" type="3018" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_00GnAMCrEd-RT45s8cwWMg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_00QYAcCrEd-RT45s8cwWMg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_4FeRIMCrEd-RT45s8cwWMg" type="3018" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_4FVHMMCrEd-RT45s8cwWMg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_4FeRIcCrEd-RT45s8cwWMg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_51-lcMCrEd-RT45s8cwWMg" type="3018" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_511bgMCrEd-RT45s8cwWMg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_51-lccCrEd-RT45s8cwWMg"/>
+        </children>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_Bxop6sCrEd-RT45s8cwWMg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_Bxop68CrEd-RT45s8cwWMg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Bxop7MCrEd-RT45s8cwWMg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_Bxop7cCrEd-RT45s8cwWMg" type="7021">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_Bxop7sCrEd-RT45s8cwWMg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_Bxop78CrEd-RT45s8cwWMg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Bxop8MCrEd-RT45s8cwWMg"/>
+      </children>
+      <element xmi:type="uml:DataType" href="CHESS.profile.uml#_Bxff8MCrEd-RT45s8cwWMg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Bxop4cCrEd-RT45s8cwWMg" x="475" y="120" width="150" height="196"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_YJ2pEMCrEd-RT45s8cwWMg" type="2010" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_YJ2pEsCrEd-RT45s8cwWMg" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_YJ2pE8CrEd-RT45s8cwWMg" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_YJ2pFMCrEd-RT45s8cwWMg" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_YJ2pFcCrEd-RT45s8cwWMg" key="displayNameLabelIcon_value" value="true"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_YJ2pFsCrEd-RT45s8cwWMg" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_YJ2pF8CrEd-RT45s8cwWMg" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_aXuO0MCrEd-RT45s8cwWMg" source="Stereotype_Annotation">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_aXuO0cCrEd-RT45s8cwWMg" key="StereotypeWithQualifiedNameList" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_aXuO0sCrEd-RT45s8cwWMg" key="StereotypeList" value="MARTE::MARTE_Foundations::NFPs::NfpType"/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_aXuO08CrEd-RT45s8cwWMg" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_aXuO1MCrEd-RT45s8cwWMg" key="PropStereoDisplay" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_aXuO1cCrEd-RT45s8cwWMg" key="StereotypePropertyLocation" value="Compartment"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_YJ2pGMCrEd-RT45s8cwWMg" type="5035"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_YJ2pGcCrEd-RT45s8cwWMg" type="7020">
+        <children xmi:type="notation:Shape" xmi:id="_ciAVEMCrEd-RT45s8cwWMg" type="3018" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_ch3LIMCrEd-RT45s8cwWMg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_ciAVEcCrEd-RT45s8cwWMg"/>
+        </children>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_YJ2pGsCrEd-RT45s8cwWMg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_YJ2pG8CrEd-RT45s8cwWMg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_YJ2pHMCrEd-RT45s8cwWMg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_YJ2pHcCrEd-RT45s8cwWMg" type="7021">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_YJ2pHsCrEd-RT45s8cwWMg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_YJ2pH8CrEd-RT45s8cwWMg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_YJ2pIMCrEd-RT45s8cwWMg"/>
+      </children>
+      <element xmi:type="uml:DataType" href="CHESS.profile.uml#_YJs4EMCrEd-RT45s8cwWMg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_YJ2pEcCrEd-RT45s8cwWMg" x="225" y="305" width="151"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_kDfUEMCsEd-RT45s8cwWMg" type="2006" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kDoeAMCsEd-RT45s8cwWMg" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kDoeAcCsEd-RT45s8cwWMg" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kDoeAsCsEd-RT45s8cwWMg" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kDoeA8CsEd-RT45s8cwWMg" key="displayNameLabelIcon_value" value="true"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kDoeBMCsEd-RT45s8cwWMg" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kDoeBcCsEd-RT45s8cwWMg" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_kDoeBsCsEd-RT45s8cwWMg" type="5023"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kDoeB8CsEd-RT45s8cwWMg" type="7015">
+        <children xmi:type="notation:Shape" xmi:id="_nTqEUMCsEd-RT45s8cwWMg" type="3017" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:EnumerationLiteral" href="CHESS.profile.uml#_nTXJYMCsEd-RT45s8cwWMg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_nTqEUcCsEd-RT45s8cwWMg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_p7JrAMCsEd-RT45s8cwWMg" type="3017" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:EnumerationLiteral" href="CHESS.profile.uml#_p6_6AMCsEd-RT45s8cwWMg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_p7JrAcCsEd-RT45s8cwWMg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_rPyisMCsEd-RT45s8cwWMg" type="3017" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:EnumerationLiteral" href="CHESS.profile.uml#_rPpYwMCsEd-RT45s8cwWMg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_rPyiscCsEd-RT45s8cwWMg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_r-4dUMCsEd-RT45s8cwWMg" type="3017" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:EnumerationLiteral" href="CHESS.profile.uml#_r-usUMCsEd-RT45s8cwWMg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_r-4dUcCsEd-RT45s8cwWMg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_tM-BEMCsEd-RT45s8cwWMg" type="3017" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:EnumerationLiteral" href="CHESS.profile.uml#_tM0QEMCsEd-RT45s8cwWMg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_tM-BEcCsEd-RT45s8cwWMg"/>
+        </children>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_kDoeCMCsEd-RT45s8cwWMg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_kDoeCcCsEd-RT45s8cwWMg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kDoeCsCsEd-RT45s8cwWMg"/>
+      </children>
+      <element xmi:type="uml:Enumeration" href="CHESS.profile.uml#_kDVjEMCsEd-RT45s8cwWMg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kDfUEcCsEd-RT45s8cwWMg" x="537" y="368" width="134"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_c8ua0MCuEd-RT45s8cwWMg" type="2006" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_c8ua0sCuEd-RT45s8cwWMg" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_c8ua08CuEd-RT45s8cwWMg" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_c8ua1MCuEd-RT45s8cwWMg" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_c8ua1cCuEd-RT45s8cwWMg" key="displayNameLabelIcon_value" value="true"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_c8ua1sCuEd-RT45s8cwWMg" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_c8ua18CuEd-RT45s8cwWMg" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_c8ua2MCuEd-RT45s8cwWMg" type="5023"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_c8ua2cCuEd-RT45s8cwWMg" type="7015">
+        <children xmi:type="notation:Shape" xmi:id="_eP4EwMCuEd-RT45s8cwWMg" type="3017" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:EnumerationLiteral" href="CHESS.profile.uml#_ePkiwMCuEd-RT45s8cwWMg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_eP4EwcCuEd-RT45s8cwWMg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_gTdGEMCuEd-RT45s8cwWMg" type="3017" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:EnumerationLiteral" href="CHESS.profile.uml#_gTT8IMCuEd-RT45s8cwWMg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_gTdGEcCuEd-RT45s8cwWMg"/>
+        </children>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_c8ua2sCuEd-RT45s8cwWMg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_c8ua28CuEd-RT45s8cwWMg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_c8ua3MCuEd-RT45s8cwWMg"/>
+      </children>
+      <element xmi:type="uml:Enumeration" href="CHESS.profile.uml#_c8a40MCuEd-RT45s8cwWMg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_c8ua0cCuEd-RT45s8cwWMg" x="114" y="437" width="147"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_f3-n0cCqEd-RT45s8cwWMg"/>
+    <element xmi:type="uml:Package" href="CHESS.profile.uml#_dLaT4MCqEd-RT45s8cwWMg"/>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_5dOcUMCtEd-RT45s8cwWMg" type="PapyrusUMLProfileDiagram" name="DeploymentConfigurationAnalysis" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_6qaoMMCtEd-RT45s8cwWMg" type="1026" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6qaoMsCtEd-RT45s8cwWMg" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6qaoM8CtEd-RT45s8cwWMg" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6qaoNMCtEd-RT45s8cwWMg" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6qaoNcCtEd-RT45s8cwWMg" key="displayNameLabelIcon_value" value="true"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6qaoNsCtEd-RT45s8cwWMg" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6qaoN8CtEd-RT45s8cwWMg" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_6qaoOMCtEd-RT45s8cwWMg" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_6qaoOcCtEd-RT45s8cwWMg" type="1071">
+        <children xmi:type="notation:Shape" xmi:id="_DHzrQMCuEd-RT45s8cwWMg" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_DHN1YMCuEd-RT45s8cwWMg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_DHzrQcCuEd-RT45s8cwWMg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_N5wx8MCuEd-RT45s8cwWMg" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_N5BLEMCuEd-RT45s8cwWMg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_N5wx8cCuEd-RT45s8cwWMg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_o5VWwMCuEd-RT45s8cwWMg" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_o5LlwMCuEd-RT45s8cwWMg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_o5VWwcCuEd-RT45s8cwWMg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_vldQgMCuEd-RT45s8cwWMg" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_vlUGkMCuEd-RT45s8cwWMg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_vldQgcCuEd-RT45s8cwWMg"/>
+        </children>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_6qaoOsCtEd-RT45s8cwWMg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_6qaoO8CtEd-RT45s8cwWMg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6qaoPMCtEd-RT45s8cwWMg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_6qaoPcCtEd-RT45s8cwWMg" type="1019">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_6qaoPsCtEd-RT45s8cwWMg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_6qaoP8CtEd-RT45s8cwWMg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6qaoQMCtEd-RT45s8cwWMg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="CHESS.profile.uml#_6qReQMCtEd-RT45s8cwWMg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6qaoMcCtEd-RT45s8cwWMg" x="40" y="180" width="296" height="121"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="__-O1wMCuEd-RT45s8cwWMg" type="1026" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__-O1wsCuEd-RT45s8cwWMg" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__-O1w8CuEd-RT45s8cwWMg" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__-O1xMCuEd-RT45s8cwWMg" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__-O1xcCuEd-RT45s8cwWMg" key="displayNameLabelIcon_value" value="true"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__-O1xsCuEd-RT45s8cwWMg" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__-O1x8CuEd-RT45s8cwWMg" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="__-O1yMCuEd-RT45s8cwWMg" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="__-O1ycCuEd-RT45s8cwWMg" type="1071">
+        <children xmi:type="notation:Shape" xmi:id="_EjM1wMCvEd-RT45s8cwWMg" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_EjDr0MCvEd-RT45s8cwWMg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_EjM1wcCvEd-RT45s8cwWMg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_D7kYkMCwEd-RT45s8cwWMg" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_D7RdoMCwEd-RT45s8cwWMg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_D7kYkcCwEd-RT45s8cwWMg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_AguMoL84EeCLOv-_yLVzGQ" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_AdJUML84EeCLOv-_yLVzGQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_AguMob84EeCLOv-_yLVzGQ"/>
+        </children>
+        <styles xmi:type="notation:SortingStyle" xmi:id="__-O1ysCuEd-RT45s8cwWMg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="__-O1y8CuEd-RT45s8cwWMg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="__-O1zMCuEd-RT45s8cwWMg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="__-O1zcCuEd-RT45s8cwWMg" type="1019">
+        <styles xmi:type="notation:SortingStyle" xmi:id="__-O1zsCuEd-RT45s8cwWMg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="__-O1z8CuEd-RT45s8cwWMg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="__-O10MCuEd-RT45s8cwWMg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="CHESS.profile.uml#__9760MCuEd-RT45s8cwWMg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="__-O1wcCuEd-RT45s8cwWMg" x="370" y="210" width="251"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_Kp66MDqyEeCUI4z76XHrLw" type="1026" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Kp66MjqyEeCUI4z76XHrLw" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Kp66MzqyEeCUI4z76XHrLw" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Kp66NDqyEeCUI4z76XHrLw" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Kp66NTqyEeCUI4z76XHrLw" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Kp66NjqyEeCUI4z76XHrLw" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Kp66NzqyEeCUI4z76XHrLw" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_Kp66ODqyEeCUI4z76XHrLw" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_Kp66OTqyEeCUI4z76XHrLw" type="1071">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_Kp66OjqyEeCUI4z76XHrLw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_Kp66OzqyEeCUI4z76XHrLw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Kp66PDqyEeCUI4z76XHrLw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_Kp66PTqyEeCUI4z76XHrLw" type="1019">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_Kp66PjqyEeCUI4z76XHrLw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_Kp66PzqyEeCUI4z76XHrLw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Kp66QDqyEeCUI4z76XHrLw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_9gc2ABKfEdyaWJN1BYon3A"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Kp66MTqyEeCUI4z76XHrLw" x="318" y="27"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_Y3FPkL6gEeCnL_Cr-OwxXg" type="1026" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Y3FPkr6gEeCnL_Cr-OwxXg" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Y3FPk76gEeCnL_Cr-OwxXg" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Y3FPlL6gEeCnL_Cr-OwxXg" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Y3FPlb6gEeCnL_Cr-OwxXg" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Y3FPlr6gEeCnL_Cr-OwxXg" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Y3FPl76gEeCnL_Cr-OwxXg" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_Y3FPmL6gEeCnL_Cr-OwxXg" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_Y5BJQL6gEeCnL_Cr-OwxXg" type="1071">
+        <children xmi:type="notation:Shape" xmi:id="_DpwksL85EeCLOv-_yLVzGQ" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_DpT4wL85EeCLOv-_yLVzGQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_Dpwksb85EeCLOv-_yLVzGQ"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_cuJPML85EeCLOv-_yLVzGQ" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_Nnd2IMCwEd-RT45s8cwWMg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_cuJPMb85EeCLOv-_yLVzGQ" x="63" y="29"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_dX4IsL85EeCLOv-_yLVzGQ" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_SZGZIMCwEd-RT45s8cwWMg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_dX4Isb85EeCLOv-_yLVzGQ" x="63" y="30"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_t-vwIL9AEeC1JJonYKBCkg" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_t-AJQL9AEeC1JJonYKBCkg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_t-vwIb9AEeC1JJonYKBCkg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_Y5BJQb6gEeCnL_Cr-OwxXg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_Y5BJQr6gEeCnL_Cr-OwxXg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_Y5BJQ76gEeCnL_Cr-OwxXg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Y5BJRL6gEeCnL_Cr-OwxXg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_Y5BJRb6gEeCnL_Cr-OwxXg" type="1019">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_Y5BJRr6gEeCnL_Cr-OwxXg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_Y5BJR76gEeCnL_Cr-OwxXg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_Y5BJSL6gEeCnL_Cr-OwxXg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Y5BJSb6gEeCnL_Cr-OwxXg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="CHESS.profile.uml#_YwhUkL6gEeCnL_Cr-OwxXg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Y3FPkb6gEeCnL_Cr-OwxXg" x="505" y="60" width="211" height="116"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_5dOcUcCtEd-RT45s8cwWMg"/>
+    <element xmi:type="uml:Profile" href="CHESS.profile.uml#_1xBQUMCtEd-RT45s8cwWMg"/>
+    <edges xmi:type="notation:Connector" xmi:id="_KqqhEDqyEeCUI4z76XHrLw" type="4002" source="_6qaoMMCtEd-RT45s8cwWMg" target="_Kp66MDqyEeCUI4z76XHrLw" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_Kq0SEDqyEeCUI4z76XHrLw" type="6007">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_Kq0SETqyEeCUI4z76XHrLw" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_KqqhETqyEeCUI4z76XHrLw" fontHeight="8"/>
+      <element xmi:type="uml:Generalization" href="CHESS.profile.uml#_BW2rAMCuEd-RT45s8cwWMg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_KqqhEjqyEeCUI4z76XHrLw" points="[-46, -60, 182, 240]$[-228, -300, 0, 0]"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_NhztUDqyEeCUI4z76XHrLw" type="4002" source="__-O1wMCuEd-RT45s8cwWMg" target="_Kp66MDqyEeCUI4z76XHrLw" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_NhztUzqyEeCUI4z76XHrLw" type="6007">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_NhztVDqyEeCUI4z76XHrLw" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_NhztUTqyEeCUI4z76XHrLw" fontHeight="8"/>
+      <element xmi:type="uml:Generalization" href="CHESS.profile.uml#_BrwukMCvEd-RT45s8cwWMg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_NhztUjqyEeCUI4z76XHrLw" points="[-61, -67, 156, 173]$[-172, -190, 45, 50]"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_d7oukL6gEeCnL_Cr-OwxXg" type="4002" source="_Y3FPkL6gEeCnL_Cr-OwxXg" target="_Kp66MDqyEeCUI4z76XHrLw" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_d7ouk76gEeCnL_Cr-OwxXg" type="6007">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_d7oulL6gEeCnL_Cr-OwxXg" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_d7oukb6gEeCnL_Cr-OwxXg" fontHeight="8"/>
+      <element xmi:type="uml:Generalization" href="CHESS.profile.uml#_d6v9wL6gEeCnL_Cr-OwxXg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_d7oukr6gEeCnL_Cr-OwxXg" points="[-31, -10, 197, 32]$[-219, -92, 9, -50]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_d8FagL6gEeCnL_Cr-OwxXg" id="(0.2052980132450331,0.37362637362637363)"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_cqie0MDTEd-RT45s8cwWMg" type="PapyrusUMLProfileDiagram" name="TimingAnalysis" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_-IU4sMDdEd-RT45s8cwWMg" type="1026" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-IU4ssDdEd-RT45s8cwWMg" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-IU4s8DdEd-RT45s8cwWMg" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-IU4tMDdEd-RT45s8cwWMg" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-IU4tcDdEd-RT45s8cwWMg" key="displayNameLabelIcon_value" value="true"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-IU4tsDdEd-RT45s8cwWMg" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-IU4t8DdEd-RT45s8cwWMg" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_-IU4uMDdEd-RT45s8cwWMg" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_-IU4ucDdEd-RT45s8cwWMg" type="1071">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_-IU4usDdEd-RT45s8cwWMg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_-IU4u8DdEd-RT45s8cwWMg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-IU4vMDdEd-RT45s8cwWMg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_-IU4vcDdEd-RT45s8cwWMg" type="1019">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_-IU4vsDdEd-RT45s8cwWMg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_-IU4v8DdEd-RT45s8cwWMg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-IU4wMDdEd-RT45s8cwWMg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="CHESS.profile.uml#_-HubwMDdEd-RT45s8cwWMg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-IU4scDdEd-RT45s8cwWMg" x="20" y="215" width="200"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_knnHAMFrEd--atLXXafOiQ" type="1026" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_knnHAsFrEd--atLXXafOiQ" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_knnHA8FrEd--atLXXafOiQ" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_knnHBMFrEd--atLXXafOiQ" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_knnHBcFrEd--atLXXafOiQ" key="displayNameLabelIcon_value" value="true"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_knnHBsFrEd--atLXXafOiQ" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_knnHB8FrEd--atLXXafOiQ" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_knnHCMFrEd--atLXXafOiQ" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_knnHCcFrEd--atLXXafOiQ" type="1071">
+        <children xmi:type="notation:Shape" xmi:id="_tvvwMMFrEd--atLXXafOiQ" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_tuP7YMFrEd--atLXXafOiQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_tvvwMcFrEd--atLXXafOiQ"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_wILnMMFrEd--atLXXafOiQ" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_wH4sQMFrEd--atLXXafOiQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_wILnMcFrEd--atLXXafOiQ"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_45g58MFrEd--atLXXafOiQ" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_45N_AMFrEd--atLXXafOiQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_45g58cFrEd--atLXXafOiQ"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_8Ylo4MFrEd--atLXXafOiQ" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_8Yb34MFrEd--atLXXafOiQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_8Ylo4cFrEd--atLXXafOiQ"/>
+        </children>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_knnHCsFrEd--atLXXafOiQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_knnHC8FrEd--atLXXafOiQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_knnHDMFrEd--atLXXafOiQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_knnHDcFrEd--atLXXafOiQ" type="1019">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_knnHDsFrEd--atLXXafOiQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_knnHD8FrEd--atLXXafOiQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_knnHEMFrEd--atLXXafOiQ"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="CHESS.profile.uml#_kma0MMFrEd--atLXXafOiQ"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_knnHAcFrEd--atLXXafOiQ" x="665" y="625" width="236"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_-5YKoMFrEd--atLXXafOiQ" type="1026" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-5YKosFrEd--atLXXafOiQ" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-5YKo8FrEd--atLXXafOiQ" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-5YKpMFrEd--atLXXafOiQ" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-5YKpcFrEd--atLXXafOiQ" key="displayNameLabelIcon_value" value="true"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-5YKpsFrEd--atLXXafOiQ" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-5YKp8FrEd--atLXXafOiQ" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_-5YKqMFrEd--atLXXafOiQ" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_-5YKqcFrEd--atLXXafOiQ" type="1071">
+        <children xmi:type="notation:Shape" xmi:id="_OxSegMFsEd--atLXXafOiQ" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_Ow_jkMFsEd--atLXXafOiQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_OxSegcFsEd--atLXXafOiQ"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_RGeNMMFsEd--atLXXafOiQ" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_RGUcMMFsEd--atLXXafOiQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_RGeNMcFsEd--atLXXafOiQ"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_Wu0VwMFsEd--atLXXafOiQ" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_WuqkwMFsEd--atLXXafOiQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_Wu0VwcFsEd--atLXXafOiQ"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_ck3jIMFsEd--atLXXafOiQ" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_ckuZMMFsEd--atLXXafOiQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_ck3jIcFsEd--atLXXafOiQ"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_e9UoQMFsEd--atLXXafOiQ" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_e9LeUMFsEd--atLXXafOiQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_e9UoQcFsEd--atLXXafOiQ"/>
+        </children>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_-5YKqsFrEd--atLXXafOiQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_-5YKq8FrEd--atLXXafOiQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-5YKrMFrEd--atLXXafOiQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_-5YKrcFrEd--atLXXafOiQ" type="1019">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_-5YKrsFrEd--atLXXafOiQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_-5YKr8FrEd--atLXXafOiQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-5YKsMFrEd--atLXXafOiQ"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="CHESS.profile.uml#_-4xtsMFrEd--atLXXafOiQ"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-5YKocFrEd--atLXXafOiQ" x="975" y="630" width="141" height="141"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_jTG8wMFsEd--atLXXafOiQ" type="1026" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jTG8wsFsEd--atLXXafOiQ" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jTG8w8FsEd--atLXXafOiQ" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jTG8xMFsEd--atLXXafOiQ" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jTG8xcFsEd--atLXXafOiQ" key="displayNameLabelIcon_value" value="true"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jTG8xsFsEd--atLXXafOiQ" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jTG8x8FsEd--atLXXafOiQ" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_jTG8yMFsEd--atLXXafOiQ" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_jTG8ycFsEd--atLXXafOiQ" type="1071">
+        <children xmi:type="notation:Shape" xmi:id="_nwWkIMFsEd--atLXXafOiQ" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_nwMzIMFsEd--atLXXafOiQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_nwWkIcFsEd--atLXXafOiQ"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_p1baQMFsEd--atLXXafOiQ" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_p1SQUMFsEd--atLXXafOiQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_p1baQcFsEd--atLXXafOiQ"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_r6zyYMFsEd--atLXXafOiQ" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_r6qBYMFsEd--atLXXafOiQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_r6zyYcFsEd--atLXXafOiQ"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_wKKuwMFsEd--atLXXafOiQ" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_wKA9wMFsEd--atLXXafOiQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_wKKuwcFsEd--atLXXafOiQ"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_2t9L4MFsEd--atLXXafOiQ" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_2tpp4MFsEd--atLXXafOiQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_2t9L4cFsEd--atLXXafOiQ"/>
+        </children>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_jTG8ysFsEd--atLXXafOiQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_jTG8y8FsEd--atLXXafOiQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jTG8zMFsEd--atLXXafOiQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_jTG8zcFsEd--atLXXafOiQ" type="1019">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_jTG8zsFsEd--atLXXafOiQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_jTG8z8FsEd--atLXXafOiQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jTG80MFsEd--atLXXafOiQ"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="CHESS.profile.uml#_jShG4MFsEd--atLXXafOiQ"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jTG8wcFsEd--atLXXafOiQ" x="75" y="590" width="241" height="136"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_q2v34MFtEd--atLXXafOiQ" type="1026" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_q2v34sFtEd--atLXXafOiQ" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_q2v348FtEd--atLXXafOiQ" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_q2v35MFtEd--atLXXafOiQ" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_q2v35cFtEd--atLXXafOiQ" key="displayNameLabelIcon_value" value="true"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_q2v35sFtEd--atLXXafOiQ" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_q2v358FtEd--atLXXafOiQ" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_q2v36MFtEd--atLXXafOiQ" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_q2v36cFtEd--atLXXafOiQ" type="1071">
+        <children xmi:type="notation:Shape" xmi:id="_vikGwMFtEd--atLXXafOiQ" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_viaVwMFtEd--atLXXafOiQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_vikGwcFtEd--atLXXafOiQ"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_yZG2EMFtEd--atLXXafOiQ" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_yYz7IMFtEd--atLXXafOiQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_yZG2EcFtEd--atLXXafOiQ"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_4qG6EMFtEd--atLXXafOiQ" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_4p9wIMFtEd--atLXXafOiQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_4qG6EcFtEd--atLXXafOiQ"/>
+        </children>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_q2v36sFtEd--atLXXafOiQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_q2v368FtEd--atLXXafOiQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_q2v37MFtEd--atLXXafOiQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_q2v37cFtEd--atLXXafOiQ" type="1019">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_q2v37sFtEd--atLXXafOiQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_q2v378FtEd--atLXXafOiQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_q2v38MFtEd--atLXXafOiQ"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="CHESS.profile.uml#_q2Ja8MFtEd--atLXXafOiQ"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_q2v34cFtEd--atLXXafOiQ" x="365" y="620" width="243"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_cvV0YBQwEeG5-4hJIdbexA" type="1026" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_cvXCgBQwEeG5-4hJIdbexA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_cvXCgRQwEeG5-4hJIdbexA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_cvXCghQwEeG5-4hJIdbexA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_cvXCgxQwEeG5-4hJIdbexA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_cvXChBQwEeG5-4hJIdbexA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_cvXChRQwEeG5-4hJIdbexA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_cvXChhQwEeG5-4hJIdbexA" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_cvXpkBQwEeG5-4hJIdbexA" type="1071">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_cvXpkRQwEeG5-4hJIdbexA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_cvXpkhQwEeG5-4hJIdbexA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_cvXpkxQwEeG5-4hJIdbexA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cvXplBQwEeG5-4hJIdbexA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_cvXplRQwEeG5-4hJIdbexA" type="1019">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_cvXplhQwEeG5-4hJIdbexA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_cvXplxQwEeG5-4hJIdbexA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_cvXpmBQwEeG5-4hJIdbexA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cvXpmRQwEeG5-4hJIdbexA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_P9c2AA4wEdysTsAUPnp57Q"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cvV0YRQwEeG5-4hJIdbexA" x="380" y="405" width="436"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_oB01QBQwEeG5-4hJIdbexA" type="1026" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_oB1cUBQwEeG5-4hJIdbexA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_oB1cURQwEeG5-4hJIdbexA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_oB1cUhQwEeG5-4hJIdbexA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_oB1cUxQwEeG5-4hJIdbexA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_oB2DYBQwEeG5-4hJIdbexA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_oB2DYRQwEeG5-4hJIdbexA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_oB2DYhQwEeG5-4hJIdbexA" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_oB2DYxQwEeG5-4hJIdbexA" type="1071">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_oB2DZBQwEeG5-4hJIdbexA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_oB2DZRQwEeG5-4hJIdbexA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_oB2DZhQwEeG5-4hJIdbexA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_oB2DZxQwEeG5-4hJIdbexA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_oB2DaBQwEeG5-4hJIdbexA" type="1019">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_oB2DaRQwEeG5-4hJIdbexA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_oB2DahQwEeG5-4hJIdbexA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_oB2DaxQwEeG5-4hJIdbexA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_oB2DbBQwEeG5-4hJIdbexA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_9gc2ABKfEdyaWJN1BYon3A"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_oB01QRQwEeG5-4hJIdbexA" x="55" y="45"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_Y-yzkBQzEeG5-4hJIdbexA" type="1026" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Y-yzkhQzEeG5-4hJIdbexA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Y-yzkxQzEeG5-4hJIdbexA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Y-yzlBQzEeG5-4hJIdbexA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Y-yzlRQzEeG5-4hJIdbexA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Y-yzlhQzEeG5-4hJIdbexA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Y-yzlxQzEeG5-4hJIdbexA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_Y-yzmBQzEeG5-4hJIdbexA" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_Y-yzmRQzEeG5-4hJIdbexA" type="1071">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_Y-yzmhQzEeG5-4hJIdbexA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_Y-yzmxQzEeG5-4hJIdbexA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_Y-yznBQzEeG5-4hJIdbexA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Y-yznRQzEeG5-4hJIdbexA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_Y-yznhQzEeG5-4hJIdbexA" type="1019">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_Y-yznxQzEeG5-4hJIdbexA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_Y-yzoBQzEeG5-4hJIdbexA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_Y-yzoRQzEeG5-4hJIdbexA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Y-yzohQzEeG5-4hJIdbexA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="CHESS.profile.uml#_70y0ABQxEeG5-4hJIdbexA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Y-yzkRQzEeG5-4hJIdbexA" x="295" y="225" width="160"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_bkpbgBQzEeG5-4hJIdbexA" type="1026" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_bkqpoBQzEeG5-4hJIdbexA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bkqpoRQzEeG5-4hJIdbexA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_bkqpohQzEeG5-4hJIdbexA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bkqpoxQzEeG5-4hJIdbexA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_bkqppBQzEeG5-4hJIdbexA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bkqppRQzEeG5-4hJIdbexA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_bkqpphQzEeG5-4hJIdbexA" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_bkrQsBQzEeG5-4hJIdbexA" type="1071">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_bkrQsRQzEeG5-4hJIdbexA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_bkrQshQzEeG5-4hJIdbexA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_bkrQsxQzEeG5-4hJIdbexA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bkrQtBQzEeG5-4hJIdbexA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_bkrQtRQzEeG5-4hJIdbexA" type="1019">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_bkrQthQzEeG5-4hJIdbexA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_bkrQtxQzEeG5-4hJIdbexA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_bkrQuBQzEeG5-4hJIdbexA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bkrQuRQzEeG5-4hJIdbexA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="CHESS.profile.uml#_MiVvYBQyEeG5-4hJIdbexA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bkqCkBQzEeG5-4hJIdbexA" x="495" y="225"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_oDI8gBQzEeG5-4hJIdbexA" type="1026" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_oDJjkBQzEeG5-4hJIdbexA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_oDJjkRQzEeG5-4hJIdbexA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_oDJjkhQzEeG5-4hJIdbexA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_oDJjkxQzEeG5-4hJIdbexA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_oDKKoBQzEeG5-4hJIdbexA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_oDKKoRQzEeG5-4hJIdbexA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_oDKKohQzEeG5-4hJIdbexA" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_oDKKoxQzEeG5-4hJIdbexA" type="1071">
+        <children xmi:type="notation:Shape" xmi:id="_q_5BgBQzEeG5-4hJIdbexA" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_f5M2YBQyEeG5-4hJIdbexA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_q_5BgRQzEeG5-4hJIdbexA" x="52" y="25"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_oDKKpBQzEeG5-4hJIdbexA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_oDKKpRQzEeG5-4hJIdbexA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_oDKKphQzEeG5-4hJIdbexA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_oDKKpxQzEeG5-4hJIdbexA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_oDKKqBQzEeG5-4hJIdbexA" type="1019">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_oDKKqRQzEeG5-4hJIdbexA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_oDKKqhQzEeG5-4hJIdbexA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_oDKKqxQzEeG5-4hJIdbexA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_oDKKrBQzEeG5-4hJIdbexA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="CHESS.profile.uml#_Xmag0BQyEeG5-4hJIdbexA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_oDI8gRQzEeG5-4hJIdbexA" x="650" y="225"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_pW1ZABQzEeG5-4hJIdbexA" type="1026" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_pW2AEBQzEeG5-4hJIdbexA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_pW2AERQzEeG5-4hJIdbexA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_pW2nIBQzEeG5-4hJIdbexA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_pW2nIRQzEeG5-4hJIdbexA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_pW2nIhQzEeG5-4hJIdbexA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_pW2nIxQzEeG5-4hJIdbexA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_pW2nJBQzEeG5-4hJIdbexA" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_pW2nJRQzEeG5-4hJIdbexA" type="1071">
+        <children xmi:type="notation:Shape" xmi:id="_qUtWgBQzEeG5-4hJIdbexA" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_2H7iYhQyEeG5-4hJIdbexA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_qUtWgRQzEeG5-4hJIdbexA" x="48" y="28"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_pW2nJhQzEeG5-4hJIdbexA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_pW2nJxQzEeG5-4hJIdbexA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_pW2nKBQzEeG5-4hJIdbexA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pW2nKRQzEeG5-4hJIdbexA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_pW2nKhQzEeG5-4hJIdbexA" type="1019">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_pW2nKxQzEeG5-4hJIdbexA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_pW2nLBQzEeG5-4hJIdbexA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_pW2nLRQzEeG5-4hJIdbexA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pW2nLhQzEeG5-4hJIdbexA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="CHESS.profile.uml#_2H7iYBQyEeG5-4hJIdbexA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pW1ZARQzEeG5-4hJIdbexA" x="860" y="230"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_6a5P4P3lEeOmz-4FDV-1Kw" type="1026">
+      <children xmi:type="notation:DecorationNode" xmi:id="_6a7FEP3lEeOmz-4FDV-1Kw" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_6a7sIP3lEeOmz-4FDV-1Kw" type="1071">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_6a7sIf3lEeOmz-4FDV-1Kw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_6a7sIv3lEeOmz-4FDV-1Kw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_6a7sI_3lEeOmz-4FDV-1Kw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6a7sJP3lEeOmz-4FDV-1Kw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_6a7sJf3lEeOmz-4FDV-1Kw" type="1019">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_6a7sJv3lEeOmz-4FDV-1Kw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_6a7sJ_3lEeOmz-4FDV-1Kw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_6a7sKP3lEeOmz-4FDV-1Kw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6a7sKf3lEeOmz-4FDV-1Kw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_a6Ls8BKcEdymP89M8JXkzA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6a5P4f3lEeOmz-4FDV-1Kw" x="525" y="35" width="273"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_cqie0cDTEd-RT45s8cwWMg"/>
+    <element xmi:type="uml:Profile" href="CHESS.profile.uml#_u88ZMLwzEd-CDNLmLgazUQ"/>
+    <edges xmi:type="notation:Connector" xmi:id="_gWbP0BQwEeG5-4hJIdbexA" type="4002" source="_knnHAMFrEd--atLXXafOiQ" target="_cvV0YBQwEeG5-4hJIdbexA" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_gWcd8BQwEeG5-4hJIdbexA" type="6007">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_gWcd8RQwEeG5-4hJIdbexA" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_gWb24BQwEeG5-4hJIdbexA" fontHeight="8"/>
+      <element xmi:type="uml:Generalization" href="CHESS.profile.uml#_rSiG4MFrEd--atLXXafOiQ"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_gWb24RQwEeG5-4hJIdbexA" points="[-68, -67, 133, 134]$[-151, -151, 50, 50]"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_iP9kUBQwEeG5-4hJIdbexA" type="4002" source="_jTG8wMFsEd--atLXXafOiQ" target="_cvV0YBQwEeG5-4hJIdbexA" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_iP-ycBQwEeG5-4hJIdbexA" type="6007">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_iP-ycRQwEeG5-4hJIdbexA" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_iP9kURQwEeG5-4hJIdbexA" fontHeight="8"/>
+      <element xmi:type="uml:Generalization" href="CHESS.profile.uml#_lD7aIMFsEd--atLXXafOiQ"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_iP9kUhQwEeG5-4hJIdbexA" points="[-36, -68, 177, 339]$[-187, -357, 26, 50]"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_jOrPUBQwEeG5-4hJIdbexA" type="4002" source="_q2v34MFtEd--atLXXafOiQ" target="_cvV0YBQwEeG5-4hJIdbexA" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_jOr2YBQwEeG5-4hJIdbexA" type="6007">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_jOr2YRQwEeG5-4hJIdbexA" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_jOrPURQwEeG5-4hJIdbexA" fontHeight="8"/>
+      <element xmi:type="uml:Generalization" href="CHESS.profile.uml#_uUyFAMFtEd--atLXXafOiQ"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_jOrPUhQwEeG5-4hJIdbexA" points="[-84, -61, 423, 309]$[-457, -334, 50, 36]"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_kxyA0BQwEeG5-4hJIdbexA" type="4002" source="_-5YKoMFrEd--atLXXafOiQ" target="_cvV0YBQwEeG5-4hJIdbexA" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_kxyn4BQwEeG5-4hJIdbexA" type="6007">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_kxzO8BQwEeG5-4hJIdbexA" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_kxyA0RQwEeG5-4hJIdbexA" fontHeight="8"/>
+      <element xmi:type="uml:Generalization" href="CHESS.profile.uml#_CHByYMFsEd--atLXXafOiQ"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_kxyA0hQwEeG5-4hJIdbexA" points="[-70, -35, 338, 169]$[-358, -179, 50, 25]"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_oCN20BQwEeG5-4hJIdbexA" type="4002" source="_-IU4sMDdEd-RT45s8cwWMg" target="_oB01QBQwEeG5-4hJIdbexA" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_oCOd4BQwEeG5-4hJIdbexA" type="6007">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_oCOd4RQwEeG5-4hJIdbexA" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_oCN20RQwEeG5-4hJIdbexA" fontHeight="8"/>
+      <element xmi:type="uml:Generalization" href="CHESS.profile.uml#_ENHssMDeEd-RT45s8cwWMg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_oCN20hQwEeG5-4hJIdbexA" points="[-13, -50, 147, 610]$[-160, -660, 0, 0]"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_at0hMBQzEeG5-4hJIdbexA" type="4002" source="_Y-yzkBQzEeG5-4hJIdbexA" target="_6a5P4P3lEeOmz-4FDV-1Kw" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_at1IQBQzEeG5-4hJIdbexA" type="6007">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_at1IQRQzEeG5-4hJIdbexA" x="-5" y="-21"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_at0hMRQzEeG5-4hJIdbexA" fontHeight="8"/>
+      <element xmi:type="uml:Generalization" href="CHESS.profile.uml#_EWWlYBQyEeG5-4hJIdbexA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_at0hMhQzEeG5-4hJIdbexA" points="[-52, -50, 613, 593]$[-665, -643, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_IVkbAP3mEeOmz-4FDV-1Kw" id="(0.825,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_IVkbAf3mEeOmz-4FDV-1Kw" id="(0.0,0.97)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_cFKHkBQzEeG5-4hJIdbexA" type="4002" source="_bkpbgBQzEeG5-4hJIdbexA" target="_6a5P4P3lEeOmz-4FDV-1Kw" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_cFLVsBQzEeG5-4hJIdbexA" type="6007">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_cFLVsRQzEeG5-4hJIdbexA" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_cFKuoBQzEeG5-4hJIdbexA" fontHeight="8"/>
+      <element xmi:type="uml:Generalization" href="CHESS.profile.uml#_Qd4X4BQyEeG5-4hJIdbexA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_cFKuoRQzEeG5-4hJIdbexA" points="[-22, -50, 61, 144]$[-62, -144, 21, 50]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_IVjz8P3mEeOmz-4FDV-1Kw" id="(0.53,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_78JAMP3lEeOmz-4FDV-1Kw" id="(0.23,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_okHioBQzEeG5-4hJIdbexA" type="4002" source="_oDI8gBQzEeG5-4hJIdbexA" target="_6a5P4P3lEeOmz-4FDV-1Kw" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_okIJsBQzEeG5-4hJIdbexA" type="6007">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_okIJsRQzEeG5-4hJIdbexA" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_okHioRQzEeG5-4hJIdbexA" fontHeight="8"/>
+      <element xmi:type="uml:Generalization" href="CHESS.profile.uml#_aiQm4BQyEeG5-4hJIdbexA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_okHiohQzEeG5-4hJIdbexA" points="[-40, -50, 123, 154]$[-123, -154, 40, 50]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_IVjM4f3mEeOmz-4FDV-1Kw" id="(0.16,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8atLgP3lEeOmz-4FDV-1Kw" id="(0.48,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_pxswEBQzEeG5-4hJIdbexA" type="4002" source="_pW1ZABQzEeG5-4hJIdbexA" target="_6a5P4P3lEeOmz-4FDV-1Kw" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_pxswExQzEeG5-4hJIdbexA" type="6007">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_pxswFBQzEeG5-4hJIdbexA" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_pxswERQzEeG5-4hJIdbexA" fontHeight="8"/>
+      <element xmi:type="uml:Generalization" href="CHESS.profile.uml#_2H7iYRQyEeG5-4hJIdbexA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_pxswEhQzEeG5-4hJIdbexA" points="[-76, -37, 370, 175]$[-341, -162, 105, 50]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_IVil0P3mEeOmz-4FDV-1Kw" id="(0.0,0.06)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_IVjM4P3mEeOmz-4FDV-1Kw" id="(1.0,0.76)"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_v37EAMFzEd--atLXXafOiQ" type="PapyrusUMLProfileDiagram" name="DataFlowCallGraph" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_xpLmQMFzEd--atLXXafOiQ" type="1026" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_xpLmQsFzEd--atLXXafOiQ" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_xpLmQ8FzEd--atLXXafOiQ" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_xpLmRMFzEd--atLXXafOiQ" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_xpLmRcFzEd--atLXXafOiQ" key="displayNameLabelIcon_value" value="true"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_xpLmRsFzEd--atLXXafOiQ" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_xpLmR8FzEd--atLXXafOiQ" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_xpLmSMFzEd--atLXXafOiQ" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_xpLmScFzEd--atLXXafOiQ" type="1071">
+        <children xmi:type="notation:Shape" xmi:id="_31sy4MFzEd--atLXXafOiQ" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_31G9AMFzEd--atLXXafOiQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_31sy4cFzEd--atLXXafOiQ"/>
+        </children>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_xpLmSsFzEd--atLXXafOiQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_xpLmS8FzEd--atLXXafOiQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_xpLmTMFzEd--atLXXafOiQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_xpLmTcFzEd--atLXXafOiQ" type="1019">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_xpLmTsFzEd--atLXXafOiQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_xpLmT8FzEd--atLXXafOiQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_xpLmUMFzEd--atLXXafOiQ"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="CHESS.profile.uml#_xo4EQMFzEd--atLXXafOiQ"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_xpLmQcFzEd--atLXXafOiQ" x="195" y="220" width="206"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_0Xhb0MFzEd--atLXXafOiQ" type="1026" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0Xhb0sFzEd--atLXXafOiQ" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0Xhb08FzEd--atLXXafOiQ" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0Xhb1MFzEd--atLXXafOiQ" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0Xhb1cFzEd--atLXXafOiQ" key="displayNameLabelIcon_value" value="true"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0Xhb1sFzEd--atLXXafOiQ" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0Xhb18FzEd--atLXXafOiQ" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_0Xhb2MFzEd--atLXXafOiQ" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_0Xhb2cFzEd--atLXXafOiQ" type="1071">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_0Xhb2sFzEd--atLXXafOiQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_0Xhb28FzEd--atLXXafOiQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0Xhb3MFzEd--atLXXafOiQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_0Xhb3cFzEd--atLXXafOiQ" type="1019">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_0Xhb3sFzEd--atLXXafOiQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_0Xhb38FzEd--atLXXafOiQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0Xhb4MFzEd--atLXXafOiQ"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_9gc2ABKfEdyaWJN1BYon3A"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0Xhb0cFzEd--atLXXafOiQ" x="250" y="65"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_v37EAcFzEd--atLXXafOiQ"/>
+    <element xmi:type="uml:Profile" href="CHESS.profile.uml#_zBudQLwzEd-CDNLmLgazUQ"/>
+    <edges xmi:type="notation:Connector" xmi:id="_1L1NoMFzEd--atLXXafOiQ" type="4002" source="_xpLmQMFzEd--atLXXafOiQ" target="_0Xhb0MFzEd--atLXXafOiQ" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_1L1No8FzEd--atLXXafOiQ" type="6007">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_1L1NpMFzEd--atLXXafOiQ" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_1L1NocFzEd--atLXXafOiQ" fontHeight="8"/>
+      <element xmi:type="uml:Generalization" href="CHESS.profile.uml#_1K71wMFzEd--atLXXafOiQ"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_1L1NosFzEd--atLXXafOiQ" points="[-7, -50, 10, 79]$[-35, -105, -18, 24]"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_1NdlUMFzEd--atLXXafOiQ" id="(0.31,0.76)"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_3OelYMF0Ed--atLXXafOiQ" type="PapyrusUMLProfileDiagram" name="FailurePropagation" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_4m_QcMF0Ed--atLXXafOiQ" type="1026" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4m_QcsF0Ed--atLXXafOiQ" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4m_Qc8F0Ed--atLXXafOiQ" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4m_QdMF0Ed--atLXXafOiQ" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4m_QdcF0Ed--atLXXafOiQ" key="displayNameLabelIcon_value" value="true"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4m_QdsF0Ed--atLXXafOiQ" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4m_Qd8F0Ed--atLXXafOiQ" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_4m_QeMF0Ed--atLXXafOiQ" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_4m_QecF0Ed--atLXXafOiQ" type="1071">
+        <children xmi:type="notation:Shape" xmi:id="_oLOzMMF1Ed--atLXXafOiQ" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_oLFpQMF1Ed--atLXXafOiQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_oLOzMcF1Ed--atLXXafOiQ"/>
+        </children>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_4m_QesF0Ed--atLXXafOiQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_4m_Qe8F0Ed--atLXXafOiQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4m_QfMF0Ed--atLXXafOiQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_4m_QfcF0Ed--atLXXafOiQ" type="1019">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_4m_QfsF0Ed--atLXXafOiQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_4m_Qf8F0Ed--atLXXafOiQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4m_QgMF0Ed--atLXXafOiQ"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="CHESS.profile.uml#_4m1fcMF0Ed--atLXXafOiQ"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4m_QccF0Ed--atLXXafOiQ" x="180" y="160" width="111" height="86"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_sNo4sMF1Ed--atLXXafOiQ" type="1026" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_sNo4ssF1Ed--atLXXafOiQ" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_sNo4s8F1Ed--atLXXafOiQ" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_sNo4tMF1Ed--atLXXafOiQ" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_sNo4tcF1Ed--atLXXafOiQ" key="displayNameLabelIcon_value" value="true"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_sNo4tsF1Ed--atLXXafOiQ" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_sNo4t8F1Ed--atLXXafOiQ" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_sNo4uMF1Ed--atLXXafOiQ" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_sNo4ucF1Ed--atLXXafOiQ" type="1071">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_sNo4usF1Ed--atLXXafOiQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_sNo4u8F1Ed--atLXXafOiQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sNo4vMF1Ed--atLXXafOiQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_sNo4vcF1Ed--atLXXafOiQ" type="1019">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_sNo4vsF1Ed--atLXXafOiQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_sNo4v8F1Ed--atLXXafOiQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sNo4wMF1Ed--atLXXafOiQ"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="CHESS.profile.uml#_sNfHsMF1Ed--atLXXafOiQ"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sNo4scF1Ed--atLXXafOiQ" x="605" y="150" width="136" height="81"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_tsQkEDQ6EeC0ueejuetpgA" type="1031" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_tsQkEjQ6EeC0ueejuetpgA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_tsQkEzQ6EeC0ueejuetpgA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_tsQkFDQ6EeC0ueejuetpgA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_tsQkFTQ6EeC0ueejuetpgA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_tsQkFjQ6EeC0ueejuetpgA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_tsQkFzQ6EeC0ueejuetpgA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_tsQkGjQ6EeC0ueejuetpgA" source="Stereotype_Annotation">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yQ9GkP3gEeOmz-4FDV-1Kw" key="StereotypeWithQualifiedNameList" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yQ9Gkf3gEeOmz-4FDV-1Kw" key="StereotypeList" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yQ9toP3gEeOmz-4FDV-1Kw" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yQ9tof3gEeOmz-4FDV-1Kw" key="PropStereoDisplay" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yQ-UsP3gEeOmz-4FDV-1Kw" key="StereotypePropertyLocation" value="Compartment"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_tsQkGDQ6EeC0ueejuetpgA" type="1084"/>
+      <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Comment"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tsQkGTQ6EeC0ueejuetpgA" x="385" y="75"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_S0hQIDQ7EeC0ueejuetpgA" type="1026" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_S0hQIjQ7EeC0ueejuetpgA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_S0hQIzQ7EeC0ueejuetpgA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_S0hQJDQ7EeC0ueejuetpgA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_S0hQJTQ7EeC0ueejuetpgA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_S0hQJjQ7EeC0ueejuetpgA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_S0hQJzQ7EeC0ueejuetpgA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_S0hQKDQ7EeC0ueejuetpgA" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_S0hQKTQ7EeC0ueejuetpgA" type="1071">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_S0hQKjQ7EeC0ueejuetpgA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_S0hQKzQ7EeC0ueejuetpgA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_S0hQLDQ7EeC0ueejuetpgA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_S0hQLTQ7EeC0ueejuetpgA" type="1019">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_S0hQLjQ7EeC0ueejuetpgA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_S0hQLzQ7EeC0ueejuetpgA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_S0hQMDQ7EeC0ueejuetpgA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_9gc2ABKfEdyaWJN1BYon3A"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_S0hQITQ7EeC0ueejuetpgA" x="600" y="20" width="209"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_aPAOUHpQEeCIAr4_5S9-cA" type="1026" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_aPAOUnpQEeCIAr4_5S9-cA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_aPAOU3pQEeCIAr4_5S9-cA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_aPAOVHpQEeCIAr4_5S9-cA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_aPAOVXpQEeCIAr4_5S9-cA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_aPAOVnpQEeCIAr4_5S9-cA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_aPAOV3pQEeCIAr4_5S9-cA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_aPAOWHpQEeCIAr4_5S9-cA" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_aPAOWXpQEeCIAr4_5S9-cA" type="1071">
+        <children xmi:type="notation:Shape" xmi:id="_jIZQ4HpQEeCIAr4_5S9-cA" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_jIGV8HpQEeCIAr4_5S9-cA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_jIZQ4XpQEeCIAr4_5S9-cA"/>
+        </children>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_aPAOWnpQEeCIAr4_5S9-cA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_aPAOW3pQEeCIAr4_5S9-cA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_aPAOXHpQEeCIAr4_5S9-cA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_aPAOXXpQEeCIAr4_5S9-cA" type="1019">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_aPAOXnpQEeCIAr4_5S9-cA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_aPAOX3pQEeCIAr4_5S9-cA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_aPAOYHpQEeCIAr4_5S9-cA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="CHESS.profile.uml#_aN9sgHpQEeCIAr4_5S9-cA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_aPAOUXpQEeCIAr4_5S9-cA" x="325" y="285" width="161" height="116"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_1FB1kHpQEeCIAr4_5S9-cA" type="1031" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1FB1knpQEeCIAr4_5S9-cA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1FB1k3pQEeCIAr4_5S9-cA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1FB1lHpQEeCIAr4_5S9-cA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1FB1lXpQEeCIAr4_5S9-cA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1FB1lnpQEeCIAr4_5S9-cA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1FB1l3pQEeCIAr4_5S9-cA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1FB1mnpQEeCIAr4_5S9-cA" source="Stereotype_Annotation">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yUMAwP3gEeOmz-4FDV-1Kw" key="StereotypeWithQualifiedNameList" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yUMn0P3gEeOmz-4FDV-1Kw" key="StereotypeList" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yUMn0f3gEeOmz-4FDV-1Kw" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yUMn0v3gEeOmz-4FDV-1Kw" key="PropStereoDisplay" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yUNO4P3gEeOmz-4FDV-1Kw" key="StereotypePropertyLocation" value="Compartment"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_1FB1mHpQEeCIAr4_5S9-cA" type="1084"/>
+      <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1FB1mXpQEeCIAr4_5S9-cA" x="25" y="345"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_cSU7gHpREeCIAr4_5S9-cA" type="1026" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_cSU7gnpREeCIAr4_5S9-cA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_cSU7g3pREeCIAr4_5S9-cA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_cSU7hHpREeCIAr4_5S9-cA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_cSU7hXpREeCIAr4_5S9-cA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_cSU7hnpREeCIAr4_5S9-cA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_cSU7h3pREeCIAr4_5S9-cA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_cSU7iHpREeCIAr4_5S9-cA" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_cSU7iXpREeCIAr4_5S9-cA" type="1071">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_cSU7inpREeCIAr4_5S9-cA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_cSU7i3pREeCIAr4_5S9-cA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cSU7jHpREeCIAr4_5S9-cA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_cSU7jXpREeCIAr4_5S9-cA" type="1019">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_cSU7jnpREeCIAr4_5S9-cA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_cSU7j3pREeCIAr4_5S9-cA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cSU7kHpREeCIAr4_5S9-cA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="CHESS.profile.uml#_cSCAkHpREeCIAr4_5S9-cA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cSU7gXpREeCIAr4_5S9-cA" x="310" y="530"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_nxRrEHpREeCIAr4_5S9-cA" type="1031" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nxRrEnpREeCIAr4_5S9-cA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_nxRrE3pREeCIAr4_5S9-cA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nxRrFHpREeCIAr4_5S9-cA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_nxRrFXpREeCIAr4_5S9-cA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nxRrFnpREeCIAr4_5S9-cA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_nxRrF3pREeCIAr4_5S9-cA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nxRrGnpREeCIAr4_5S9-cA" source="Stereotype_Annotation">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yXyuYP3gEeOmz-4FDV-1Kw" key="StereotypeWithQualifiedNameList" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yXzVcP3gEeOmz-4FDV-1Kw" key="StereotypeList" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yXzVcf3gEeOmz-4FDV-1Kw" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yXzVcv3gEeOmz-4FDV-1Kw" key="PropStereoDisplay" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yXz8gP3gEeOmz-4FDV-1Kw" key="StereotypePropertyLocation" value="Compartment"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_nxRrGHpREeCIAr4_5S9-cA" type="1084"/>
+      <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Slot"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_nxRrGXpREeCIAr4_5S9-cA" x="105" y="565"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_FJL90HriEeCZzfQgCDrHbQ" type="1026" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_FJVu0HriEeCZzfQgCDrHbQ" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FJVu0XriEeCZzfQgCDrHbQ" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_FJVu0nriEeCZzfQgCDrHbQ" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FJVu03riEeCZzfQgCDrHbQ" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_FJVu1HriEeCZzfQgCDrHbQ" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FJVu1XriEeCZzfQgCDrHbQ" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_FJVu1nriEeCZzfQgCDrHbQ" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_FJVu13riEeCZzfQgCDrHbQ" type="1071">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_FJVu2HriEeCZzfQgCDrHbQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_FJVu2XriEeCZzfQgCDrHbQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FJVu2nriEeCZzfQgCDrHbQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_FJVu23riEeCZzfQgCDrHbQ" type="1019">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_FJVu3HriEeCZzfQgCDrHbQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_FJVu3XriEeCZzfQgCDrHbQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FJVu3nriEeCZzfQgCDrHbQ"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="CHESS.profile.uml#_y0zvEDQ2EeC0ueejuetpgA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FJL90XriEeCZzfQgCDrHbQ" x="105"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_Z6tuYAFdEeG47Njvphl3lQ" type="1026" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Z6z1AAFdEeG47Njvphl3lQ" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Z6z1AQFdEeG47Njvphl3lQ" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Z6z1AgFdEeG47Njvphl3lQ" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Z6z1AwFdEeG47Njvphl3lQ" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Z6z1BAFdEeG47Njvphl3lQ" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Z6z1BQFdEeG47Njvphl3lQ" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_Z6z1BgFdEeG47Njvphl3lQ" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_Z6z1BwFdEeG47Njvphl3lQ" type="1071">
+        <children xmi:type="notation:Shape" xmi:id="_oUG10AFdEeG47Njvphl3lQ" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_oTEUAAFdEeG47Njvphl3lQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_oUG10QFdEeG47Njvphl3lQ"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_Z6z1CAFdEeG47Njvphl3lQ"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_Z657oAFdEeG47Njvphl3lQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_Z657oQFdEeG47Njvphl3lQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Z657ogFdEeG47Njvphl3lQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_Z657owFdEeG47Njvphl3lQ" type="1019">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_Z657pAFdEeG47Njvphl3lQ"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_Z657pQFdEeG47Njvphl3lQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_Z657pgFdEeG47Njvphl3lQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Z657pwFdEeG47Njvphl3lQ"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="CHESS.profile.uml#_Z6PNQAFdEeG47Njvphl3lQ"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Z6tuYQFdEeG47Njvphl3lQ" x="15" y="155"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_FfjcUAFeEeG47Njvphl3lQ" type="1026" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_FfjcUgFeEeG47Njvphl3lQ" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FfjcUwFeEeG47Njvphl3lQ" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_FfjcVAFeEeG47Njvphl3lQ" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FfjcVQFeEeG47Njvphl3lQ" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_FfjcVgFeEeG47Njvphl3lQ" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FfjcVwFeEeG47Njvphl3lQ" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_FfjcWAFeEeG47Njvphl3lQ" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_FfjcWQFeEeG47Njvphl3lQ" type="1071">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_FfjcWgFeEeG47Njvphl3lQ"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_FfjcWwFeEeG47Njvphl3lQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_FfjcXAFeEeG47Njvphl3lQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FfjcXQFeEeG47Njvphl3lQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_FfjcXgFeEeG47Njvphl3lQ" type="1019">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_FfjcXwFeEeG47Njvphl3lQ"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_FfjcYAFeEeG47Njvphl3lQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_FfjcYQFeEeG47Njvphl3lQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FfjcYgFeEeG47Njvphl3lQ"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="CHESS.profile.uml#_FfQhYAFeEeG47Njvphl3lQ"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FfjcUQFeEeG47Njvphl3lQ" x="495" y="470" width="96" height="91"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_qXJZsAFfEeG47Njvphl3lQ" type="1026" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qXJZsgFfEeG47Njvphl3lQ" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qXJZswFfEeG47Njvphl3lQ" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qXJZtAFfEeG47Njvphl3lQ" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qXJZtQFfEeG47Njvphl3lQ" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qXJZtgFfEeG47Njvphl3lQ" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qXJZtwFfEeG47Njvphl3lQ" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_qXJZuAFfEeG47Njvphl3lQ" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_qXJZuQFfEeG47Njvphl3lQ" type="1071">
+        <children xmi:type="notation:Shape" xmi:id="_vbjHsAFfEeG47Njvphl3lQ" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_vbGbwAFfEeG47Njvphl3lQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_vbjHsQFfEeG47Njvphl3lQ"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_0EoLoAFfEeG47Njvphl3lQ" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_0EPKEAFfEeG47Njvphl3lQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_0EoysAFfEeG47Njvphl3lQ"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_P64g0AFgEeG47Njvphl3lQ" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_P6mM8AFgEeG47Njvphl3lQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_P64g0QFgEeG47Njvphl3lQ"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_VHGuEAFgEeG47Njvphl3lQ" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_VGqCIAFgEeG47Njvphl3lQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_VHGuEQFgEeG47Njvphl3lQ"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_qXJZugFfEeG47Njvphl3lQ"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_qXJZuwFfEeG47Njvphl3lQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_qXJZvAFfEeG47Njvphl3lQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qXJZvQFfEeG47Njvphl3lQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_qXJZvgFfEeG47Njvphl3lQ" type="1019">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_qXJZvwFfEeG47Njvphl3lQ"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_qXJZwAFfEeG47Njvphl3lQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_qXJZwQFfEeG47Njvphl3lQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qXJZwgFfEeG47Njvphl3lQ"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="CHESS.profile.uml#_qWq4kAFfEeG47Njvphl3lQ"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qXJZsQFfEeG47Njvphl3lQ" x="660" y="275" width="146" height="106"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_drUx4AFgEeG47Njvphl3lQ" type="1026" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_drUx4gFgEeG47Njvphl3lQ" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_drUx4wFgEeG47Njvphl3lQ" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_drUx5AFgEeG47Njvphl3lQ" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_drVY8AFgEeG47Njvphl3lQ" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_drVY8QFgEeG47Njvphl3lQ" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_drVY8gFgEeG47Njvphl3lQ" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_drVY8wFgEeG47Njvphl3lQ" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_drVY9AFgEeG47Njvphl3lQ" type="1071">
+        <children xmi:type="notation:Shape" xmi:id="_HnPaMAFhEeG47Njvphl3lQ" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_HmyuQAFhEeG47Njvphl3lQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_HnPaMQFhEeG47Njvphl3lQ"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_l0Vq8AFhEeG47Njvphl3lQ" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_lz4_AAFhEeG47Njvphl3lQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_l0Vq8QFhEeG47Njvphl3lQ"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_qCAlQAFhEeG47Njvphl3lQ" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_qBuRYAFhEeG47Njvphl3lQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_qCAlQQFhEeG47Njvphl3lQ"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_tDD7cAFhEeG47Njvphl3lQ" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_tCrg8AFhEeG47Njvphl3lQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_tDD7cQFhEeG47Njvphl3lQ"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_drVY9QFgEeG47Njvphl3lQ"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_drVY9gFgEeG47Njvphl3lQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_drVY9wFgEeG47Njvphl3lQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_drVY-AFgEeG47Njvphl3lQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_drVY-QFgEeG47Njvphl3lQ" type="1019">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_drVY-gFgEeG47Njvphl3lQ"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_drVY-wFgEeG47Njvphl3lQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_drVY_AFgEeG47Njvphl3lQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_drVY_QFgEeG47Njvphl3lQ"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="CHESS.profile.uml#_dq5UEAFgEeG47Njvphl3lQ"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_drUx4QFgEeG47Njvphl3lQ" x="665" y="448" width="136" height="123"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_snyOwCV-EeGFef9zQOfShA" type="1026" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_snzc4CV-EeGFef9zQOfShA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_snzc4SV-EeGFef9zQOfShA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_snzc4iV-EeGFef9zQOfShA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_snzc4yV-EeGFef9zQOfShA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_sn0D8CV-EeGFef9zQOfShA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_sn0D8SV-EeGFef9zQOfShA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_sn0D8iV-EeGFef9zQOfShA" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_sn0D8yV-EeGFef9zQOfShA" type="1071">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_sn0D9CV-EeGFef9zQOfShA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_sn0D9SV-EeGFef9zQOfShA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_sn0D9iV-EeGFef9zQOfShA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sn0D9yV-EeGFef9zQOfShA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_sn0D-CV-EeGFef9zQOfShA" type="1019">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_sn0D-SV-EeGFef9zQOfShA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_sn0D-iV-EeGFef9zQOfShA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_sn0D-yV-EeGFef9zQOfShA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sn0D_CV-EeGFef9zQOfShA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="CHESS.profile.uml#_sm3owCV-EeGFef9zQOfShA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_snyOwSV-EeGFef9zQOfShA" x="775" y="150"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_3OelYcF0Ed--atLXXafOiQ"/>
+    <element xmi:type="uml:Profile" href="CHESS.profile.uml#_hdOrwLwzEd-CDNLmLgazUQ"/>
+    <edges xmi:type="notation:Connector" xmi:id="_TjnKwDQ7EeC0ueejuetpgA" type="4002" source="_sNo4sMF1Ed--atLXXafOiQ" target="_S0hQIDQ7EeC0ueejuetpgA" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_TjnKwzQ7EeC0ueejuetpgA" type="6007">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_TjnKxDQ7EeC0ueejuetpgA" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_TjnKwTQ7EeC0ueejuetpgA" fontHeight="8"/>
+      <element xmi:type="uml:Generalization" href="CHESS.profile.uml#_TjKe0DQ7EeC0ueejuetpgA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_TjnKwjQ7EeC0ueejuetpgA" points="[-1, -28, 17, 115]$[-121, -193, -103, -50]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_TkNAoDQ7EeC0ueejuetpgA" id="(0.6893203883495146,0.19858156028368795)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_uS-OsDROEeCPrptoDUJcNQ" type="1013" source="_4m_QcMF0Ed--atLXXafOiQ" target="_tsQkEDQ6EeC0ueejuetpgA" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_uS-OsTROEeCPrptoDUJcNQ" fontHeight="8"/>
+      <element xmi:type="uml:Extension" href="CHESS.profile.uml#_uSrTwTROEeCPrptoDUJcNQ"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_uS-OsjROEeCPrptoDUJcNQ" points="[3, -21, -38, 135]$[91, -143, 50, 13]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_uTt1kDROEeCPrptoDUJcNQ" id="(0.5677966101694916,0.14482758620689656)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_hg-nIHpQEeCIAr4_5S9-cA" type="1013" source="_aPAOUHpQEeCIAr4_5S9-cA" target="_tsQkEDQ6EeC0ueejuetpgA" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_hg-nIXpQEeCIAr4_5S9-cA" fontHeight="8"/>
+      <element xmi:type="uml:Extension" href="CHESS.profile.uml#_hgh7MXpQEeCIAr4_5S9-cA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_hg-nInpQEeCIAr4_5S9-cA" points="[3, -9, 12, 315]$[41, -322, 50, 2]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_hhbTEHpQEeCIAr4_5S9-cA" id="(0.7045454545454546,0.09375)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_65RFEHpQEeCIAr4_5S9-cA" type="4001" source="_aPAOUHpQEeCIAr4_5S9-cA" target="_1FB1kHpQEeCIAr4_5S9-cA" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_65RFE3pQEeCIAr4_5S9-cA" type="6001">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_65RFFHpQEeCIAr4_5S9-cA" y="60"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_65RFFXpQEeCIAr4_5S9-cA" type="6002">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_65RFFnpQEeCIAr4_5S9-cA" x="-27" y="23"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_65RFF3pQEeCIAr4_5S9-cA" type="6003">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_65RFGHpQEeCIAr4_5S9-cA" y="20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_65RFGXpQEeCIAr4_5S9-cA" type="6005">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_65RFGnpQEeCIAr4_5S9-cA" x="84" y="-43"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_65RFG3pQEeCIAr4_5S9-cA" type="6033">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_65RFHHpQEeCIAr4_5S9-cA" y="20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_65RFHXpQEeCIAr4_5S9-cA" type="6034">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_65RFHnpQEeCIAr4_5S9-cA" y="-20"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_65RFEXpQEeCIAr4_5S9-cA" fontHeight="8"/>
+      <element xmi:type="uml:Association" href="CHESS.profile.uml#_640ZI3pQEeCIAr4_5S9-cA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_65RFEnpQEeCIAr4_5S9-cA" points="[-88, -12, 218, 20]$[-310, -57, -4, -25]"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_eMXmUHpREeCIAr4_5S9-cA" type="4001" source="_cSU7gHpREeCIAr4_5S9-cA" target="_aPAOUHpQEeCIAr4_5S9-cA" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_eMXmU3pREeCIAr4_5S9-cA" type="6001">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_eMXmVHpREeCIAr4_5S9-cA" y="60"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_eMXmVXpREeCIAr4_5S9-cA" type="6002">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_eMXmVnpREeCIAr4_5S9-cA" y="20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_eMXmV3pREeCIAr4_5S9-cA" type="6003">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_eMXmWHpREeCIAr4_5S9-cA" y="20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_eMXmWXpREeCIAr4_5S9-cA" type="6005">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_eMXmWnpREeCIAr4_5S9-cA" y="-20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_eMXmW3pREeCIAr4_5S9-cA" type="6033">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_eMXmXHpREeCIAr4_5S9-cA" y="20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_eMXmXXpREeCIAr4_5S9-cA" type="6034">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_eMXmXnpREeCIAr4_5S9-cA" y="-20"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_eMXmUXpREeCIAr4_5S9-cA" fontHeight="8"/>
+      <element xmi:type="uml:Association" href="CHESS.profile.uml#_eMErYHpREeCIAr4_5S9-cA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_eMXmUnpREeCIAr4_5S9-cA" points="[-2, -22, 33, 113]$[53, -128, 88, 7]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_eM0SQHpREeCIAr4_5S9-cA" id="(0.59,0.22)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_oNvkoHpREeCIAr4_5S9-cA" type="1013" source="_cSU7gHpREeCIAr4_5S9-cA" target="_nxRrEHpREeCIAr4_5S9-cA" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_oNvkoXpREeCIAr4_5S9-cA" fontHeight="8"/>
+      <element xmi:type="uml:Extension" href="CHESS.profile.uml#_oNcpsXpREeCIAr4_5S9-cA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_oNvkonpREeCIAr4_5S9-cA" points="[-6, -1, 248, 21]$[-219, -47, 35, -25]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_oOMQkHpREeCIAr4_5S9-cA" id="(0.06,0.27)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_GIhT4HriEeCZzfQgCDrHbQ" type="4002" source="_4m_QcMF0Ed--atLXXafOiQ" target="_FJL90HriEeCZzfQgCDrHbQ" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_GIhT43riEeCZzfQgCDrHbQ" type="6007">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_GIhT5HriEeCZzfQgCDrHbQ" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_GIhT4XriEeCZzfQgCDrHbQ" fontHeight="8"/>
+      <element xmi:type="uml:Generalization" href="CHESS.profile.uml#_GHeyEHriEeCZzfQgCDrHbQ"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_GIhT4nriEeCZzfQgCDrHbQ" points="[0, -11, 4, 95]$[0, -56, 4, 50]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GJHJwHriEeCZzfQgCDrHbQ" id="(0.5296610169491526,0.07586206896551724)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_bLR-YAFdEeG47Njvphl3lQ" type="4002" source="_Z6tuYAFdEeG47Njvphl3lQ" target="_FJL90HriEeCZzfQgCDrHbQ" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_bLR-YwFdEeG47Njvphl3lQ" type="6007">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_bLR-ZAFdEeG47Njvphl3lQ" x="-19" y="-20"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_bLR-YQFdEeG47Njvphl3lQ" fontHeight="8"/>
+      <element xmi:type="uml:Generalization" href="CHESS.profile.uml#_bKzdQAFdEeG47Njvphl3lQ"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_bLR-YgFdEeG47Njvphl3lQ" points="[-50, -20, 235, 93]$[-266, -95, 19, 18]"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bLqY4AFdEeG47Njvphl3lQ" id="(0.8035714285714286,0.82)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_HvOY4AFeEeG47Njvphl3lQ" type="4002" source="_FfjcUAFeEeG47Njvphl3lQ" target="_aPAOUHpQEeCIAr4_5S9-cA" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_HvOY4wFeEeG47Njvphl3lQ" type="6007">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_HvOY5AFeEeG47Njvphl3lQ" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_HvOY4QFeEeG47Njvphl3lQ" fontHeight="8"/>
+      <element xmi:type="uml:Generalization" href="CHESS.profile.uml#_Hu7d8AFeEeG47Njvphl3lQ"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_HvOY4gFeEeG47Njvphl3lQ" points="[-53, -40, 110, 85]$[-149, -118, 14, 7]"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Hv010AFeEeG47Njvphl3lQ" id="(0.9130434782608695,0.8189655172413793)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_7ysqkAFfEeG47Njvphl3lQ" type="1013" source="_qXJZsAFfEeG47Njvphl3lQ" target="_tsQkEDQ6EeC0ueejuetpgA" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_7ysqkQFfEeG47Njvphl3lQ" fontHeight="8"/>
+      <element xmi:type="uml:Extension" href="CHESS.profile.uml#_7yOJcQFfEeG47Njvphl3lQ"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_7ysqkgFfEeG47Njvphl3lQ" points="[-18, -21, 284, 315]$[-252, -331, 50, 5]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7y--cAFfEeG47Njvphl3lQ" id="(0.1506849315068493,0.17355371900826447)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_ha-TcAFgEeG47Njvphl3lQ" type="1013" source="_drUx4AFgEeG47Njvphl3lQ" target="_tsQkEDQ6EeC0ueejuetpgA" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_ha-TcQFgEeG47Njvphl3lQ" fontHeight="8"/>
+      <element xmi:type="uml:Extension" href="CHESS.profile.uml#_hafLQAFgEeG47Njvphl3lQ"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ha-TcgFgEeG47Njvphl3lQ" points="[-12, -19, 250, 358]$[-219, -352, 43, 25]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_hbWG4AFgEeG47Njvphl3lQ" id="(0.12,0.29)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_yTVcUCV-EeGFef9zQOfShA" type="4002" source="_snyOwCV-EeGFef9zQOfShA" target="_S0hQIDQ7EeC0ueejuetpgA" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_yTWqcCV-EeGFef9zQOfShA" type="6007">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_yTWqcSV-EeGFef9zQOfShA" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_yTVcUSV-EeGFef9zQOfShA" fontHeight="8"/>
+      <element xmi:type="uml:Generalization" href="CHESS.profile.uml#_yRbX0CV-EeGFef9zQOfShA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_yTVcUiV-EeGFef9zQOfShA" points="[-22, -50, 45, 105]$[-23, -141, 44, 14]"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yTa74CV-EeGFef9zQOfShA" id="(0.7894736842105263,0.7)"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_Q1L50MF1Ed--atLXXafOiQ" type="PapyrusUMLClassDiagram" name="FailurePropagationDataTypes" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_Uh-UoMF1Ed--atLXXafOiQ" type="2006" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Uh-UosF1Ed--atLXXafOiQ" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Uh-Uo8F1Ed--atLXXafOiQ" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Uh-UpMF1Ed--atLXXafOiQ" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Uh-UpcF1Ed--atLXXafOiQ" key="displayNameLabelIcon_value" value="true"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Uh-UpsF1Ed--atLXXafOiQ" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Uh-Up8F1Ed--atLXXafOiQ" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_Uh-UqMF1Ed--atLXXafOiQ" type="5023"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_Uh-UqcF1Ed--atLXXafOiQ" type="7015">
+        <children xmi:type="notation:Shape" xmi:id="_XFSl8MF1Ed--atLXXafOiQ" type="3017" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:EnumerationLiteral" href="CHESS.profile.uml#_XE_rAMF1Ed--atLXXafOiQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_XFSl8cF1Ed--atLXXafOiQ"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_XrSO8MF1Ed--atLXXafOiQ" type="3017" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:EnumerationLiteral" href="CHESS.profile.uml#_XrJFAMF1Ed--atLXXafOiQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_XrSO8cF1Ed--atLXXafOiQ"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_Yf47sMF1Ed--atLXXafOiQ" type="3017" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:EnumerationLiteral" href="CHESS.profile.uml#_YfmAwMF1Ed--atLXXafOiQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_Yf47scF1Ed--atLXXafOiQ"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_ZhKLcMF1Ed--atLXXafOiQ" type="3017" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:EnumerationLiteral" href="CHESS.profile.uml#_ZhAacMF1Ed--atLXXafOiQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_ZhKLccF1Ed--atLXXafOiQ"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_avF-MMF1Ed--atLXXafOiQ" type="3017" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:EnumerationLiteral" href="CHESS.profile.uml#_au8NMMF1Ed--atLXXafOiQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_avF-McF1Ed--atLXXafOiQ"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_cFqvkMF1Ed--atLXXafOiQ" type="3017" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:EnumerationLiteral" href="CHESS.profile.uml#_cFhloMF1Ed--atLXXafOiQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_cFqvkcF1Ed--atLXXafOiQ"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_c76bEMF1Ed--atLXXafOiQ" type="3017" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:EnumerationLiteral" href="CHESS.profile.uml#_c7wqEMF1Ed--atLXXafOiQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_c76bEcF1Ed--atLXXafOiQ"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_d3EbwMF1Ed--atLXXafOiQ" type="3017" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:EnumerationLiteral" href="CHESS.profile.uml#_d27R0MF1Ed--atLXXafOiQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_d3EbwcF1Ed--atLXXafOiQ"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_e2QA0MF1Ed--atLXXafOiQ" type="3017" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:EnumerationLiteral" href="CHESS.profile.uml#_e19F4MF1Ed--atLXXafOiQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_e2QA0cF1Ed--atLXXafOiQ"/>
+        </children>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_Uh-UqsF1Ed--atLXXafOiQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_Uh-Uq8F1Ed--atLXXafOiQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Uh-UrMF1Ed--atLXXafOiQ"/>
+      </children>
+      <element xmi:type="uml:Enumeration" href="CHESS.profile.uml#_UhqyoMF1Ed--atLXXafOiQ"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Uh-UocF1Ed--atLXXafOiQ" x="150" y="40" width="173" height="211"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_L-pJMAFqEeG8pcRsGxyl6w" type="2006" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_L-pJMgFqEeG8pcRsGxyl6w" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_L-pJMwFqEeG8pcRsGxyl6w" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_L-pJNAFqEeG8pcRsGxyl6w" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_L-pJNQFqEeG8pcRsGxyl6w" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_L-pJNgFqEeG8pcRsGxyl6w" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_L-pJNwFqEeG8pcRsGxyl6w" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_L-pJOAFqEeG8pcRsGxyl6w" type="5023"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_L-pJOQFqEeG8pcRsGxyl6w" type="7015">
+        <children xmi:type="notation:Shape" xmi:id="_N9whQAFqEeG8pcRsGxyl6w" type="3017" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:EnumerationLiteral" href="CHESS.profile.uml#_R9NLoAFlEeGITcsal1T3Og"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_N9whQQFqEeG8pcRsGxyl6w" x="45" y="42"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_ONHL4AFqEeG8pcRsGxyl6w" type="3017" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:EnumerationLiteral" href="CHESS.profile.uml#_Gn6goQFgEeG47Njvphl3lQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_ONHL4QFqEeG8pcRsGxyl6w" x="45" y="43"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_OaNMsAFqEeG8pcRsGxyl6w" type="3017" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:EnumerationLiteral" href="CHESS.profile.uml#_Gn6gogFgEeG47Njvphl3lQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_OaNMsQFqEeG8pcRsGxyl6w" x="47" y="54"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_L-pJOgFqEeG8pcRsGxyl6w"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_L-pJOwFqEeG8pcRsGxyl6w"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_L-pJPAFqEeG8pcRsGxyl6w"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_L-pJPQFqEeG8pcRsGxyl6w"/>
+      </children>
+      <element xmi:type="uml:Enumeration" href="CHESS.profile.uml#_zutbcAFeEeG47Njvphl3lQ"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_L-pJMQFqEeG8pcRsGxyl6w" x="375" y="39" height="86"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_NWlMgAFqEeG8pcRsGxyl6w" type="2006" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_NWlMggFqEeG8pcRsGxyl6w" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_NWlMgwFqEeG8pcRsGxyl6w" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_NWlMhAFqEeG8pcRsGxyl6w" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_NWlMhQFqEeG8pcRsGxyl6w" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_NWlMhgFqEeG8pcRsGxyl6w" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_NWlMhwFqEeG8pcRsGxyl6w" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_NWlMiAFqEeG8pcRsGxyl6w" type="5023"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_NWlMiQFqEeG8pcRsGxyl6w" type="7015">
+        <children xmi:type="notation:Shape" xmi:id="_RoftoAFqEeG8pcRsGxyl6w" type="3017" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:EnumerationLiteral" href="CHESS.profile.uml#_VxBbgAFlEeGITcsal1T3Og"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_RoftoQFqEeG8pcRsGxyl6w" x="56" y="13"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_R1wGgAFqEeG8pcRsGxyl6w" type="3017" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:EnumerationLiteral" href="CHESS.profile.uml#_EK0okAFfEeG47Njvphl3lQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_R1wGgQFqEeG8pcRsGxyl6w" x="55" y="17"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_SCuLgAFqEeG8pcRsGxyl6w" type="3017" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:EnumerationLiteral" href="CHESS.profile.uml#_GOGH4AFfEeG47Njvphl3lQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_SCuLgQFqEeG8pcRsGxyl6w" x="34" y="36"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_NWlMigFqEeG8pcRsGxyl6w"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_NWlMiwFqEeG8pcRsGxyl6w"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_NWlMjAFqEeG8pcRsGxyl6w"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NWlMjQFqEeG8pcRsGxyl6w"/>
+      </children>
+      <element xmi:type="uml:Enumeration" href="CHESS.profile.uml#__14BkAFeEeG47Njvphl3lQ"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NWlMgQFqEeG8pcRsGxyl6w" x="375" y="140"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_SjFGkAFqEeG8pcRsGxyl6w" type="2006" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_SjFGkgFqEeG8pcRsGxyl6w" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_SjFGkwFqEeG8pcRsGxyl6w" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_SjFGlAFqEeG8pcRsGxyl6w" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_SjFGlQFqEeG8pcRsGxyl6w" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_SjFGlgFqEeG8pcRsGxyl6w" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_SjFGlwFqEeG8pcRsGxyl6w" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_SjFGmAFqEeG8pcRsGxyl6w" type="5023"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_SjFGmQFqEeG8pcRsGxyl6w" type="7015">
+        <children xmi:type="notation:Shape" xmi:id="_TNmDMAFqEeG8pcRsGxyl6w" type="3017" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:EnumerationLiteral" href="CHESS.profile.uml#_VgUGAAFlEeGITcsal1T3Og"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_TNmDMQFqEeG8pcRsGxyl6w" x="59" y="25"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_TcmIgAFqEeG8pcRsGxyl6w" type="3017" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:EnumerationLiteral" href="CHESS.profile.uml#_B8CAUQFgEeG47Njvphl3lQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_TcmIgQFqEeG8pcRsGxyl6w" x="41" y="30"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_TtSP4AFqEeG8pcRsGxyl6w" type="3017" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:EnumerationLiteral" href="CHESS.profile.uml#_B8CAUgFgEeG47Njvphl3lQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_TtSP4QFqEeG8pcRsGxyl6w" x="49" y="48"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_SjFGmgFqEeG8pcRsGxyl6w"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_SjFGmwFqEeG8pcRsGxyl6w"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_SjFGnAFqEeG8pcRsGxyl6w"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SjFGnQFqEeG8pcRsGxyl6w"/>
+      </children>
+      <element xmi:type="uml:Enumeration" href="CHESS.profile.uml#_B8CAUAFgEeG47Njvphl3lQ"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SjFGkQFqEeG8pcRsGxyl6w" x="375" y="255"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_U33MoAFqEeG8pcRsGxyl6w" type="2006" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_U33MogFqEeG8pcRsGxyl6w" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_U33MowFqEeG8pcRsGxyl6w" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_U33MpAFqEeG8pcRsGxyl6w" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_U33MpQFqEeG8pcRsGxyl6w" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_U33MpgFqEeG8pcRsGxyl6w" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_U33MpwFqEeG8pcRsGxyl6w" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_U33MqAFqEeG8pcRsGxyl6w" type="5023"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_U33MqQFqEeG8pcRsGxyl6w" type="7015">
+        <children xmi:type="notation:Shape" xmi:id="_Vm6D8AFqEeG8pcRsGxyl6w" type="3017" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:EnumerationLiteral" href="CHESS.profile.uml#_R9NLoAFlEeGITcsal1T3Og"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_Vm6D8QFqEeG8pcRsGxyl6w" x="65" y="31"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_V14UEAFqEeG8pcRsGxyl6w" type="3017" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:EnumerationLiteral" href="CHESS.profile.uml#_Gn6goQFgEeG47Njvphl3lQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_V14UEQFqEeG8pcRsGxyl6w" x="51" y="46"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_WG06IAFqEeG8pcRsGxyl6w" type="3017" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:EnumerationLiteral" href="CHESS.profile.uml#_Gn6gogFgEeG47Njvphl3lQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_WG06IQFqEeG8pcRsGxyl6w" x="53" y="53"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_U33MqgFqEeG8pcRsGxyl6w"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_U33MqwFqEeG8pcRsGxyl6w"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_U33MrAFqEeG8pcRsGxyl6w"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_U33MrQFqEeG8pcRsGxyl6w"/>
+      </children>
+      <element xmi:type="uml:Enumeration" href="CHESS.profile.uml#_Gn6goAFgEeG47Njvphl3lQ"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_U33MoQFqEeG8pcRsGxyl6w" x="375" y="370"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_X2h9MAFqEeG8pcRsGxyl6w" type="2006" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_X2h9MgFqEeG8pcRsGxyl6w" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_X2h9MwFqEeG8pcRsGxyl6w" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_X2h9NAFqEeG8pcRsGxyl6w" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_X2h9NQFqEeG8pcRsGxyl6w" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_X2h9NgFqEeG8pcRsGxyl6w" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_X2h9NwFqEeG8pcRsGxyl6w" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_X2h9OAFqEeG8pcRsGxyl6w" type="5023"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_X2h9OQFqEeG8pcRsGxyl6w" type="7015">
+        <children xmi:type="notation:Shape" xmi:id="_YmNtsAFqEeG8pcRsGxyl6w" type="3017" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:EnumerationLiteral" href="CHESS.profile.uml#_W2YhEAFlEeGITcsal1T3Og"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_YmNtsQFqEeG8pcRsGxyl6w" x="52" y="33"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_YmyVcAFqEeG8pcRsGxyl6w" type="3017" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:EnumerationLiteral" href="CHESS.profile.uml#_jO-nsQFgEeG47Njvphl3lQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_YmyVcQFqEeG8pcRsGxyl6w" x="52" y="33"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_YnKv8AFqEeG8pcRsGxyl6w" type="3017" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:EnumerationLiteral" href="CHESS.profile.uml#_oVyJcAFgEeG47Njvphl3lQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_YnKv8QFqEeG8pcRsGxyl6w" x="52" y="33"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_YnpREAFqEeG8pcRsGxyl6w" type="3017" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:EnumerationLiteral" href="CHESS.profile.uml#_jO-nsgFgEeG47Njvphl3lQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_YnpREQFqEeG8pcRsGxyl6w" x="52" y="33"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_X2h9OgFqEeG8pcRsGxyl6w"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_X2h9OwFqEeG8pcRsGxyl6w"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_X2h9PAFqEeG8pcRsGxyl6w"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_X2h9PQFqEeG8pcRsGxyl6w"/>
+      </children>
+      <element xmi:type="uml:Enumeration" href="CHESS.profile.uml#_jO-nsAFgEeG47Njvphl3lQ"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_X2h9MQFqEeG8pcRsGxyl6w" x="520" y="40"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_ZE3YkAFqEeG8pcRsGxyl6w" type="2006" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ZE9fMAFqEeG8pcRsGxyl6w" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ZE9fMQFqEeG8pcRsGxyl6w" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ZE9fMgFqEeG8pcRsGxyl6w" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ZE9fMwFqEeG8pcRsGxyl6w" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ZE9fNAFqEeG8pcRsGxyl6w" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ZE9fNQFqEeG8pcRsGxyl6w" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_ZE9fNgFqEeG8pcRsGxyl6w" type="5023"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_ZE9fNwFqEeG8pcRsGxyl6w" type="7015">
+        <children xmi:type="notation:Shape" xmi:id="_ZzHlsAFqEeG8pcRsGxyl6w" type="3017" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:EnumerationLiteral" href="CHESS.profile.uml#_XMRRgAFlEeGITcsal1T3Og"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_ZzHlsQFqEeG8pcRsGxyl6w" x="42" y="32"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_ZzyUEAFqEeG8pcRsGxyl6w" type="3017" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:EnumerationLiteral" href="CHESS.profile.uml#_rQws0QFgEeG47Njvphl3lQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_ZzyUEQFqEeG8pcRsGxyl6w" x="42" y="32"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_Z0W70AFqEeG8pcRsGxyl6w" type="3017" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:EnumerationLiteral" href="CHESS.profile.uml#_rQws0gFgEeG47Njvphl3lQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_Z0W70QFqEeG8pcRsGxyl6w" x="42" y="32"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_Z0vWUAFqEeG8pcRsGxyl6w" type="3017" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:EnumerationLiteral" href="CHESS.profile.uml#_rQws0wFgEeG47Njvphl3lQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_Z0vWUQFqEeG8pcRsGxyl6w" x="42" y="32"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_ZE9fOAFqEeG8pcRsGxyl6w"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_ZE9fOQFqEeG8pcRsGxyl6w"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_ZE9fOgFqEeG8pcRsGxyl6w"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ZE9fOwFqEeG8pcRsGxyl6w"/>
+      </children>
+      <element xmi:type="uml:Enumeration" href="CHESS.profile.uml#_rQws0AFgEeG47Njvphl3lQ"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ZE3YkQFqEeG8pcRsGxyl6w" x="520" y="145"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_aUNgkAFqEeG8pcRsGxyl6w" type="2006" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_aUTnMAFqEeG8pcRsGxyl6w" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_aUTnMQFqEeG8pcRsGxyl6w" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_aUTnMgFqEeG8pcRsGxyl6w" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_aUTnMwFqEeG8pcRsGxyl6w" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_aUTnNAFqEeG8pcRsGxyl6w" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_aUTnNQFqEeG8pcRsGxyl6w" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_aUTnNgFqEeG8pcRsGxyl6w" type="5023"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_aUTnNwFqEeG8pcRsGxyl6w" type="7015">
+        <children xmi:type="notation:Shape" xmi:id="_a1xVgAFqEeG8pcRsGxyl6w" type="3017" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:EnumerationLiteral" href="CHESS.profile.uml#_XZPWgAFlEeGITcsal1T3Og"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_a1xVgQFqEeG8pcRsGxyl6w" x="53" y="40"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_a2cD4AFqEeG8pcRsGxyl6w" type="3017" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:EnumerationLiteral" href="CHESS.profile.uml#_zPfd8QFgEeG47Njvphl3lQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_a2cD4QFqEeG8pcRsGxyl6w" x="53" y="40"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_a3J1kAFqEeG8pcRsGxyl6w" type="3017" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:EnumerationLiteral" href="CHESS.profile.uml#_zPfd8gFgEeG47Njvphl3lQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_a3J1kQFqEeG8pcRsGxyl6w" x="53" y="40"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_a3mhgAFqEeG8pcRsGxyl6w" type="3017" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:EnumerationLiteral" href="CHESS.profile.uml#_zPfd8wFgEeG47Njvphl3lQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_a3mhgQFqEeG8pcRsGxyl6w" x="53" y="40"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_aUTnOAFqEeG8pcRsGxyl6w"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_aUTnOQFqEeG8pcRsGxyl6w"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_aUTnOgFqEeG8pcRsGxyl6w"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_aUTnOwFqEeG8pcRsGxyl6w"/>
+      </children>
+      <element xmi:type="uml:Enumeration" href="CHESS.profile.uml#_zPfd8AFgEeG47Njvphl3lQ"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_aUNgkQFqEeG8pcRsGxyl6w" x="520" y="255"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_br0zwAFqEeG8pcRsGxyl6w" type="2006" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_br99sAFqEeG8pcRsGxyl6w" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_br99sQFqEeG8pcRsGxyl6w" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_br99sgFqEeG8pcRsGxyl6w" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_br99swFqEeG8pcRsGxyl6w" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_br99tAFqEeG8pcRsGxyl6w" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_br99tQFqEeG8pcRsGxyl6w" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_br99tgFqEeG8pcRsGxyl6w" type="5023"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_br99twFqEeG8pcRsGxyl6w" type="7015">
+        <children xmi:type="notation:Shape" xmi:id="_cIru4AFqEeG8pcRsGxyl6w" type="3017" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:EnumerationLiteral" href="CHESS.profile.uml#_XsbYQAFlEeGITcsal1T3Og"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_cIru4QFqEeG8pcRsGxyl6w" x="77" y="26"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_cJlGwAFqEeG8pcRsGxyl6w" type="3017" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:EnumerationLiteral" href="CHESS.profile.uml#_-HY0kQFgEeG47Njvphl3lQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_cJlGwQFqEeG8pcRsGxyl6w" x="77" y="26"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_cKBysAFqEeG8pcRsGxyl6w" type="3017" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:EnumerationLiteral" href="CHESS.profile.uml#_-HY0kgFgEeG47Njvphl3lQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_cKBysQFqEeG8pcRsGxyl6w" x="77" y="26"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_cKd3kAFqEeG8pcRsGxyl6w" type="3017" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:EnumerationLiteral" href="CHESS.profile.uml#_-HY0kwFgEeG47Njvphl3lQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_cKd3kQFqEeG8pcRsGxyl6w" x="77" y="26"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_br99uAFqEeG8pcRsGxyl6w"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_br99uQFqEeG8pcRsGxyl6w"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_br99ugFqEeG8pcRsGxyl6w"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_br99uwFqEeG8pcRsGxyl6w"/>
+      </children>
+      <element xmi:type="uml:Enumeration" href="CHESS.profile.uml#_-HY0kAFgEeG47Njvphl3lQ"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_br0zwQFqEeG8pcRsGxyl6w" x="520" y="370"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_Q1L50cF1Ed--atLXXafOiQ"/>
+    <element xmi:type="uml:Package" href="CHESS.profile.uml#_J_FksMF1Ed--atLXXafOiQ"/>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_qK9_0MJFEd-0jpzjleFnug" type="PapyrusUMLProfileDiagram" name="CHESSViews" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_q30ewMJFEd-0jpzjleFnug" type="1026" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_q30ewsJFEd-0jpzjleFnug" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_q30ew8JFEd-0jpzjleFnug" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_q30exMJFEd-0jpzjleFnug" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_q30excJFEd-0jpzjleFnug" key="displayNameLabelIcon_value" value="true"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_q30exsJFEd-0jpzjleFnug" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_q30ex8JFEd-0jpzjleFnug" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_q30eyMJFEd-0jpzjleFnug" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_q30eycJFEd-0jpzjleFnug" type="1071">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_q30eysJFEd-0jpzjleFnug"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_q30ey8JFEd-0jpzjleFnug"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_q30ezMJFEd-0jpzjleFnug"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_q30ezcJFEd-0jpzjleFnug" type="1019">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_q30ezsJFEd-0jpzjleFnug"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_q30ez8JFEd-0jpzjleFnug"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_q30e0MJFEd-0jpzjleFnug"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="CHESS.profile.uml#_KYAcoLwzEd-CDNLmLgazUQ"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_q30ewcJFEd-0jpzjleFnug" x="15" y="40" width="146" height="96"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_rvjYAMJFEd-0jpzjleFnug" type="1026" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_rvjYAsJFEd-0jpzjleFnug" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_rvjYA8JFEd-0jpzjleFnug" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_rvjYBMJFEd-0jpzjleFnug" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_rvjYBcJFEd-0jpzjleFnug" key="displayNameLabelIcon_value" value="true"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_rvjYBsJFEd-0jpzjleFnug" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_rvjYB8JFEd-0jpzjleFnug" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_rvjYCMJFEd-0jpzjleFnug" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_rvjYCcJFEd-0jpzjleFnug" type="1071">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_rvjYCsJFEd-0jpzjleFnug"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_rvjYC8JFEd-0jpzjleFnug"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_rvjYDMJFEd-0jpzjleFnug"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_rvjYDcJFEd-0jpzjleFnug" type="1019">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_rvjYDsJFEd-0jpzjleFnug"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_rvjYD8JFEd-0jpzjleFnug"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_rvjYEMJFEd-0jpzjleFnug"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="CHESS.profile.uml#_6bSHkDgXEd-68Z_bhNRGsA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_rvjYAcJFEd-0jpzjleFnug" x="365" y="60" width="116"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_sQVw4MJFEd-0jpzjleFnug" type="1026" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_sQVw4sJFEd-0jpzjleFnug" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_sQVw48JFEd-0jpzjleFnug" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_sQVw5MJFEd-0jpzjleFnug" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_sQVw5cJFEd-0jpzjleFnug" key="displayNameLabelIcon_value" value="true"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_sQVw5sJFEd-0jpzjleFnug" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_sQVw58JFEd-0jpzjleFnug" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_sQVw6MJFEd-0jpzjleFnug" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_sQVw6cJFEd-0jpzjleFnug" type="1071">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_sQVw6sJFEd-0jpzjleFnug"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_sQVw68JFEd-0jpzjleFnug"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sQVw7MJFEd-0jpzjleFnug"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_sQVw7cJFEd-0jpzjleFnug" type="1019">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_sQVw7sJFEd-0jpzjleFnug"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_sQVw78JFEd-0jpzjleFnug"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sQVw8MJFEd-0jpzjleFnug"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="CHESS.profile.uml#_-ir0cLwyEd-CDNLmLgazUQ"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sQVw4cJFEd-0jpzjleFnug" x="249" y="497"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_sfY5gMJFEd-0jpzjleFnug" type="1026" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_sfY5gsJFEd-0jpzjleFnug" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_sfY5g8JFEd-0jpzjleFnug" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_sfY5hMJFEd-0jpzjleFnug" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_sfY5hcJFEd-0jpzjleFnug" key="displayNameLabelIcon_value" value="true"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_sfY5hsJFEd-0jpzjleFnug" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_sfY5h8JFEd-0jpzjleFnug" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_sfY5iMJFEd-0jpzjleFnug" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_sfY5icJFEd-0jpzjleFnug" type="1071">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_sfY5isJFEd-0jpzjleFnug"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_sfY5i8JFEd-0jpzjleFnug"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sfY5jMJFEd-0jpzjleFnug"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_sfY5jcJFEd-0jpzjleFnug" type="1019">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_sfY5jsJFEd-0jpzjleFnug"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_sfY5j8JFEd-0jpzjleFnug"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sfY5kMJFEd-0jpzjleFnug"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="CHESS.profile.uml#_fOsNELwyEd-CDNLmLgazUQ"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sfY5gcJFEd-0jpzjleFnug" x="745" y="480" width="136"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_6-j40MJFEd-0jpzjleFnug" type="1026" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6-j40sJFEd-0jpzjleFnug" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6-j408JFEd-0jpzjleFnug" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6-j41MJFEd-0jpzjleFnug" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6-j41cJFEd-0jpzjleFnug" key="displayNameLabelIcon_value" value="true"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6-j41sJFEd-0jpzjleFnug" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6-j418JFEd-0jpzjleFnug" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_6-j42MJFEd-0jpzjleFnug" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_6-j42cJFEd-0jpzjleFnug" type="1071">
+        <children xmi:type="notation:Shape" xmi:id="_6Zu58JJ5EeClj4Jxyhjh8w" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_eEteUIa2EeCjkaWi4DtZtA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_6Zu58ZJ5EeClj4Jxyhjh8w"/>
+        </children>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_6-j42sJFEd-0jpzjleFnug"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_6-j428JFEd-0jpzjleFnug"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6-j43MJFEd-0jpzjleFnug"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_6-j43cJFEd-0jpzjleFnug" type="1019">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_6-j43sJFEd-0jpzjleFnug"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_6-j438JFEd-0jpzjleFnug"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6-j44MJFEd-0jpzjleFnug"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="CHESS.profile.uml#_6-HM4MJFEd-0jpzjleFnug"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6-j40cJFEd-0jpzjleFnug" x="805" y="325"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_NfWCsMJiEd-uDcdxIhkfgg" type="1026" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_NfWCssJiEd-uDcdxIhkfgg" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_NfWCs8JiEd-uDcdxIhkfgg" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_NfWCtMJiEd-uDcdxIhkfgg" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_NfWCtcJiEd-uDcdxIhkfgg" key="displayNameLabelIcon_value" value="true"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_NfWCtsJiEd-uDcdxIhkfgg" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_NfWCt8JiEd-uDcdxIhkfgg" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_NfWCuMJiEd-uDcdxIhkfgg" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_NfWCucJiEd-uDcdxIhkfgg" type="1071">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_NfWCusJiEd-uDcdxIhkfgg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_NfWCu8JiEd-uDcdxIhkfgg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NfWCvMJiEd-uDcdxIhkfgg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_NfWCvcJiEd-uDcdxIhkfgg" type="1019">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_NfWCvsJiEd-uDcdxIhkfgg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_NfWCv8JiEd-uDcdxIhkfgg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NfWCwMJiEd-uDcdxIhkfgg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="CHESS.profile.uml#_opjLUDgXEd-68Z_bhNRGsA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NfWCscJiEd-uDcdxIhkfgg" x="765" y="40"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_E1sMgDQ1EeC0ueejuetpgA" type="1026" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_E1sMgjQ1EeC0ueejuetpgA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_E1sMgzQ1EeC0ueejuetpgA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_E1sMhDQ1EeC0ueejuetpgA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_E1sMhTQ1EeC0ueejuetpgA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_E1sMhjQ1EeC0ueejuetpgA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_E1sMhzQ1EeC0ueejuetpgA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_E1sMiDQ1EeC0ueejuetpgA" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_E1sMiTQ1EeC0ueejuetpgA" type="1071">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_E1sMijQ1EeC0ueejuetpgA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_E1sMizQ1EeC0ueejuetpgA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_E1sMjDQ1EeC0ueejuetpgA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_E1sMjTQ1EeC0ueejuetpgA" type="1019">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_E1sMjjQ1EeC0ueejuetpgA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_E1sMjzQ1EeC0ueejuetpgA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_E1sMkDQ1EeC0ueejuetpgA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="CHESS.profile.uml#_E1ZRkDQ1EeC0ueejuetpgA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_E1sMgTQ1EeC0ueejuetpgA" x="545" y="90" width="146" height="111"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_cMdO4DkoEeCw66wKEzSFRg" type="1026" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_cMmY0DkoEeCw66wKEzSFRg" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_cMmY0TkoEeCw66wKEzSFRg" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_cMmY0jkoEeCw66wKEzSFRg" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_cMmY0zkoEeCw66wKEzSFRg" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_cMmY1DkoEeCw66wKEzSFRg" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_cMmY1TkoEeCw66wKEzSFRg" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_cMmY1jkoEeCw66wKEzSFRg" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_cMmY1zkoEeCw66wKEzSFRg" type="1071">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_cMmY2DkoEeCw66wKEzSFRg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_cMmY2TkoEeCw66wKEzSFRg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cMmY2jkoEeCw66wKEzSFRg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_cMmY2zkoEeCw66wKEzSFRg" type="1019">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_cMmY3DkoEeCw66wKEzSFRg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_cMmY3TkoEeCw66wKEzSFRg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cMmY3jkoEeCw66wKEzSFRg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="CHESS.profile.uml#_cMJs4DkoEeCw66wKEzSFRg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cMdO4TkoEeCw66wKEzSFRg" x="460" y="220" width="141" height="96"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_f_pMoDkoEeCw66wKEzSFRg" type="1031" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_f_pMojkoEeCw66wKEzSFRg" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_f_pMozkoEeCw66wKEzSFRg" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_f_pMpDkoEeCw66wKEzSFRg" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_f_pMpTkoEeCw66wKEzSFRg" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_f_pMpjkoEeCw66wKEzSFRg" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_f_pMpzkoEeCw66wKEzSFRg" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_f_pMqjkoEeCw66wKEzSFRg" source="Stereotype_Annotation">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zGfncP3gEeOmz-4FDV-1Kw" key="StereotypeWithQualifiedNameList" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zGfncf3gEeOmz-4FDV-1Kw" key="StereotypeList" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zGfncv3gEeOmz-4FDV-1Kw" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zGgOgP3gEeOmz-4FDV-1Kw" key="PropStereoDisplay" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zGgOgf3gEeOmz-4FDV-1Kw" key="StereotypePropertyLocation" value="Compartment"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_f_pMqDkoEeCw66wKEzSFRg" type="1084"/>
+      <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Package"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_f_pMqTkoEeCw66wKEzSFRg" x="71" y="211"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_EBhZ8DqeEeCYT-iAb0LhsA" type="1026" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EBhZ8jqeEeCYT-iAb0LhsA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EBhZ8zqeEeCYT-iAb0LhsA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EBhZ9DqeEeCYT-iAb0LhsA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EBhZ9TqeEeCYT-iAb0LhsA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EBhZ9jqeEeCYT-iAb0LhsA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EBhZ9zqeEeCYT-iAb0LhsA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_EBhZ-DqeEeCYT-iAb0LhsA" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_EBrK8DqeEeCYT-iAb0LhsA" type="1071">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_EBrK8TqeEeCYT-iAb0LhsA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_EBrK8jqeEeCYT-iAb0LhsA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EBrK8zqeEeCYT-iAb0LhsA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_EBrK9DqeEeCYT-iAb0LhsA" type="1019">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_EBrK9TqeEeCYT-iAb0LhsA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_EBrK9jqeEeCYT-iAb0LhsA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EBrK9zqeEeCYT-iAb0LhsA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="CHESS.profile.uml#_EBEuADqeEeCYT-iAb0LhsA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EBhZ8TqeEeCYT-iAb0LhsA" x="225" y="380" width="181" height="91"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_-6NhMPWbEeG6etnsQZngdA" type="1026" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-6OvUPWbEeG6etnsQZngdA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-6OvUfWbEeG6etnsQZngdA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-6OvUvWbEeG6etnsQZngdA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-6PWYPWbEeG6etnsQZngdA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-6PWYfWbEeG6etnsQZngdA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-6PWYvWbEeG6etnsQZngdA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_-6PWY_WbEeG6etnsQZngdA" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_-6PWZPWbEeG6etnsQZngdA" type="1071">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_-6PWZfWbEeG6etnsQZngdA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_-6PWZvWbEeG6etnsQZngdA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_-6PWZ_WbEeG6etnsQZngdA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-6PWaPWbEeG6etnsQZngdA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_-6PWafWbEeG6etnsQZngdA" visible="false" type="1019">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_-6PWavWbEeG6etnsQZngdA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_-6PWa_WbEeG6etnsQZngdA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_-6PWbPWbEeG6etnsQZngdA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-6PWbfWbEeG6etnsQZngdA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="CHESS.profile.uml#_-q1ocPWbEeG6etnsQZngdA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-6NhMfWbEeG6etnsQZngdA" x="485" y="360"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_eDJeMElHEeSHXILU_Im6sA" type="1026">
+      <children xmi:type="notation:DecorationNode" xmi:id="_eDKsUElHEeSHXILU_Im6sA" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_eDKsUUlHEeSHXILU_Im6sA" type="1071">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_eDKsUklHEeSHXILU_Im6sA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_eDKsU0lHEeSHXILU_Im6sA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_eDKsVElHEeSHXILU_Im6sA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_eDKsVUlHEeSHXILU_Im6sA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_eDLTYElHEeSHXILU_Im6sA" type="1019">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_eDLTYUlHEeSHXILU_Im6sA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_eDLTYklHEeSHXILU_Im6sA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_eDLTY0lHEeSHXILU_Im6sA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_eDLTZElHEeSHXILU_Im6sA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="CHESS.profile.uml#_eCaeYElHEeSHXILU_Im6sA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_eDJeMUlHEeSHXILU_Im6sA" x="50" y="421"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_qK9_0cJFEd-0jpzjleFnug"/>
+    <element xmi:type="uml:Profile" href="CHESS.profile.uml#_FttqgMJDEd-0jpzjleFnug"/>
+    <edges xmi:type="notation:Connector" xmi:id="_gY0hoDkoEeCw66wKEzSFRg" type="1013" source="_cMdO4DkoEeCw66wKEzSFRg" target="_f_pMoDkoEeCw66wKEzSFRg" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_gY0hoTkoEeCw66wKEzSFRg" fontHeight="8"/>
+      <element xmi:type="uml:Extension" href="CHESS.profile.uml#_gYhmsTkoEeCw66wKEzSFRg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_gY0hojkoEeCw66wKEzSFRg" points="[-30, -2, 308, 14]$[-419, 20, -81, 36]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_gZRNkDkoEeCw66wKEzSFRg" id="(0.2127659574468085,0.1875)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_gZRNkTkoEeCw66wKEzSFRg" id="(0.81,0.22)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_GYxlMDqeEeCYT-iAb0LhsA" type="1013" source="_EBhZ8DqeEeCYT-iAb0LhsA" target="_f_pMoDkoEeCw66wKEzSFRg" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_GYxlMTqeEeCYT-iAb0LhsA" fontHeight="8"/>
+      <element xmi:type="uml:Extension" href="CHESS.profile.uml#_GYU5QTqeEeCYT-iAb0LhsA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_GYxlMjqeEeCYT-iAb0LhsA" points="[-13, -17, 113, 144]$[-95, -186, 31, -25]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GZORIDqeEeCYT-iAb0LhsA" id="(0.12154696132596685,0.18681318681318682)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_DqBfQPWcEeG6etnsQZngdA" type="1013" source="_-6NhMPWbEeG6etnsQZngdA" target="_f_pMoDkoEeCw66wKEzSFRg" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_DqBfQfWcEeG6etnsQZngdA" fontHeight="8"/>
+      <element xmi:type="uml:Extension" href="CHESS.profile.uml#_DpiXEPWcEeG6etnsQZngdA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_DqBfQvWcEeG6etnsQZngdA" points="[-50, -22, 364, 152]$[-364, -173, 50, 1]"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_gEMv8ElHEeSHXILU_Im6sA" type="1013" source="_eDJeMElHEeSHXILU_Im6sA" target="_f_pMoDkoEeCw66wKEzSFRg">
+      <styles xmi:type="notation:FontStyle" xmi:id="_gEMv8UlHEeSHXILU_Im6sA"/>
+      <element xmi:type="uml:Extension" href="CHESS.profile.uml#_gD_7oElHEeSHXILU_Im6sA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_gEMv8klHEeSHXILU_Im6sA" points="[5, -50, 0, 200]$[-6, -260, -11, -10]"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_gETdoElHEeSHXILU_Im6sA" id="(0.34,0.2)"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_VFbVEDQ2EeC0ueejuetpgA" type="PapyrusUMLProfileDiagram" name="ComponentModel" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_akXqADQ2EeC0ueejuetpgA" type="1031" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_akXqAjQ2EeC0ueejuetpgA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_akXqAzQ2EeC0ueejuetpgA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_akXqBDQ2EeC0ueejuetpgA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_akXqBTQ2EeC0ueejuetpgA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_akXqBjQ2EeC0ueejuetpgA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_akXqBzQ2EeC0ueejuetpgA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_akXqCjQ2EeC0ueejuetpgA" source="Stereotype_Annotation">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yM_zoP3gEeOmz-4FDV-1Kw" key="StereotypeWithQualifiedNameList" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yM_zof3gEeOmz-4FDV-1Kw" key="StereotypeList" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yM_zov3gEeOmz-4FDV-1Kw" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yNAasP3gEeOmz-4FDV-1Kw" key="PropStereoDisplay" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yNAasf3gEeOmz-4FDV-1Kw" key="StereotypePropertyLocation" value="Compartment"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_akXqCDQ2EeC0ueejuetpgA" type="1084"/>
+      <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Component"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_akXqCTQ2EeC0ueejuetpgA" x="256" y="74"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_EfT9wDQ-EeC0ueejuetpgA" type="1026" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EfT9wjQ-EeC0ueejuetpgA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EfT9wzQ-EeC0ueejuetpgA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EfT9xDQ-EeC0ueejuetpgA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EfT9xTQ-EeC0ueejuetpgA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EfT9xjQ-EeC0ueejuetpgA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EfT9xzQ-EeC0ueejuetpgA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_EfT9yDQ-EeC0ueejuetpgA" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_EfT9yTQ-EeC0ueejuetpgA" type="1071">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_EfT9yjQ-EeC0ueejuetpgA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_EfT9yzQ-EeC0ueejuetpgA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EfT9zDQ-EeC0ueejuetpgA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_EfT9zTQ-EeC0ueejuetpgA" type="1019">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_EfT9zjQ-EeC0ueejuetpgA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_EfT9zzQ-EeC0ueejuetpgA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EfT90DQ-EeC0ueejuetpgA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="CHESS.profile.uml#_EfKMwDQ-EeC0ueejuetpgA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EfT9wTQ-EeC0ueejuetpgA" x="125" y="195" width="161" height="106"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_Cuj7YDRKEeChqekVLFmSjQ" type="1026" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Cuj7YjRKEeChqekVLFmSjQ" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Cuj7YzRKEeChqekVLFmSjQ" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Cuj7ZDRKEeChqekVLFmSjQ" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Cuj7ZTRKEeChqekVLFmSjQ" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Cuj7ZjRKEeChqekVLFmSjQ" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Cuj7ZzRKEeChqekVLFmSjQ" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_Cuj7aDRKEeChqekVLFmSjQ" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_Cuj7aTRKEeChqekVLFmSjQ" type="1071">
+        <children xmi:type="notation:Shape" xmi:id="_E__ygDRKEeChqekVLFmSjQ" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_E_QLoDRKEeChqekVLFmSjQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_E__ygTRKEeChqekVLFmSjQ"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_G6DEYDRKEeChqekVLFmSjQ" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_G55TYDRKEeChqekVLFmSjQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_G6DEYTRKEeChqekVLFmSjQ"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_uZ_l4L85EeCLOv-_yLVzGQ" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_qDnbgL85EeCLOv-_yLVzGQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_uZ_l4b85EeCLOv-_yLVzGQ" x="52" y="41"/>
+        </children>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_Cuj7ajRKEeChqekVLFmSjQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_Cuj7azRKEeChqekVLFmSjQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Cuj7bDRKEeChqekVLFmSjQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_Cuj7bTRKEeChqekVLFmSjQ" type="1019">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_Cuj7bjRKEeChqekVLFmSjQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_Cuj7bzRKEeChqekVLFmSjQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Cuj7cDRKEeChqekVLFmSjQ"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="CHESS.profile.uml#_CuRAcDRKEeChqekVLFmSjQ"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Cuj7YTRKEeChqekVLFmSjQ" x="355" y="202" width="201"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_VFbVETQ2EeC0ueejuetpgA"/>
+    <element xmi:type="uml:Profile" href="CHESS.profile.uml#_MftccDQ2EeC0ueejuetpgA"/>
+    <edges xmi:type="notation:Connector" xmi:id="_Frdn0DQ-EeC0ueejuetpgA" type="1013" source="_EfT9wDQ-EeC0ueejuetpgA" target="_akXqADQ2EeC0ueejuetpgA" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_Frdn0TQ-EeC0ueejuetpgA" fontHeight="8"/>
+      <element xmi:type="uml:Extension" href="CHESS.profile.uml#_FrT20DQ-EeC0ueejuetpgA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Frdn0jQ-EeC0ueejuetpgA" points="[19, -38, -64, 96]$[133, -136, 50, -2]"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_D0mWYDRKEeChqekVLFmSjQ" type="1013" source="_Cuj7YDRKEeChqekVLFmSjQ" target="_akXqADQ2EeC0ueejuetpgA" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_D0mWYTRKEeChqekVLFmSjQ" fontHeight="8"/>
+      <element xmi:type="uml:Extension" href="CHESS.profile.uml#_D0clYTRKEeChqekVLFmSjQ"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_D0mWYjRKEeChqekVLFmSjQ" points="[-34, -50, 80, 103]$[-64, -138, 50, 15]"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_wtNJYDQ2EeC0ueejuetpgA" type="PapyrusUMLProfileDiagram" name="DependableComponent" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_y09gEDQ2EeC0ueejuetpgA" type="1026" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_y09gEjQ2EeC0ueejuetpgA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_y09gEzQ2EeC0ueejuetpgA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_y09gFDQ2EeC0ueejuetpgA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_y09gFTQ2EeC0ueejuetpgA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_y09gFjQ2EeC0ueejuetpgA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_y09gFzQ2EeC0ueejuetpgA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_y09gGDQ2EeC0ueejuetpgA" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_y09gGTQ2EeC0ueejuetpgA" type="1071">
+        <children xmi:type="notation:Shape" xmi:id="_5t2hIDRPEeCPrptoDUJcNQ" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_5ti_IDRPEeCPrptoDUJcNQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_5t2hITRPEeCPrptoDUJcNQ"/>
+        </children>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_y09gGjQ2EeC0ueejuetpgA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_y09gGzQ2EeC0ueejuetpgA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_y09gHDQ2EeC0ueejuetpgA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_y09gHTQ2EeC0ueejuetpgA" type="1019">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_y09gHjQ2EeC0ueejuetpgA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_y09gHzQ2EeC0ueejuetpgA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_y09gIDQ2EeC0ueejuetpgA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="CHESS.profile.uml#_y0zvEDQ2EeC0ueejuetpgA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_y09gETQ2EeC0ueejuetpgA" x="65" y="200" width="181"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_1TqXIDQ2EeC0ueejuetpgA" type="1031" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1TqXIjQ2EeC0ueejuetpgA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1TqXIzQ2EeC0ueejuetpgA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1TqXJDQ2EeC0ueejuetpgA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1TqXJTQ2EeC0ueejuetpgA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1TqXJjQ2EeC0ueejuetpgA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1TqXJzQ2EeC0ueejuetpgA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1TqXKjQ2EeC0ueejuetpgA" source="Stereotype_Annotation">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yi3V8P3gEeOmz-4FDV-1Kw" key="StereotypeWithQualifiedNameList" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yi3V8f3gEeOmz-4FDV-1Kw" key="StereotypeList" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yi39AP3gEeOmz-4FDV-1Kw" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yi39Af3gEeOmz-4FDV-1Kw" key="PropStereoDisplay" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yi39Av3gEeOmz-4FDV-1Kw" key="StereotypePropertyLocation" value="Compartment"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_1TqXKDQ2EeC0ueejuetpgA" type="1084"/>
+      <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Component"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1TqXKTQ2EeC0ueejuetpgA" x="40" y="60"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_OSl54DQ3EeC0ueejuetpgA" type="1026" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_OSl54jQ3EeC0ueejuetpgA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_OSl54zQ3EeC0ueejuetpgA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_OSl55DQ3EeC0ueejuetpgA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_OSl55TQ3EeC0ueejuetpgA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_OSl55jQ3EeC0ueejuetpgA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_OSl55zQ3EeC0ueejuetpgA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_OSl56DQ3EeC0ueejuetpgA" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_OSl56TQ3EeC0ueejuetpgA" type="1071">
+        <children xmi:type="notation:Shape" xmi:id="_T6dhUDQ3EeC0ueejuetpgA" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_2sU1wLzuEd-yoLyJo0JlOg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_T6dhUTQ3EeC0ueejuetpgA"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_T6nSUDQ3EeC0ueejuetpgA" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_4d4S8LzuEd-yoLyJo0JlOg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_T6nSUTQ3EeC0ueejuetpgA"/>
+        </children>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_OSl56jQ3EeC0ueejuetpgA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_OSl56zQ3EeC0ueejuetpgA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OSl57DQ3EeC0ueejuetpgA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_OSl57TQ3EeC0ueejuetpgA" type="1019">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_OSl57jQ3EeC0ueejuetpgA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_OSl57zQ3EeC0ueejuetpgA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OSl58DQ3EeC0ueejuetpgA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="CHESS.profile.uml#_uoIV0LzuEd-yoLyJo0JlOg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OSl54TQ3EeC0ueejuetpgA" x="315" y="220" width="215"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_vtCQYDQ3EeC0ueejuetpgA" type="1031" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_vtCQYjQ3EeC0ueejuetpgA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_vtCQYzQ3EeC0ueejuetpgA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_vtCQZDQ3EeC0ueejuetpgA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_vtCQZTQ3EeC0ueejuetpgA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_vtCQZjQ3EeC0ueejuetpgA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_vtCQZzQ3EeC0ueejuetpgA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_vtCQajQ3EeC0ueejuetpgA" source="Stereotype_Annotation">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ymn0kP3gEeOmz-4FDV-1Kw" key="StereotypeWithQualifiedNameList" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ymoboP3gEeOmz-4FDV-1Kw" key="StereotypeList" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ymobof3gEeOmz-4FDV-1Kw" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ympCsP3gEeOmz-4FDV-1Kw" key="PropStereoDisplay" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ympCsf3gEeOmz-4FDV-1Kw" key="StereotypePropertyLocation" value="Compartment"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_vtCQaDQ3EeC0ueejuetpgA" type="1084"/>
+      <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Abstraction"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vtCQaTQ3EeC0ueejuetpgA" x="475" y="50"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_qUs88DQ7EeC0ueejuetpgA" type="1031" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qUs88jQ7EeC0ueejuetpgA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qUs88zQ7EeC0ueejuetpgA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qUs89DQ7EeC0ueejuetpgA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qUs89TQ7EeC0ueejuetpgA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qUs89jQ7EeC0ueejuetpgA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qUs89zQ7EeC0ueejuetpgA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qUs8-jQ7EeC0ueejuetpgA" source="Stereotype_Annotation">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yoeOsP3gEeOmz-4FDV-1Kw" key="StereotypeWithQualifiedNameList" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yoeOsf3gEeOmz-4FDV-1Kw" key="StereotypeList" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yoe1wP3gEeOmz-4FDV-1Kw" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yoe1wf3gEeOmz-4FDV-1Kw" key="PropStereoDisplay" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yofc0P3gEeOmz-4FDV-1Kw" key="StereotypePropertyLocation" value="Compartment"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_qUs8-DQ7EeC0ueejuetpgA" type="1084"/>
+      <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Connector"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qUs8-TQ7EeC0ueejuetpgA" x="315" y="65"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_liNdADgaEeCE2sZUGxu35w" type="1031" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_liNdAjgaEeCE2sZUGxu35w" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_liNdAzgaEeCE2sZUGxu35w" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_liNdBDgaEeCE2sZUGxu35w" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_liNdBTgaEeCE2sZUGxu35w" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_liNdBjgaEeCE2sZUGxu35w" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_liNdBzgaEeCE2sZUGxu35w" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_liNdCjgaEeCE2sZUGxu35w" source="Stereotype_Annotation">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yqN7IP3gEeOmz-4FDV-1Kw" key="StereotypeWithQualifiedNameList" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yqN7If3gEeOmz-4FDV-1Kw" key="StereotypeList" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yqOiMP3gEeOmz-4FDV-1Kw" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yqOiMf3gEeOmz-4FDV-1Kw" key="PropStereoDisplay" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yqPJQP3gEeOmz-4FDV-1Kw" key="StereotypePropertyLocation" value="Compartment"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_liNdCDgaEeCE2sZUGxu35w" type="1084"/>
+      <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_liNdCTgaEeCE2sZUGxu35w" x="191" y="76"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_t9hycEDsEeC5SOtkEXPa-w" type="1031" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_t9hyckDsEeC5SOtkEXPa-w" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_t9hyc0DsEeC5SOtkEXPa-w" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_t9hydEDsEeC5SOtkEXPa-w" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_t9hydUDsEeC5SOtkEXPa-w" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_t9hydkDsEeC5SOtkEXPa-w" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_t9hyd0DsEeC5SOtkEXPa-w" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_t9hyekDsEeC5SOtkEXPa-w" source="Stereotype_Annotation">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yspkEP3gEeOmz-4FDV-1Kw" key="StereotypeWithQualifiedNameList" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ysqLIP3gEeOmz-4FDV-1Kw" key="StereotypeList" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ysqLIf3gEeOmz-4FDV-1Kw" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ysqLIv3gEeOmz-4FDV-1Kw" key="PropStereoDisplay" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ysqyMP3gEeOmz-4FDV-1Kw" key="StereotypePropertyLocation" value="Compartment"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_t9hyeEDsEeC5SOtkEXPa-w" type="1084"/>
+      <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Comment"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_t9hyeUDsEeC5SOtkEXPa-w" x="630" y="100"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_ByA8wE7nEeCiWfCHUearZQ" type="1031" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ByKGsE7nEeCiWfCHUearZQ" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ByKGsU7nEeCiWfCHUearZQ" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ByKGsk7nEeCiWfCHUearZQ" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ByKGs07nEeCiWfCHUearZQ" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ByKGtE7nEeCiWfCHUearZQ" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ByKGtU7nEeCiWfCHUearZQ" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ByKGuE7nEeCiWfCHUearZQ" source="Stereotype_Annotation">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yurkYP3gEeOmz-4FDV-1Kw" key="StereotypeWithQualifiedNameList" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yusLcP3gEeOmz-4FDV-1Kw" key="StereotypeList" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yusLcf3gEeOmz-4FDV-1Kw" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yusLcv3gEeOmz-4FDV-1Kw" key="PropStereoDisplay" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yusygP3gEeOmz-4FDV-1Kw" key="StereotypePropertyLocation" value="Compartment"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_ByKGtk7nEeCiWfCHUearZQ" type="1084"/>
+      <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#InstanceSpecification"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ByKGt07nEeCiWfCHUearZQ" x="715" y="256"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_wtNJYTQ2EeC0ueejuetpgA"/>
+    <element xmi:type="uml:Profile" href="CHESS.profile.uml#_uNKOgDQ2EeC0ueejuetpgA"/>
+    <edges xmi:type="notation:Connector" xmi:id="_1oEg4DQ2EeC0ueejuetpgA" type="1013" source="_y09gEDQ2EeC0ueejuetpgA" target="_1TqXIDQ2EeC0ueejuetpgA" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_1oEg4TQ2EeC0ueejuetpgA" fontHeight="8"/>
+      <element xmi:type="uml:Extension" href="CHESS.profile.uml#_1n7W8TQ2EeC0ueejuetpgA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_1oEg4jQ2EeC0ueejuetpgA" points="[56, -49, -100, 71]$[106, -108, -50, 12]"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_wLcDoDQ3EeC0ueejuetpgA" type="1013" source="_OSl54DQ3EeC0ueejuetpgA" target="_vtCQYDQ3EeC0ueejuetpgA" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_wLcDoTQ3EeC0ueejuetpgA" fontHeight="8"/>
+      <element xmi:type="uml:Extension" href="CHESS.profile.uml#_wK1msTQ3EeC0ueejuetpgA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_wLcDojQ3EeC0ueejuetpgA" points="[17, -21, -85, 86]$[147, -132, 45, -25]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_wMVbgDQ3EeC0ueejuetpgA" id="(0.6837209302325581,0.1926605504587156)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_mJ2EwDgaEeCE2sZUGxu35w" type="1013" source="_y09gEDQ2EeC0ueejuetpgA" target="_liNdADgaEeCE2sZUGxu35w" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_mJ2EwTgaEeCE2sZUGxu35w" fontHeight="8"/>
+      <element xmi:type="uml:Extension" href="CHESS.profile.uml#_mJZY0TgaEeCE2sZUGxu35w"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_mJ2EwjgaEeCE2sZUGxu35w" points="[32, -50, -54, 99]$[136, -151, 50, -2]"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_IzUWgEMZEeCCw-qiU6Z1sQ" type="1013" source="_OSl54DQ3EeC0ueejuetpgA" target="_t9hycEDsEeC5SOtkEXPa-w" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_IzUWgUMZEeCCw-qiU6Z1sQ" fontHeight="8"/>
+      <element xmi:type="uml:Extension" href="CHESS.profile.uml#_IykvoUMZEeCCw-qiU6Z1sQ"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_IzUWgkMZEeCCw-qiU6Z1sQ" points="[20, -4, -162, 25]$[181, -54, -1, -25]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_I0EkcEMZEeCCw-qiU6Z1sQ" id="(0.9069767441860465,0.22018348623853212)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_iGGaoEMfEeCCw-qiU6Z1sQ" type="1013" source="_OSl54DQ3EeC0ueejuetpgA" target="_qUs88DQ7EeC0ueejuetpgA" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_iGGaoUMfEeCCw-qiU6Z1sQ" fontHeight="8"/>
+      <element xmi:type="uml:Extension" href="CHESS.profile.uml#_iFqVwUMfEeCCw-qiU6Z1sQ"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_iGGaokMfEeCCw-qiU6Z1sQ" points="[-11, -54, 46, 130]$[-7, -175, 50, 9]"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_CtK9cE7nEeCiWfCHUearZQ" type="1013" source="_OSl54DQ3EeC0ueejuetpgA" target="_ByA8wE7nEeCiWfCHUearZQ" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_CtK9cU7nEeCiWfCHUearZQ" fontHeight="8"/>
+      <element xmi:type="uml:Extension" href="CHESS.profile.uml#_CsbWkU7nEeCiWfCHUearZQ"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_CtK9ck7nEeCiWfCHUearZQ" points="[23, 2, -207, -23]$[208, 20, -22, -5]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_CuhBQE7nEeCiWfCHUearZQ" id="(0.8930232558139535,0.27522935779816515)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_CuhBQU7nEeCiWfCHUearZQ" id="(0.21359223300970873,0.38)"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_9U2J4DQ3EeC0ueejuetpgA" type="PapyrusUMLProfileDiagram" name="ThreatsPropagation" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_90Se8DQ3EeC0ueejuetpgA" type="1026" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_90Se8jQ3EeC0ueejuetpgA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_90Se8zQ3EeC0ueejuetpgA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_90Se9DQ3EeC0ueejuetpgA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_90Se9TQ3EeC0ueejuetpgA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_90Se9jQ3EeC0ueejuetpgA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_90Se9zQ3EeC0ueejuetpgA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_90Se-DQ3EeC0ueejuetpgA" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_90Se-TQ3EeC0ueejuetpgA" type="1071">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_90Se-jQ3EeC0ueejuetpgA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_90Se-zQ3EeC0ueejuetpgA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_90Se_DQ3EeC0ueejuetpgA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_90Se_TQ3EeC0ueejuetpgA" type="1019">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_90Se_jQ3EeC0ueejuetpgA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_90Se_zQ3EeC0ueejuetpgA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_90SfADQ3EeC0ueejuetpgA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="CHESS.profile.uml#_90It8DQ3EeC0ueejuetpgA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_90Se8TQ3EeC0ueejuetpgA" x="35" y="165" width="115"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_AGLpETQ4EeC0ueejuetpgA" type="1031" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_AGLpEzQ4EeC0ueejuetpgA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_AGLpFDQ4EeC0ueejuetpgA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_AGLpFTQ4EeC0ueejuetpgA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_AGLpFjQ4EeC0ueejuetpgA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_AGLpFzQ4EeC0ueejuetpgA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_AGLpGDQ4EeC0ueejuetpgA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_AGVaEDQ4EeC0ueejuetpgA" source="Stereotype_Annotation">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yBfuQP3gEeOmz-4FDV-1Kw" key="StereotypeWithQualifiedNameList" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yBgVUP3gEeOmz-4FDV-1Kw" key="StereotypeList" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yBgVUf3gEeOmz-4FDV-1Kw" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yBgVUv3gEeOmz-4FDV-1Kw" key="PropStereoDisplay" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yBg8YP3gEeOmz-4FDV-1Kw" key="StereotypePropertyLocation" value="Compartment"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_AGLpGTQ4EeC0ueejuetpgA" type="1084"/>
+      <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#StateMachine"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AGLpGjQ4EeC0ueejuetpgA" x="65" y="25"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_C7jTsDQ4EeC0ueejuetpgA" type="1026" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_C7jTsjQ4EeC0ueejuetpgA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_C7jTszQ4EeC0ueejuetpgA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_C7jTtDQ4EeC0ueejuetpgA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_C7jTtTQ4EeC0ueejuetpgA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_C7jTtjQ4EeC0ueejuetpgA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_C7jTtzQ4EeC0ueejuetpgA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_C7jTuDQ4EeC0ueejuetpgA" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_C7jTuTQ4EeC0ueejuetpgA" type="1071">
+        <children xmi:type="notation:Shape" xmi:id="_lWO_MDQ4EeC0ueejuetpgA" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_lWF1QDQ4EeC0ueejuetpgA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_lWO_MTQ4EeC0ueejuetpgA"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_HBa2sKcUEeCLJKy7uMU5GA" type="3002" fontName="Segoe UI" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_pa1bEKcNEeCLJKy7uMU5GA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_HBa2sacUEeCLJKy7uMU5GA" x="59" y="31"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_HRwYwKcUEeCLJKy7uMU5GA" type="3002" fontName="Segoe UI" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_GrVgsKcOEeCLJKy7uMU5GA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_HRwYwacUEeCLJKy7uMU5GA" x="55" y="39"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_HkJJQKcUEeCLJKy7uMU5GA" type="3002" fontName="Segoe UI" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_qvPMwKcOEeCLJKy7uMU5GA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_HkJJQacUEeCLJKy7uMU5GA" x="83" y="56"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_bzL0MNiSEeCzEZgzjRUzHw" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_by45QNiSEeCzEZgzjRUzHw"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_bzL0MdiSEeCzEZgzjRUzHw"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_iPESgNiSEeCzEZgzjRUzHw" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_iOecoNiSEeCzEZgzjRUzHw"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_iPESgdiSEeCzEZgzjRUzHw"/>
+        </children>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_C7jTujQ4EeC0ueejuetpgA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_C7jTuzQ4EeC0ueejuetpgA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_C7jTvDQ4EeC0ueejuetpgA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_C7jTvTQ4EeC0ueejuetpgA" type="1019">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_C7jTvjQ4EeC0ueejuetpgA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_C7jTvzQ4EeC0ueejuetpgA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_C7jTwDQ4EeC0ueejuetpgA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="CHESS.profile.uml#_C7ZisDQ4EeC0ueejuetpgA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_C7jTsTQ4EeC0ueejuetpgA" x="186" y="199" width="180"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_Esg7ADQ4EeC0ueejuetpgA" type="1031" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Esg7AjQ4EeC0ueejuetpgA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Esg7AzQ4EeC0ueejuetpgA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Esg7BDQ4EeC0ueejuetpgA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Esg7BTQ4EeC0ueejuetpgA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Esg7BjQ4EeC0ueejuetpgA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Esg7BzQ4EeC0ueejuetpgA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Esg7CjQ4EeC0ueejuetpgA" source="Stereotype_Annotation">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yFnZQP3gEeOmz-4FDV-1Kw" key="StereotypeWithQualifiedNameList" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yFnZQf3gEeOmz-4FDV-1Kw" key="StereotypeList" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yFoAUP3gEeOmz-4FDV-1Kw" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yFoAUf3gEeOmz-4FDV-1Kw" key="PropStereoDisplay" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yFoAUv3gEeOmz-4FDV-1Kw" key="StereotypePropertyLocation" value="Compartment"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_Esg7CDQ4EeC0ueejuetpgA" type="1084"/>
+      <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Transition"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Esg7CTQ4EeC0ueejuetpgA" x="310" y="70"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_OKc1EDQ4EeC0ueejuetpgA" type="1026" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_OKc1EjQ4EeC0ueejuetpgA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_OKc1EzQ4EeC0ueejuetpgA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_OKc1FDQ4EeC0ueejuetpgA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_OKc1FTQ4EeC0ueejuetpgA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_OKc1FjQ4EeC0ueejuetpgA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_OKc1FzQ4EeC0ueejuetpgA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_OKc1GDQ4EeC0ueejuetpgA" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_OKc1GTQ4EeC0ueejuetpgA" type="1071">
+        <children xmi:type="notation:Shape" xmi:id="_QsbpoDQ4EeC0ueejuetpgA" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_QsSfsDQ4EeC0ueejuetpgA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_QsbpoTQ4EeC0ueejuetpgA"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_cJuGIKcUEeCLJKy7uMU5GA" type="3002" fontName="Segoe UI" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_AWlvsKcPEeCLJKy7uMU5GA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_cJuGIacUEeCLJKy7uMU5GA" x="49" y="42"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_R-GDoL9SEeCOtecSzivGvQ" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_Lmr1oL9SEeCOtecSzivGvQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_R-GDob9SEeCOtecSzivGvQ" x="44" y="46"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_NakGsL9VEeCOtecSzivGvQ" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_W5kfIL9SEeCOtecSzivGvQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_NakGsb9VEeCOtecSzivGvQ" x="56" y="54"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_Nslq0L9VEeCOtecSzivGvQ" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_Y-fkQL9SEeCOtecSzivGvQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_Nslq0b9VEeCOtecSzivGvQ" x="92" y="61"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_OAtgsL9VEeCOtecSzivGvQ" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_gsoUoL9SEeCOtecSzivGvQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_OAtgsb9VEeCOtecSzivGvQ" x="131" y="52"/>
+        </children>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_OKc1GjQ4EeC0ueejuetpgA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_OKc1GzQ4EeC0ueejuetpgA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OKc1HDQ4EeC0ueejuetpgA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_OKmmEDQ4EeC0ueejuetpgA" type="1019">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_OKmmETQ4EeC0ueejuetpgA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_OKmmEjQ4EeC0ueejuetpgA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OKmmEzQ4EeC0ueejuetpgA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="CHESS.profile.uml#_OKTEEDQ4EeC0ueejuetpgA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OKc1ETQ4EeC0ueejuetpgA" x="405" y="190" height="145"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_W3L7sDQ4EeC0ueejuetpgA" type="1026" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_W3L7sjQ4EeC0ueejuetpgA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_W3L7szQ4EeC0ueejuetpgA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_W3L7tDQ4EeC0ueejuetpgA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_W3L7tTQ4EeC0ueejuetpgA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_W3L7tjQ4EeC0ueejuetpgA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_W3L7tzQ4EeC0ueejuetpgA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_W3L7uDQ4EeC0ueejuetpgA" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_W3L7uTQ4EeC0ueejuetpgA" type="1071">
+        <children xmi:type="notation:Shape" xmi:id="_kGgEkKcWEeCLJKy7uMU5GA" type="3002" fontName="Segoe UI" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_Ea0LYKcVEeCLJKy7uMU5GA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_kGgEkacWEeCLJKy7uMU5GA" x="57" y="38"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_DVKmINiSEeCzEZgzjRUzHw" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_DT-TUNiSEeCzEZgzjRUzHw"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_DVKmIdiSEeCzEZgzjRUzHw"/>
+        </children>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_W3L7ujQ4EeC0ueejuetpgA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_W3L7uzQ4EeC0ueejuetpgA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_W3L7vDQ4EeC0ueejuetpgA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_W3L7vTQ4EeC0ueejuetpgA" type="1019">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_W3L7vjQ4EeC0ueejuetpgA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_W3L7vzQ4EeC0ueejuetpgA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_W3L7wDQ4EeC0ueejuetpgA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="CHESS.profile.uml#_W3CKsDQ4EeC0ueejuetpgA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_W3L7sTQ4EeC0ueejuetpgA" x="50" y="585" width="176"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_YOOAEDQ4EeC0ueejuetpgA" type="1031" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_YOOAEjQ4EeC0ueejuetpgA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_YOOAEzQ4EeC0ueejuetpgA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_YOOAFDQ4EeC0ueejuetpgA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_YOOAFTQ4EeC0ueejuetpgA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_YOOAFjQ4EeC0ueejuetpgA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_YOOAFzQ4EeC0ueejuetpgA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_YOOAGjQ4EeC0ueejuetpgA" source="Stereotype_Annotation">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yJcJUP3gEeOmz-4FDV-1Kw" key="StereotypeWithQualifiedNameList" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yJcJUf3gEeOmz-4FDV-1Kw" key="StereotypeList" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yJcwYP3gEeOmz-4FDV-1Kw" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yJcwYf3gEeOmz-4FDV-1Kw" key="PropStereoDisplay" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yJcwYv3gEeOmz-4FDV-1Kw" key="StereotypePropertyLocation" value="Compartment"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_YOOAGDQ4EeC0ueejuetpgA" type="1084"/>
+      <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#State"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_YOOAGTQ4EeC0ueejuetpgA" x="710" y="600"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_cUyM0DQ4EeC0ueejuetpgA" type="1026" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_cUyM0jQ4EeC0ueejuetpgA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_cUyM0zQ4EeC0ueejuetpgA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_cUyM1DQ4EeC0ueejuetpgA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_cUyM1TQ4EeC0ueejuetpgA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_cUyM1jQ4EeC0ueejuetpgA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_cUyM1zQ4EeC0ueejuetpgA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_cUyM2DQ4EeC0ueejuetpgA" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_cU790DQ4EeC0ueejuetpgA" type="1071">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_cU790TQ4EeC0ueejuetpgA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_cU790jQ4EeC0ueejuetpgA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cU790zQ4EeC0ueejuetpgA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_cU791DQ4EeC0ueejuetpgA" type="1019">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_cU791TQ4EeC0ueejuetpgA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_cU791jQ4EeC0ueejuetpgA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cU791zQ4EeC0ueejuetpgA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="CHESS.profile.uml#_cUpC4DQ4EeC0ueejuetpgA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cUyM0TQ4EeC0ueejuetpgA" x="690" y="470" width="151"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_ehAz0DQ4EeC0ueejuetpgA" type="1026" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ehAz0jQ4EeC0ueejuetpgA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ehAz0zQ4EeC0ueejuetpgA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ehAz1DQ4EeC0ueejuetpgA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ehAz1TQ4EeC0ueejuetpgA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ehAz1jQ4EeC0ueejuetpgA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ehAz1zQ4EeC0ueejuetpgA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_ehAz2DQ4EeC0ueejuetpgA" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_ehAz2TQ4EeC0ueejuetpgA" type="1071">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_ehAz2jQ4EeC0ueejuetpgA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_ehAz2zQ4EeC0ueejuetpgA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ehAz3DQ4EeC0ueejuetpgA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_ehAz3TQ4EeC0ueejuetpgA" type="1019">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_ehAz3jQ4EeC0ueejuetpgA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_ehAz3zQ4EeC0ueejuetpgA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ehAz4DQ4EeC0ueejuetpgA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="CHESS.profile.uml#_eg3C0DQ4EeC0ueejuetpgA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ehAz0TQ4EeC0ueejuetpgA" x="40" y="415"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_gt1QsDQ4EeC0ueejuetpgA" type="1026" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_gt1QsjQ4EeC0ueejuetpgA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_gt1QszQ4EeC0ueejuetpgA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_gt1QtDQ4EeC0ueejuetpgA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_gt1QtTQ4EeC0ueejuetpgA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_gt1QtjQ4EeC0ueejuetpgA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_gt1QtzQ4EeC0ueejuetpgA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_gt1QuDQ4EeC0ueejuetpgA" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_gt1QuTQ4EeC0ueejuetpgA" type="1071">
+        <children xmi:type="notation:Shape" xmi:id="_Pr2VkDRoEeCPrptoDUJcNQ" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_PrP4oDRoEeCPrptoDUJcNQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_Pr2VkTRoEeCPrptoDUJcNQ"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_tsYkQKcXEeCLJKy7uMU5GA" type="3002" fontName="Segoe UI" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_tsLI4KcXEeCLJKy7uMU5GA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_tsYkQacXEeCLJKy7uMU5GA"/>
+        </children>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_gt1QujQ4EeC0ueejuetpgA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_gt1QuzQ4EeC0ueejuetpgA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gt1QvDQ4EeC0ueejuetpgA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_gt1QvTQ4EeC0ueejuetpgA" type="1019">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_gt1QvjQ4EeC0ueejuetpgA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_gt1QvzQ4EeC0ueejuetpgA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gt1QwDQ4EeC0ueejuetpgA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="CHESS.profile.uml#_gtsGwDQ4EeC0ueejuetpgA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gt1QsTQ4EeC0ueejuetpgA" x="260" y="585" height="101"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_eLFkMFqlEeCgwNmo13tekQ" type="1026" fontHeight="8" transparency="0" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_eLPVMFqlEeCgwNmo13tekQ" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_eLPVMVqlEeCgwNmo13tekQ" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_eLPVMlqlEeCgwNmo13tekQ" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_eLPVM1qlEeCgwNmo13tekQ" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_z3zvUFqlEeCgwNmo13tekQ" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_z3zvUVqlEeCgwNmo13tekQ" key="QualifiedNameDepth" value="0"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_eLPVNlqlEeCgwNmo13tekQ" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_eLPVN1qlEeCgwNmo13tekQ" type="1071">
+        <children xmi:type="notation:Shape" xmi:id="_fkzJIFqlEeCgwNmo13tekQ" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_fiHokFqlEeCgwNmo13tekQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_fkzJIVqlEeCgwNmo13tekQ"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_mAOWIKehEeCXsNuM83eyAA" type="3002" fontName="Segoe UI" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_l_L0UKehEeCXsNuM83eyAA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_mAOWIaehEeCXsNuM83eyAA"/>
+        </children>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_eLPVOFqlEeCgwNmo13tekQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_eLPVOVqlEeCgwNmo13tekQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_eLPVOlqlEeCgwNmo13tekQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_eLPVO1qlEeCgwNmo13tekQ" type="1019">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_eLPVPFqlEeCgwNmo13tekQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_eLPVPVqlEeCgwNmo13tekQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_eLPVPlqlEeCgwNmo13tekQ"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="CHESS.profile.uml#_uoIV0LzuEd-yoLyJo0JlOg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_eLFkMVqlEeCgwNmo13tekQ" x="470" y="20" width="266"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_hiA18KcTEeCLJKy7uMU5GA" type="2006" fontName="Segoe UI" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_hiA18qcTEeCLJKy7uMU5GA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_hiA186cTEeCLJKy7uMU5GA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_hiA19KcTEeCLJKy7uMU5GA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_hiBdAKcTEeCLJKy7uMU5GA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_hiBdAacTEeCLJKy7uMU5GA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_hiBdAqcTEeCLJKy7uMU5GA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_hiBdA6cTEeCLJKy7uMU5GA" type="5023"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_hiBdBKcTEeCLJKy7uMU5GA" type="1063">
+        <children xmi:type="notation:Shape" xmi:id="_jBz0wKcTEeCLJKy7uMU5GA" type="1037" fontName="Segoe UI" lineColor="0">
+          <element xmi:type="uml:EnumerationLiteral" href="CHESS.profile.uml#_jBoOkKcTEeCLJKy7uMU5GA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_jBz0wacTEeCLJKy7uMU5GA"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_jQE6QKcTEeCLJKy7uMU5GA" type="1037" fontName="Segoe UI" lineColor="0">
+          <element xmi:type="uml:EnumerationLiteral" href="CHESS.profile.uml#_jP5UEKcTEeCLJKy7uMU5GA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_jQE6QacTEeCLJKy7uMU5GA"/>
+        </children>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_hiBdBacTEeCLJKy7uMU5GA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_hiBdBqcTEeCLJKy7uMU5GA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hiBdB6cTEeCLJKy7uMU5GA"/>
+      </children>
+      <element xmi:type="uml:Enumeration" href="CHESS.profile.uml#_hh4TEKcTEeCLJKy7uMU5GA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hiA18acTEeCLJKy7uMU5GA" x="780" y="60"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_-BrXsKcXEeCLJKy7uMU5GA" type="1026" fontName="Segoe UI" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-Br-wKcXEeCLJKy7uMU5GA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-Br-wacXEeCLJKy7uMU5GA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-Br-wqcXEeCLJKy7uMU5GA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-Br-w6cXEeCLJKy7uMU5GA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-Br-xKcXEeCLJKy7uMU5GA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-Br-xacXEeCLJKy7uMU5GA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_-Br-xqcXEeCLJKy7uMU5GA" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_-Br-x6cXEeCLJKy7uMU5GA" type="1071">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_-Br-yKcXEeCLJKy7uMU5GA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_-Br-yacXEeCLJKy7uMU5GA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-Br-yqcXEeCLJKy7uMU5GA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_-Bsl0KcXEeCLJKy7uMU5GA" type="1019">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_-Bsl0acXEeCLJKy7uMU5GA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_-Bsl0qcXEeCLJKy7uMU5GA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-Bsl06cXEeCLJKy7uMU5GA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="CHESS.profile.uml#_-BcuMKcXEeCLJKy7uMU5GA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-BrXsacXEeCLJKy7uMU5GA" x="700" y="355"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_Wsmj4KcZEeCLJKy7uMU5GA" type="1026" fontName="Segoe UI" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Wsmj4qcZEeCLJKy7uMU5GA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Wsmj46cZEeCLJKy7uMU5GA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_WsnK8KcZEeCLJKy7uMU5GA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_WsnK8acZEeCLJKy7uMU5GA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_WsnK8qcZEeCLJKy7uMU5GA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_WsnK86cZEeCLJKy7uMU5GA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_WsnK9KcZEeCLJKy7uMU5GA" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_WsnK9acZEeCLJKy7uMU5GA" type="1071">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_WsnK9qcZEeCLJKy7uMU5GA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_WsnK96cZEeCLJKy7uMU5GA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WsnK-KcZEeCLJKy7uMU5GA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_WsnK-acZEeCLJKy7uMU5GA" type="1019">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_WsnK-qcZEeCLJKy7uMU5GA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_WsnK-6cZEeCLJKy7uMU5GA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WsnK_KcZEeCLJKy7uMU5GA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="CHESS.profile.uml#_WsXTUKcZEeCLJKy7uMU5GA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Wsmj4acZEeCLJKy7uMU5GA" x="435" y="590" width="157"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_C_DmkL9UEeCOtecSzivGvQ" type="1026" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_C_Dmkr9UEeCOtecSzivGvQ" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_C_Dmk79UEeCOtecSzivGvQ" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_C_DmlL9UEeCOtecSzivGvQ" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_C_Dmlb9UEeCOtecSzivGvQ" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_C_Dmlr9UEeCOtecSzivGvQ" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_C_Dml79UEeCOtecSzivGvQ" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_C_DmmL9UEeCOtecSzivGvQ" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_C_Dmmb9UEeCOtecSzivGvQ" type="1071">
+        <children xmi:type="notation:Shape" xmi:id="_PtckwL9UEeCOtecSzivGvQ" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_O6e2wL9UEeCOtecSzivGvQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_Ptckwb9UEeCOtecSzivGvQ" x="63" y="11"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_KumPsL9VEeCOtecSzivGvQ" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_KEuMQL9VEeCOtecSzivGvQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_KumPsb9VEeCOtecSzivGvQ" x="90" y="16"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_C_Dmmr9UEeCOtecSzivGvQ"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_C_Dmm79UEeCOtecSzivGvQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_C_DmnL9UEeCOtecSzivGvQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_C_Dmnb9UEeCOtecSzivGvQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_C_Dmnr9UEeCOtecSzivGvQ" type="1019">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_C_Dmn79UEeCOtecSzivGvQ"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_C_DmoL9UEeCOtecSzivGvQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_C_Dmob9UEeCOtecSzivGvQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_C_Dmor9UEeCOtecSzivGvQ"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="CHESS.profile.uml#_C-dwsL9UEeCOtecSzivGvQ"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_C_Dmkb9UEeCOtecSzivGvQ" x="255" y="435" width="211" height="121"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_yQnwgImOEeODrcgAiMzRCg" type="1026" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_yQnwgomOEeODrcgAiMzRCg" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yQnwg4mOEeODrcgAiMzRCg" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_yQoXkImOEeODrcgAiMzRCg" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yQoXkYmOEeODrcgAiMzRCg" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_yQoXkomOEeODrcgAiMzRCg" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yQoXk4mOEeODrcgAiMzRCg" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_yQoXlImOEeODrcgAiMzRCg" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_yQoXlYmOEeODrcgAiMzRCg" type="1071">
+        <children xmi:type="notation:Shape" xmi:id="_tuMAwImGEeODrcgAiMzRCg" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_tuF6IImGEeODrcgAiMzRCg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_tuMAwYmGEeODrcgAiMzRCg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_7AI_AImGEeODrcgAiMzRCg" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_7ABDMImGEeODrcgAiMzRCg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_7AI_AYmGEeODrcgAiMzRCg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_yQoXlomOEeODrcgAiMzRCg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_yQoXl4mOEeODrcgAiMzRCg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_yQoXmImOEeODrcgAiMzRCg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yQoXmYmOEeODrcgAiMzRCg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_yQoXmomOEeODrcgAiMzRCg" visible="false" type="1019">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_yQoXm4mOEeODrcgAiMzRCg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_yQoXnImOEeODrcgAiMzRCg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_yQoXnYmOEeODrcgAiMzRCg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yQoXnomOEeODrcgAiMzRCg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="CHESS.profile.uml#_yQjfEImOEeODrcgAiMzRCg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yQnwgYmOEeODrcgAiMzRCg" x="625" y="745" width="126" height="102"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_EuwHcI5rEeOCpeH37jWMhw" type="1026" fontName="Segoe UI" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Eux8oI5rEeOCpeH37jWMhw" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Eux8oY5rEeOCpeH37jWMhw" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EuyjsI5rEeOCpeH37jWMhw" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EuyjsY5rEeOCpeH37jWMhw" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Euyjso5rEeOCpeH37jWMhw" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Euyjs45rEeOCpeH37jWMhw" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_EuyjtI5rEeOCpeH37jWMhw" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_EuzKwI5rEeOCpeH37jWMhw" type="1071">
+        <children xmi:type="notation:Shape" xmi:id="_QUpsMI5uEeOjpOW2pJw89Q" type="3002" fontName="Segoe UI" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_FUyFUI5uEeOjpOW2pJw89Q"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_QUpsMY5uEeOjpOW2pJw89Q"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_EuzKwY5rEeOCpeH37jWMhw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_EuzKwo5rEeOCpeH37jWMhw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_EuzKw45rEeOCpeH37jWMhw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EuzKxI5rEeOCpeH37jWMhw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_EuzKxY5rEeOCpeH37jWMhw" visible="false" type="1019">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_EuzKxo5rEeOCpeH37jWMhw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_EuzKx45rEeOCpeH37jWMhw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_EuzKyI5rEeOCpeH37jWMhw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EuzKyY5rEeOCpeH37jWMhw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="CHESS.profile.uml#_Et5L0I5rEeOCpeH37jWMhw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EuwHcY5rEeOCpeH37jWMhw" x="820" y="790" width="126" height="102"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_F1GEcI5rEeOCpeH37jWMhw" type="1026" fontName="Segoe UI" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_F1GEco5rEeOCpeH37jWMhw" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_F1GrgI5rEeOCpeH37jWMhw" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_F1GrgY5rEeOCpeH37jWMhw" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_F1Grgo5rEeOCpeH37jWMhw" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_F1Grg45rEeOCpeH37jWMhw" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_F1GrhI5rEeOCpeH37jWMhw" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_F1GrhY5rEeOCpeH37jWMhw" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_F1Grho5rEeOCpeH37jWMhw" type="1071">
+        <children xmi:type="notation:Shape" xmi:id="_PzanYI5uEeOjpOW2pJw89Q" type="3002" fontName="Segoe UI" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_Fx2b0I5uEeOjpOW2pJw89Q"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_PzanYY5uEeOjpOW2pJw89Q"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_F1Grh45rEeOCpeH37jWMhw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_F1GriI5rEeOCpeH37jWMhw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_F1GriY5rEeOCpeH37jWMhw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_F1Grio5rEeOCpeH37jWMhw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_F1Gri45rEeOCpeH37jWMhw" visible="false" type="1019">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_F1GrjI5rEeOCpeH37jWMhw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_F1GrjY5rEeOCpeH37jWMhw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_F1Grjo5rEeOCpeH37jWMhw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_F1Grj45rEeOCpeH37jWMhw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="CHESS.profile.uml#_F1BL8I5rEeOCpeH37jWMhw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_F1GEcY5rEeOCpeH37jWMhw" x="940" y="680" width="126" height="102"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_GdL_MI5rEeOCpeH37jWMhw" type="1026" fontName="Segoe UI" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_GdMmQI5rEeOCpeH37jWMhw" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_GdMmQY5rEeOCpeH37jWMhw" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_GdMmQo5rEeOCpeH37jWMhw" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_GdMmQ45rEeOCpeH37jWMhw" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_GdMmRI5rEeOCpeH37jWMhw" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_GdMmRY5rEeOCpeH37jWMhw" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_GdNNUI5rEeOCpeH37jWMhw" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_GdNNUY5rEeOCpeH37jWMhw" type="1071">
+        <children xmi:type="notation:Shape" xmi:id="_eOFzII5sEeOCpeH37jWMhw" type="3002" fontName="Segoe UI" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_eN93UI5sEeOCpeH37jWMhw"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_eOFzIY5sEeOCpeH37jWMhw"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_fkVNUI5sEeOCpeH37jWMhw" type="3002" fontName="Segoe UI" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_fkMDYI5sEeOCpeH37jWMhw"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_fkVNUY5sEeOCpeH37jWMhw"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_glPQsI5sEeOCpeH37jWMhw" type="3002" fontName="Segoe UI" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_glHU4I5sEeOCpeH37jWMhw"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_glPQsY5sEeOCpeH37jWMhw"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_GdNNUo5rEeOCpeH37jWMhw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_GdNNU45rEeOCpeH37jWMhw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_GdNNVI5rEeOCpeH37jWMhw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GdNNVY5rEeOCpeH37jWMhw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_GdNNVo5rEeOCpeH37jWMhw" visible="false" type="1019">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_GdNNV45rEeOCpeH37jWMhw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_GdNNWI5rEeOCpeH37jWMhw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_GdNNWY5rEeOCpeH37jWMhw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GdNNWo5rEeOCpeH37jWMhw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="CHESS.profile.uml#_GdDcUI5rEeOCpeH37jWMhw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GdL_MY5rEeOCpeH37jWMhw" x="938" y="545" width="126" height="102"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_9U2J4TQ3EeC0ueejuetpgA"/>
+    <element xmi:type="uml:Profile" href="CHESS.profile.uml#_5g4wEDQ3EeC0ueejuetpgA"/>
+    <edges xmi:type="notation:Connector" xmi:id="_AhAj4DQ4EeC0ueejuetpgA" type="1013" source="_90Se8DQ3EeC0ueejuetpgA" target="_AGLpETQ4EeC0ueejuetpgA" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_AhAj4TQ4EeC0ueejuetpgA" fontHeight="8"/>
+      <element xmi:type="uml:Extension" href="CHESS.profile.uml#_Ag2y4TQ4EeC0ueejuetpgA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_AhAj4jQ4EeC0ueejuetpgA" points="[29, -17, -107, 69]$[86, -111, -50, -25]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_AhKU4DQ4EeC0ueejuetpgA" id="(0.58,0.17)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_FD6HUDQ4EeC0ueejuetpgA" type="1013" source="_C7jTsDQ4EeC0ueejuetpgA" target="_Esg7ADQ4EeC0ueejuetpgA" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_FD6HUTQ4EeC0ueejuetpgA" fontHeight="8"/>
+      <element xmi:type="uml:Extension" href="CHESS.profile.uml#_FDw9YTQ4EeC0ueejuetpgA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_FD6HUjQ4EeC0ueejuetpgA" points="[31, -24, -76, 57]$[86, -78, -21, 3]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_FENCQDQ4EeC0ueejuetpgA" id="(0.64,0.24)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_FENCQTQ4EeC0ueejuetpgA" id="(0.21,0.6)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_PT6-kDQ4EeC0ueejuetpgA" type="1013" source="_OKc1EDQ4EeC0ueejuetpgA" target="_Esg7ADQ4EeC0ueejuetpgA" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_PT6-kTQ4EeC0ueejuetpgA" fontHeight="8"/>
+      <element xmi:type="uml:Extension" href="CHESS.profile.uml#_PTxNkTQ4EeC0ueejuetpgA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_PT6-kjQ4EeC0ueejuetpgA" points="[-25, -50, 28, 106]$[-3, -176, 50, -20]"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_mP5IIFqlEeCgwNmo13tekQ" type="1013" source="_eLFkMFqlEeCgwNmo13tekQ" target="_Esg7ADQ4EeC0ueejuetpgA" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_mP5IIVqlEeCgwNmo13tekQ" fontHeight="8"/>
+      <element xmi:type="uml:Extension" href="CHESS.profile.uml#_mPJhQVqlEeCgwNmo13tekQ"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_mP5IIlqlEeCgwNmo13tekQ" points="[-50, -5, 194, 16]$[-220, -22, 24, -1]"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_mQ7p8FqlEeCgwNmo13tekQ" id="(0.76,0.48)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_FxSdoL9UEeCOtecSzivGvQ" type="1013" source="_C_DmkL9UEeCOtecSzivGvQ" target="_YOOAEDQ4EeC0ueejuetpgA" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_FxSdob9UEeCOtecSzivGvQ" fontHeight="8"/>
+      <element xmi:type="uml:Extension" href="CHESS.profile.uml#_FwZFwb9UEeCOtecSzivGvQ"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_FxSdor9UEeCOtecSzivGvQ" points="[20, -5, -68, 17]$[79, -24, -9, -2]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_FyewcL9UEeCOtecSzivGvQ" id="(0.995260663507109,0.859504132231405)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Fyewcb9UEeCOtecSzivGvQ" id="(0.09,0.36)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_MfWREL9UEeCOtecSzivGvQ" type="4002" source="_W3L7sDQ4EeC0ueejuetpgA" target="_C_DmkL9UEeCOtecSzivGvQ" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_MfWRE79UEeCOtecSzivGvQ" type="6007">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_MfWRFL9UEeCOtecSzivGvQ" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_MfWREb9UEeCOtecSzivGvQ" fontHeight="8"/>
+      <element xmi:type="uml:Generalization" href="CHESS.profile.uml#_Me6MML9UEeCOtecSzivGvQ"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_MfWREr9UEeCOtecSzivGvQ" points="[34, -8, -76, 16]$[96, -39, -14, -15]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Mgij4L9UEeCOtecSzivGvQ" id="(0.7605633802816901,0.1347517730496454)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Mgij4b9UEeCOtecSzivGvQ" id="(0.3275862068965517,0.19736842105263158)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_XBgoQL9UEeCOtecSzivGvQ" type="4002" source="_cUyM0DQ4EeC0ueejuetpgA" target="_C_DmkL9UEeCOtecSzivGvQ" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_XBgoQ79UEeCOtecSzivGvQ" type="6007">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_XBgoRL9UEeCOtecSzivGvQ" x="-20" y="-13"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_XBgoQb9UEeCOtecSzivGvQ" fontHeight="8"/>
+      <element xmi:type="uml:Generalization" href="CHESS.profile.uml#_XA6yYL9UEeCOtecSzivGvQ"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_XBgoQr9UEeCOtecSzivGvQ" points="[-6, -11, 0, 56]$[15, -50, 21, 17]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XCHFML9UEeCOtecSzivGvQ" id="(0.7284768211920529,0.08870967741935484)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XCQPIL9UEeCOtecSzivGvQ" id="(0.7241379310344828,0.7763157894736842)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_ZRwzoL9UEeCOtecSzivGvQ" type="4002" source="_ehAz0DQ4EeC0ueejuetpgA" target="_C_DmkL9UEeCOtecSzivGvQ" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_ZRwzo79UEeCOtecSzivGvQ" type="6007">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_ZRwzpL9UEeCOtecSzivGvQ" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_ZRwzob9UEeCOtecSzivGvQ" fontHeight="8"/>
+      <element xmi:type="uml:Generalization" href="CHESS.profile.uml#_ZRUHsL9UEeCOtecSzivGvQ"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ZRwzor9UEeCOtecSzivGvQ" points="[-14, -8, 149, 77]$[-105, -81, 58, 4]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ZSWpgL9UEeCOtecSzivGvQ" id="(0.4765625,0.06451612903225806)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_ataSQL9UEeCOtecSzivGvQ" type="4002" source="_gt1QsDQ4EeC0ueejuetpgA" target="_C_DmkL9UEeCOtecSzivGvQ" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_ataSQ79UEeCOtecSzivGvQ" type="6007">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_ataSRL9UEeCOtecSzivGvQ" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_ataSQb9UEeCOtecSzivGvQ" fontHeight="8"/>
+      <element xmi:type="uml:Generalization" href="CHESS.profile.uml#_as9mUL9UEeCOtecSzivGvQ"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ataSQr9UEeCOtecSzivGvQ" points="[-36, -11, 243, 71]$[-265, -83, 14, -1]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_auAIIL9UEeCOtecSzivGvQ" id="(0.26666666666666666,0.125)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_auAIIb9UEeCOtecSzivGvQ" id="(0.8793103448275862,0.4868421052631579)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_cLSlgL9UEeCOtecSzivGvQ" type="4002" source="_-BrXsKcXEeCLJKy7uMU5GA" target="_C_DmkL9UEeCOtecSzivGvQ" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_cLSlg79UEeCOtecSzivGvQ" type="6007">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_cLSlhL9UEeCOtecSzivGvQ" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_cLSlgb9UEeCOtecSzivGvQ" fontHeight="8"/>
+      <element xmi:type="uml:Generalization" href="CHESS.profile.uml#_cK15kL9UEeCOtecSzivGvQ"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_cLSlgr9UEeCOtecSzivGvQ" points="[-9, -1, 427, 43]$[-413, -50, 23, -6]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_cMCMYL9UEeCOtecSzivGvQ" id="(0.06338028169014084,0.09701492537313433)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_cMCMYb9UEeCOtecSzivGvQ" id="(0.8017241379310345,0.3815789473684211)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_de47YL9UEeCOtecSzivGvQ" type="4002" source="_Wsmj4KcZEeCLJKy7uMU5GA" target="_C_DmkL9UEeCOtecSzivGvQ" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_de47Y79UEeCOtecSzivGvQ" type="6007">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_de47ZL9UEeCOtecSzivGvQ" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_de47Yb9UEeCOtecSzivGvQ" fontHeight="8"/>
+      <element xmi:type="uml:Generalization" href="CHESS.profile.uml#_decPcL9UEeCOtecSzivGvQ"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_de47Yr9UEeCOtecSzivGvQ" points="[-26, 1, 374, -17]$[-379, 12, 21, -6]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_dfexQL9UEeCOtecSzivGvQ" id="(0.16560509554140126,0.7089552238805971)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_dfexQb9UEeCOtecSzivGvQ" id="(0.8189655172413793,0.3815789473684211)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_lSqQsI19EeOAr5SJygOCbw" type="1013" source="_yQnwgImOEeODrcgAiMzRCg" target="_YOOAEDQ4EeC0ueejuetpgA" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_lSqQsY19EeOAr5SJygOCbw" fontName="Segoe UI"/>
+      <element xmi:type="uml:Extension" href="CHESS.profile.uml#_lSIFMI19EeOAr5SJygOCbw"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_lSqQso19EeOAr5SJygOCbw" points="[-1, -13, -5, 90]$[-1, -78, -5, 25]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_lSsF4I19EeOAr5SJygOCbw" id="(0.4485294117647059,0.12745098039215685)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_xlWYMI5rEeOCpeH37jWMhw" type="1013" source="_EuwHcI5rEeOCpeH37jWMhw" target="_YOOAEDQ4EeC0ueejuetpgA" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_xlWYMY5rEeOCpeH37jWMhw" fontName="Segoe UI"/>
+      <element xmi:type="uml:Extension" href="CHESS.profile.uml#_xlNOQI5rEeOCpeH37jWMhw"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_xlWYMo5rEeOCpeH37jWMhw" points="[-8, -14, 99, 165]$[-57, -170, 50, 9]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_xlZbgI5rEeOCpeH37jWMhw" id="(0.47,0.14)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_x_170I5rEeOCpeH37jWMhw" type="1013" source="_F1GEcI5rEeOCpeH37jWMhw" target="_YOOAEDQ4EeC0ueejuetpgA" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_x_170Y5rEeOCpeH37jWMhw" fontName="Segoe UI"/>
+      <element xmi:type="uml:Extension" href="CHESS.profile.uml#_x_xDUY5rEeOCpeH37jWMhw"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_x_170o5rEeOCpeH37jWMhw" points="[-50, -26, 180, 79]$[-180, -106, 50, -1]"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_yaWtkI5rEeOCpeH37jWMhw" type="1013" source="_GdL_MI5rEeOCpeH37jWMhw" target="_YOOAEDQ4EeC0ueejuetpgA" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_yaXUoI5rEeOCpeH37jWMhw" fontName="Segoe UI"/>
+      <element xmi:type="uml:Extension" href="CHESS.profile.uml#_yaOKsI5rEeOCpeH37jWMhw"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_yaXUoY5rEeOCpeH37jWMhw" points="[-50, 5, 209, -25]$[-278, 30, -19, 0]"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yaYiwI5rEeOCpeH37jWMhw" id="(0.19,0.5)"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_Fx_DYDQ6EeC0ueejuetpgA" type="PapyrusUMLProfileDiagram" name="FMEA" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_GKbYkDQ6EeC0ueejuetpgA" type="1026" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_GKbYkjQ6EeC0ueejuetpgA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_GKbYkzQ6EeC0ueejuetpgA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_GKbYlDQ6EeC0ueejuetpgA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_GKbYlTQ6EeC0ueejuetpgA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_GKbYljQ6EeC0ueejuetpgA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_GKbYlzQ6EeC0ueejuetpgA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_GKbYmDQ6EeC0ueejuetpgA" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_GKbYmTQ6EeC0ueejuetpgA" type="1071">
+        <children xmi:type="notation:Shape" xmi:id="_jdP88DQ7EeC0ueejuetpgA" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_DDrukMAREd-Dn5_MBIs5Vw"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_jdP88TQ7EeC0ueejuetpgA" x="80" y="4"/>
+        </children>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_GKbYmjQ6EeC0ueejuetpgA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_GKbYmzQ6EeC0ueejuetpgA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GKbYnDQ6EeC0ueejuetpgA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_GKbYnTQ6EeC0ueejuetpgA" type="1019">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_GKbYnjQ6EeC0ueejuetpgA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_GKbYnzQ6EeC0ueejuetpgA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GKbYoDQ6EeC0ueejuetpgA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="CHESS.profile.uml#_86lCUMAQEd-Dn5_MBIs5Vw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GKbYkTQ6EeC0ueejuetpgA" x="290" y="250" width="161"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_GdgFkDQ6EeC0ueejuetpgA" type="1031" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_GdgFkjQ6EeC0ueejuetpgA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_GdgFkzQ6EeC0ueejuetpgA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_GdgFlDQ6EeC0ueejuetpgA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_GdgFlTQ6EeC0ueejuetpgA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_GdgFljQ6EeC0ueejuetpgA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_GdgFlzQ6EeC0ueejuetpgA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_GdgFmDQ6EeC0ueejuetpgA" type="1084"/>
+      <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Comment"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GdgFkTQ6EeC0ueejuetpgA" x="198" y="124"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_BDcZ8KekEeCXsNuM83eyAA" type="1026" fontName="Segoe UI" transparency="0" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_BDcZ8qekEeCXsNuM83eyAA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_BDcZ86ekEeCXsNuM83eyAA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_BDcZ9KekEeCXsNuM83eyAA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_BDcZ9aekEeCXsNuM83eyAA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_BDcZ9qekEeCXsNuM83eyAA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_BDcZ96ekEeCXsNuM83eyAA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_BDcZ-KekEeCXsNuM83eyAA" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_BDcZ-aekEeCXsNuM83eyAA" type="1071">
+        <children xmi:type="notation:Shape" xmi:id="_JMg9YKelEeCXsNuM83eyAA" type="3002" fontName="Segoe UI" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_JMXzcKelEeCXsNuM83eyAA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_JMg9YaelEeCXsNuM83eyAA"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_m3JaQKelEeCXsNuM83eyAA" type="3002" fontName="Segoe UI" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_m28l8KelEeCXsNuM83eyAA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_m3JaQaelEeCXsNuM83eyAA"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_vZa9UKelEeCXsNuM83eyAA" type="3002" fontName="Segoe UI" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_vZPXIKelEeCXsNuM83eyAA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_vZa9UaelEeCXsNuM83eyAA"/>
+        </children>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_BDcZ-qekEeCXsNuM83eyAA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_BDcZ-6ekEeCXsNuM83eyAA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BDcZ_KekEeCXsNuM83eyAA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_BDcZ_aekEeCXsNuM83eyAA" type="1019">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_BDcZ_qekEeCXsNuM83eyAA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_BDcZ_6ekEeCXsNuM83eyAA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BDcaAKekEeCXsNuM83eyAA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="CHESS.profile.uml#_BDTQAKekEeCXsNuM83eyAA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BDcZ8aekEeCXsNuM83eyAA" x="490" y="225"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_DgnKgKelEeCXsNuM83eyAA" type="1026" fontName="Segoe UI" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_DgnKgqelEeCXsNuM83eyAA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_DgnKg6elEeCXsNuM83eyAA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_DgnKhKelEeCXsNuM83eyAA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_DgnKhaelEeCXsNuM83eyAA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_DgnKhqelEeCXsNuM83eyAA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_DgnKh6elEeCXsNuM83eyAA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_DgnKiKelEeCXsNuM83eyAA" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_DgnKiaelEeCXsNuM83eyAA" type="1071">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_DgnKiqelEeCXsNuM83eyAA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_DgnKi6elEeCXsNuM83eyAA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_DgnKjKelEeCXsNuM83eyAA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_DgnKjaelEeCXsNuM83eyAA" type="1019">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_DgnKjqelEeCXsNuM83eyAA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_DgnKj6elEeCXsNuM83eyAA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_DgnKkKelEeCXsNuM83eyAA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_9gc2ABKfEdyaWJN1BYon3A"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_DgnKgaelEeCXsNuM83eyAA" x="435" y="45"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_632IcKelEeCXsNuM83eyAA" type="2006" fontName="Segoe UI" transparency="0" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_632IcqelEeCXsNuM83eyAA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_632Ic6elEeCXsNuM83eyAA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_632IdKelEeCXsNuM83eyAA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_632vgKelEeCXsNuM83eyAA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_632vgaelEeCXsNuM83eyAA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_632vgqelEeCXsNuM83eyAA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_632vg6elEeCXsNuM83eyAA" type="5023"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_632vhKelEeCXsNuM83eyAA" type="1063">
+        <children xmi:type="notation:Shape" xmi:id="_BL5gcKemEeCXsNuM83eyAA" type="1037" fontName="Segoe UI" lineColor="0">
+          <element xmi:type="uml:EnumerationLiteral" href="CHESS.profile.uml#_BLt6QKemEeCXsNuM83eyAA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_BL5gcaemEeCXsNuM83eyAA"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_CORjcKemEeCXsNuM83eyAA" type="1037" fontName="Segoe UI" lineColor="0">
+          <element xmi:type="uml:EnumerationLiteral" href="CHESS.profile.uml#_COFWMKemEeCXsNuM83eyAA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_CORjcaemEeCXsNuM83eyAA"/>
+        </children>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_632vhaelEeCXsNuM83eyAA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_632vhqelEeCXsNuM83eyAA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_632vh6elEeCXsNuM83eyAA"/>
+      </children>
+      <element xmi:type="uml:Enumeration" href="CHESS.profile.uml#_63m34KelEeCXsNuM83eyAA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_632IcaelEeCXsNuM83eyAA" x="56" y="30"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_BtWd4CctEeG6n9L5cSMA1w" type="1026" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_BtXsACctEeG6n9L5cSMA1w" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_BtXsASctEeG6n9L5cSMA1w" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_BtXsAictEeG6n9L5cSMA1w" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_BtXsAyctEeG6n9L5cSMA1w" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_BtXsBCctEeG6n9L5cSMA1w" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_BtXsBSctEeG6n9L5cSMA1w" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_BtXsBictEeG6n9L5cSMA1w" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_BtXsByctEeG6n9L5cSMA1w" type="1071">
+        <children xmi:type="notation:Shape" xmi:id="_FDUUICctEeG6n9L5cSMA1w" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_FC75oCctEeG6n9L5cSMA1w"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_FDUUISctEeG6n9L5cSMA1w"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_GCTr8CctEeG6n9L5cSMA1w" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_GCB_ICctEeG6n9L5cSMA1w"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_GCTr8SctEeG6n9L5cSMA1w"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_BtXsCCctEeG6n9L5cSMA1w"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_BtXsCSctEeG6n9L5cSMA1w"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_BtXsCictEeG6n9L5cSMA1w"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BtXsCyctEeG6n9L5cSMA1w"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_BtXsDCctEeG6n9L5cSMA1w" type="1019">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_BtXsDSctEeG6n9L5cSMA1w"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_BtXsDictEeG6n9L5cSMA1w"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_BtXsDyctEeG6n9L5cSMA1w"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BtXsECctEeG6n9L5cSMA1w"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="CHESS.profile.uml#_BszrUCctEeG6n9L5cSMA1w"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BtWd4SctEeG6n9L5cSMA1w" x="41" y="244"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_WpjLACctEeG6n9L5cSMA1w" type="1031" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_WpjLAictEeG6n9L5cSMA1w" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_WpjLAyctEeG6n9L5cSMA1w" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_WpjLBCctEeG6n9L5cSMA1w" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_WpjLBSctEeG6n9L5cSMA1w" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_WpjLBictEeG6n9L5cSMA1w" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_WpjLByctEeG6n9L5cSMA1w" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_WpjLCictEeG6n9L5cSMA1w" source="Stereotype_Annotation">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zMW-4P3gEeOmz-4FDV-1Kw" key="StereotypeWithQualifiedNameList" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zMW-4f3gEeOmz-4FDV-1Kw" key="StereotypeList" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zMW-4v3gEeOmz-4FDV-1Kw" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zMXl8P3gEeOmz-4FDV-1Kw" key="PropStereoDisplay" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zMXl8f3gEeOmz-4FDV-1Kw" key="StereotypePropertyLocation" value="Compartment"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_WpjLCCctEeG6n9L5cSMA1w" type="1084"/>
+      <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#StateMachine"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WpjLCSctEeG6n9L5cSMA1w" x="40" y="155"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_Fx_DYTQ6EeC0ueejuetpgA"/>
+    <element xmi:type="uml:Profile" href="CHESS.profile.uml#_Z59uoLwzEd-CDNLmLgazUQ"/>
+    <edges xmi:type="notation:Connector" xmi:id="_GdzAgDQ6EeC0ueejuetpgA" type="1013" source="_GKbYkDQ6EeC0ueejuetpgA" target="_GdgFkDQ6EeC0ueejuetpgA" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_GdzAgTQ6EeC0ueejuetpgA" fontHeight="8"/>
+      <element xmi:type="uml:Extension" href="CHESS.profile.uml#_B4RrYcAREd-Dn5_MBIs5Vw"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_GdzAgjQ6EeC0ueejuetpgA" points="[-42, -50, 235, 285]$[-277, -335, 0, 0]"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_Dg6FcKelEeCXsNuM83eyAA" type="4002" source="_BDcZ8KekEeCXsNuM83eyAA" target="_DgnKgKelEeCXsNuM83eyAA" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_Dg6Fc6elEeCXsNuM83eyAA" type="6007">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_Dg6FdKelEeCXsNuM83eyAA" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_Dg6FcaelEeCXsNuM83eyAA" fontName="Segoe UI"/>
+      <element xmi:type="uml:Generalization" href="CHESS.profile.uml#_zILjgKekEeCXsNuM83eyAA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Dg6FcqelEeCXsNuM83eyAA" points="[-50, -22, 487, 211]$[-537, -233, 0, 0]"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_EQ8cACctEeG6n9L5cSMA1w" type="1013" source="_BtWd4CctEeG6n9L5cSMA1w" target="_GdgFkDQ6EeC0ueejuetpgA" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_EQ8cASctEeG6n9L5cSMA1w" fontHeight="8"/>
+      <element xmi:type="uml:Extension" href="CHESS.profile.uml#_EQfJACctEeG6n9L5cSMA1w"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_EQ8cAictEeG6n9L5cSMA1w" points="[16, -17, -107, 106]$[119, -148, -4, -25]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ERQlECctEeG6n9L5cSMA1w" id="(0.84,0.28)"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_T56zMFiJEeG7ipvuc3Lqcg" type="PapyrusUMLProfileDiagram" name="MitigationMeans" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_VEaQYFiJEeG7ipvuc3Lqcg" type="1026" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_VEcsoFiJEeG7ipvuc3Lqcg" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_VEcsoViJEeG7ipvuc3Lqcg" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_VEcsoliJEeG7ipvuc3Lqcg" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_VEcso1iJEeG7ipvuc3Lqcg" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_VEdTsFiJEeG7ipvuc3Lqcg" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_VEdTsViJEeG7ipvuc3Lqcg" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_VEdTsliJEeG7ipvuc3Lqcg" type="1034"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_VEdTs1iJEeG7ipvuc3Lqcg" type="1071">
+        <children xmi:type="notation:Shape" xmi:id="_bn7AsFiJEeG7ipvuc3Lqcg" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_bnimMFiJEeG7ipvuc3Lqcg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_bn7AsViJEeG7ipvuc3Lqcg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_ci6pUFiJEeG7ipvuc3Lqcg" type="3002" fontHeight="8" lineColor="0">
+          <element xmi:type="uml:Property" href="CHESS.profile.uml#_cicIMFiJEeG7ipvuc3Lqcg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_ci6pUViJEeG7ipvuc3Lqcg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_VEdTtFiJEeG7ipvuc3Lqcg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_VEdTtViJEeG7ipvuc3Lqcg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_VEdTtliJEeG7ipvuc3Lqcg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_VEdTt1iJEeG7ipvuc3Lqcg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_VEdTuFiJEeG7ipvuc3Lqcg" type="1019">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_VEdTuViJEeG7ipvuc3Lqcg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_VEdTuliJEeG7ipvuc3Lqcg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_VEdTu1iJEeG7ipvuc3Lqcg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_VEdTvFiJEeG7ipvuc3Lqcg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="CHESS.profile.uml#_VD3d0FiJEeG7ipvuc3Lqcg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_VEaQYViJEeG7ipvuc3Lqcg" x="192" y="196"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_YotdkFiJEeG7ipvuc3Lqcg" type="1031" fontHeight="8" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_YouEoFiJEeG7ipvuc3Lqcg" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_YoursFiJEeG7ipvuc3Lqcg" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_YoursViJEeG7ipvuc3Lqcg" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_YoursliJEeG7ipvuc3Lqcg" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Yours1iJEeG7ipvuc3Lqcg" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_YourtFiJEeG7ipvuc3Lqcg" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_YovSwViJEeG7ipvuc3Lqcg" source="Stereotype_Annotation">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ziV18P3gEeOmz-4FDV-1Kw" key="StereotypeWithQualifiedNameList" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ziWdAP3gEeOmz-4FDV-1Kw" key="StereotypeList" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ziWdAf3gEeOmz-4FDV-1Kw" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ziWdAv3gEeOmz-4FDV-1Kw" key="PropStereoDisplay" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ziXEEP3gEeOmz-4FDV-1Kw" key="StereotypePropertyLocation" value="Compartment"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_YourtViJEeG7ipvuc3Lqcg" type="1084"/>
+      <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Connector"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_YovSwFiJEeG7ipvuc3Lqcg" x="373" y="69"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_T56zMViJEeG7ipvuc3Lqcg"/>
+    <element xmi:type="uml:Profile" href="CHESS.profile.uml#_kJICMFiIEeGbwa2cK55fPQ"/>
+    <edges xmi:type="notation:Connector" xmi:id="_ZTYLMFiJEeG7ipvuc3Lqcg" type="1013" source="_VEaQYFiJEeG7ipvuc3Lqcg" target="_YotdkFiJEeG7ipvuc3Lqcg" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_ZTYLMViJEeG7ipvuc3Lqcg" fontHeight="8"/>
+      <element xmi:type="uml:Extension" href="CHESS.profile.uml#_ZS0xkFiJEeG7ipvuc3Lqcg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ZTYLMliJEeG7ipvuc3Lqcg" points="[53, -50, -117, 102]$[120, -150, -50, 2]"/>
+    </edges>
+  </notation:Diagram>
+  <css:ModelStyleSheets xmi:id="_ICWWUP3hEeOmz-4FDV-1Kw"/>
+</xmi:XMI>
diff --git a/plugins/org.polarsys.chess.chessmlprofile/model/CHESS.profile.uml b/plugins/org.polarsys.chess.chessmlprofile/model/CHESS.profile.uml
new file mode 100644
index 000000000..d271e9d8a
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/model/CHESS.profile.uml
@@ -0,0 +1,10525 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:DataTypes="http://www.eclipse.org/papyrus/DataTypes/1" 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/papyrus/DataTypes/1 http://www.eclipse.org/papyrus/MARTE/1#//VSL/DataTypes http://www.eclipse.org/uml2/schemas/Ecore/5 pathmap://UML_PROFILES/Ecore.profile.uml#_z1OFcHjqEdy8S4Cr8Rc_NA">
+  <uml:Profile xmi:id="_EA6IcDcwEd-mWLzcI61s7Q" name="CHESS" URI="http://CHESS" metaclassReference="_f4IT8LzoEd-yoLyJo0JlOg _hi07MLzoEd-yoLyJo0JlOg _06BxsLzuEd-yoLyJo0JlOg _xsRxML88Ed-TL8tpOyViyA _IuJJQMAMEd-Dn5_MBIs5Vw _BWmhsMAREd-Dn5_MBIs5Vw">
+    <elementImport xmi:type="uml:ElementImport" xmi:id="_f4IT8LzoEd-yoLyJo0JlOg" alias="Component">
+      <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Component"/>
+    </elementImport>
+    <elementImport xmi:type="uml:ElementImport" xmi:id="_hi07MLzoEd-yoLyJo0JlOg" alias="Property">
+      <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+    </elementImport>
+    <elementImport xmi:type="uml:ElementImport" xmi:id="_06BxsLzuEd-yoLyJo0JlOg" alias="Connector">
+      <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Connector"/>
+    </elementImport>
+    <elementImport xmi:type="uml:ElementImport" xmi:id="_xsRxML88Ed-TL8tpOyViyA" alias="Activity">
+      <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Activity"/>
+    </elementImport>
+    <elementImport xmi:type="uml:ElementImport" xmi:id="_IuJJQMAMEd-Dn5_MBIs5Vw" alias="Class">
+      <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+    </elementImport>
+    <elementImport xmi:type="uml:ElementImport" xmi:id="_BWmhsMAREd-Dn5_MBIs5Vw" alias="Comment">
+      <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Comment"/>
+    </elementImport>
+    <packageImport xmi:type="uml:PackageImport" xmi:id="_EA6IcTcwEd-mWLzcI61s7Q">
+      <importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/>
+    </packageImport>
+    <packageImport xmi:type="uml:PackageImport" xmi:id="_Kmy3UTcwEd-mWLzcI61s7Q">
+      <importedPackage xmi:type="uml:Package" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_dDxjEAeNEdytasR0-Ec7ew"/>
+    </packageImport>
+    <packageImport xmi:type="uml:PackageImport" xmi:id="_Knc-oDcwEd-mWLzcI61s7Q">
+      <importedPackage xmi:type="uml:Package" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_3DJKAA4uEdysTsAUPnp57Q"/>
+    </packageImport>
+    <packageImport xmi:type="uml:PackageImport" xmi:id="_Kn64sDcwEd-mWLzcI61s7Q">
+      <importedPackage xmi:type="uml:Package" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_X3JtMAeNEdytasR0-Ec7ew"/>
+    </packageImport>
+    <packageImport xmi:type="uml:PackageImport" xmi:id="_Ko6XMDcwEd-mWLzcI61s7Q">
+      <importedPackage xmi:type="uml:Package" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_g2qR8A74EdyML4mHwjNDrw"/>
+    </packageImport>
+    <packageImport xmi:type="uml:PackageImport" xmi:id="_KpSKoDcwEd-mWLzcI61s7Q">
+      <importedPackage xmi:type="uml:Package" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_l6ms8A74EdyML4mHwjNDrw"/>
+    </packageImport>
+    <packageImport xmi:type="uml:PackageImport" xmi:id="_Kp9gEDcwEd-mWLzcI61s7Q">
+      <importedPackage xmi:type="uml:Package" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_x9l9sA74EdyML4mHwjNDrw"/>
+    </packageImport>
+    <packageImport xmi:type="uml:PackageImport" xmi:id="_KqS3QDcwEd-mWLzcI61s7Q">
+      <importedPackage xmi:type="uml:Package" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_2GPOEA74EdyML4mHwjNDrw"/>
+    </packageImport>
+    <packageImport xmi:type="uml:PackageImport" xmi:id="_KqvjMDcwEd-mWLzcI61s7Q">
+      <importedPackage xmi:type="uml:Package" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_RTwjABgzEdyHL91mBnoLNQ"/>
+    </packageImport>
+    <packagedElement xmi:type="uml:Profile" xmi:id="_ad4owDgVEd-68Z_bhNRGsA" name="Core" URI="http://CHESS/Core" metaclassReference="_x8t_0DgXEd-68Z_bhNRGsA _FEHugDgYEd-68Z_bhNRGsA _mUYGcE7nEeCiWfCHUearZQ _wDY7IFYfEeGwxKcMAge2Cg">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_p-a_7jgVEd-68Z_bhNRGsA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <contents xmi:type="ecore:EPackage" xmi:id="_v7qw0U7nEeCiWfCHUearZQ" name="Core" nsURI="http://CHESS/Core" nsPrefix="Core">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_v9v0cE7nEeCiWfCHUearZQ" source="PapyrusVersion">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_v9v0cU7nEeCiWfCHUearZQ" key="Version" value="0.1.10"/>
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_v9v0ck7nEeCiWfCHUearZQ" key="Comment" value="added Core::CHGAResourcePlatform"/>
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_v9v0c07nEeCiWfCHUearZQ" key="Copyright" value=""/>
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_v9v0dE7nEeCiWfCHUearZQ" key="Date" value="2011-03-15"/>
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_v9v0dU7nEeCiWfCHUearZQ" key="Author" value=""/>
+          </eAnnotations>
+          <eClassifiers xmi:type="ecore:EClass" xmi:id="_v7qw0k7nEeCiWfCHUearZQ" name="CHESS">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_v7qw007nEeCiWfCHUearZQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_opjLUDgXEd-68Z_bhNRGsA"/>
+            <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_v7qw1E7nEeCiWfCHUearZQ" name="base_Model" ordered="false" unique="false" lowerBound="1">
+              <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Model"/>
+            </eStructuralFeatures>
+            <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_v7qw1k7nEeCiWfCHUearZQ" name="analysisView" ordered="false" lowerBound="1" eType="_v7z6wk7nEeCiWfCHUearZQ"/>
+            <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_v7qw2E7nEeCiWfCHUearZQ" name="deploymentView" ordered="false" lowerBound="1" eType="_v7z63k7nEeCiWfCHUearZQ"/>
+            <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_v7qw2k7nEeCiWfCHUearZQ" name="requirementView" ordered="false" lowerBound="1" eType="_v7z64k7nEeCiWfCHUearZQ"/>
+            <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_v7qw3E7nEeCiWfCHUearZQ" name="componentView" ordered="false" lowerBound="1" eType="_v7z65k7nEeCiWfCHUearZQ"/>
+          </eClassifiers>
+          <eClassifiers xmi:type="ecore:EClass" xmi:id="_v7qw9E7nEeCiWfCHUearZQ" name="CHGaResourcePlatform">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_v7qw9U7nEeCiWfCHUearZQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_a-X3gE7nEeCiWfCHUearZQ"/>
+            <eSuperTypes xmi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/MARTE/1#//GQAM/GaResourcesPlatform"/>
+            <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_v7qw9k7nEeCiWfCHUearZQ" name="base_InstanceSpecification" ordered="false" lowerBound="1">
+              <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//InstanceSpecification"/>
+            </eStructuralFeatures>
+            <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_v7qw-E7nEeCiWfCHUearZQ" name="base_Package" ordered="false" lowerBound="1">
+              <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+            </eStructuralFeatures>
+          </eClassifiers>
+        </contents>
+        <contents xmi:type="ecore:EPackage" xmi:id="_EVh4oETyEeChVqfgLme9HQ" name="Core" nsURI="http://CHESS/schemas/Core/_EVYusETyEeChVqfgLme9HQ/20" nsPrefix="Core">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EXBGYETyEeChVqfgLme9HQ" source="PapyrusVersion">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EXBGYUTyEeChVqfgLme9HQ" key="Version" value="0.1.9"/>
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EXBGYkTyEeChVqfgLme9HQ" key="Comment" value="added right views references for CHESS"/>
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EXBGY0TyEeChVqfgLme9HQ" key="Copyright" value=""/>
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EXBGZETyEeChVqfgLme9HQ" key="Date" value="2011-03-02"/>
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EXBGZUTyEeChVqfgLme9HQ" key="Author" value=""/>
+          </eAnnotations>
+          <eClassifiers xmi:type="ecore:EClass" xmi:id="_EVh4oUTyEeChVqfgLme9HQ" name="CHESS">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EVh4okTyEeChVqfgLme9HQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_opjLUDgXEd-68Z_bhNRGsA"/>
+            <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_EVh4o0TyEeChVqfgLme9HQ" name="base_Model" ordered="false" unique="false" lowerBound="1">
+              <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Model"/>
+            </eStructuralFeatures>
+            <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_EVh4pUTyEeChVqfgLme9HQ" name="analysisView" ordered="false" lowerBound="1" eType="_EVh4xUTyEeChVqfgLme9HQ"/>
+            <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_EVh4p0TyEeChVqfgLme9HQ" name="deploymentView" ordered="false" lowerBound="1" eType="_EVh44UTyEeChVqfgLme9HQ"/>
+            <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_EVh4qUTyEeChVqfgLme9HQ" name="requirementView" ordered="false" lowerBound="1" eType="_EVh45UTyEeChVqfgLme9HQ"/>
+            <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_EVh4q0TyEeChVqfgLme9HQ" name="componentView" ordered="false" lowerBound="1" eType="_EVh46UTyEeChVqfgLme9HQ"/>
+          </eClassifiers>
+        </contents>
+        <contents xmi:type="ecore:EPackage" xmi:id="_PfTEoce6Ed-7etIj5eTw0Q" name="Core" nsURI="http://CHESS/schemas/Core/_PfTEoMe6Ed-7etIj5eTw0Q/19" nsPrefix="Core">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_UbqQ8Me6Ed-7etIj5eTw0Q" source="PapyrusVersion">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_UbqQ8ce6Ed-7etIj5eTw0Q" key="Version" value="0.1.8"/>
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_UbqQ8se6Ed-7etIj5eTw0Q" key="Comment" value=""/>
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_UbqQ88e6Ed-7etIj5eTw0Q" key="Copyright" value=""/>
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_UbqQ9Me6Ed-7etIj5eTw0Q" key="Date" value="2010-09-24"/>
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_UbqQ9ce6Ed-7etIj5eTw0Q" key="Author" value=""/>
+          </eAnnotations>
+          <eClassifiers xmi:type="ecore:EClass" xmi:id="_PfTEose6Ed-7etIj5eTw0Q" name="CHESS">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_PfTEo8e6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_opjLUDgXEd-68Z_bhNRGsA"/>
+            <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_PfTEpMe6Ed-7etIj5eTw0Q" name="base_Model" ordered="false" unique="false" lowerBound="1">
+              <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Model"/>
+            </eStructuralFeatures>
+            <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_PfTEpse6Ed-7etIj5eTw0Q" name="analysisView" ordered="false" lowerBound="1" eType="_Pfc1ose6Ed-7etIj5eTw0Q"/>
+            <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_PfTEqMe6Ed-7etIj5eTw0Q" name="functionalView" ordered="false" lowerBound="1" eType="_Pfc1yse6Ed-7etIj5eTw0Q"/>
+            <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_PfTEqse6Ed-7etIj5eTw0Q" name="extraFunctionalView" ordered="false" lowerBound="1" eType="_Pfc1uMe6Ed-7etIj5eTw0Q"/>
+            <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_PfTErMe6Ed-7etIj5eTw0Q" name="deploymentView" ordered="false" lowerBound="1" eType="_Pfc10se6Ed-7etIj5eTw0Q"/>
+          </eClassifiers>
+        </contents>
+      </eAnnotations>
+      <elementImport xmi:type="uml:ElementImport" xmi:id="_x8t_0DgXEd-68Z_bhNRGsA" alias="Model">
+        <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Model"/>
+      </elementImport>
+      <elementImport xmi:type="uml:ElementImport" xmi:id="_FEHugDgYEd-68Z_bhNRGsA" alias="Package">
+        <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Package"/>
+      </elementImport>
+      <elementImport xmi:type="uml:ElementImport" xmi:id="_mUYGcE7nEeCiWfCHUearZQ" alias="InstanceSpecification">
+        <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#InstanceSpecification"/>
+      </elementImport>
+      <elementImport xmi:type="uml:ElementImport" xmi:id="_wDY7IFYfEeGwxKcMAge2Cg" alias="Slot">
+        <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Slot"/>
+      </elementImport>
+      <packagedElement xmi:type="uml:Stereotype" xmi:id="_opjLUDgXEd-68Z_bhNRGsA" name="CHESS">
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_1Baf4jgXEd-68Z_bhNRGsA" name="base_Model" isUnique="false" association="_1Baf4DgXEd-68Z_bhNRGsA">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Model"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_708k4MJeEd-9OOhgleDe8g" name="analysisView" type="_KYAcoLwzEd-CDNLmLgazUQ" aggregation="composite"/>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_AX1dEMJmEd-o9IXQjCmxTw" name="deploymentView" type="_6-HM4MJFEd-0jpzjleFnug" aggregation="composite"/>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_0mxgwETxEeChVqfgLme9HQ" name="requirementView" visibility="public" type="_E1ZRkDQ1EeC0ueejuetpgA" aggregation="composite">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3Y_wwETxEeChVqfgLme9HQ" value="1"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3ZTSwETxEeChVqfgLme9HQ" value="1"/>
+          <defaultValue xmi:type="uml:LiteralString" xmi:id="_3ZmNsETxEeChVqfgLme9HQ">
+            <value xsi:nil="true"/>
+          </defaultValue>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_80gXMETxEeChVqfgLme9HQ" name="componentView" visibility="public" type="_cMJs4DkoEeCw66wKEzSFRg" aggregation="composite">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_-njCIETxEeChVqfgLme9HQ" value="1"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_-nszIETxEeChVqfgLme9HQ" value="1"/>
+          <defaultValue xmi:type="uml:LiteralString" xmi:id="_-n_uEETxEeChVqfgLme9HQ">
+            <value xsi:nil="true"/>
+          </defaultValue>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_G4dxMPWcEeG6etnsQZngdA" name="systemView" type="_-q1ocPWbEeG6etnsQZngdA" aggregation="composite"/>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Extension" xmi:id="_1Baf4DgXEd-68Z_bhNRGsA" name="Extension_CHESS" memberEnd="_1Baf4TgXEd-68Z_bhNRGsA _1Baf4jgXEd-68Z_bhNRGsA">
+        <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_1Baf4TgXEd-68Z_bhNRGsA" name="extension_CHESS" type="_opjLUDgXEd-68Z_bhNRGsA" aggregation="composite" association="_1Baf4DgXEd-68Z_bhNRGsA"/>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Profile" xmi:id="_FttqgMJDEd-0jpzjleFnug" name="CHESSViews" URI="http://CHESS/Core/Views" metaclassReference="_f_fboDkoEeCw66wKEzSFRg">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_9qjjAMJbEd-0jpzjleFnug" source="http://www.eclipse.org/uml2/2.0.0/UML">
+          <contents xmi:type="ecore:EPackage" xmi:id="_v7z6wU7nEeCiWfCHUearZQ" name="CHESSViews" nsURI="http://CHESS/Core/Views" nsPrefix="CHESSViews">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_wASLEE7nEeCiWfCHUearZQ" source="PapyrusVersion">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_wASLEU7nEeCiWfCHUearZQ" key="Version" value="0.1.10"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_wASLEk7nEeCiWfCHUearZQ" key="Comment" value="added Core::CHGAResourcePlatform"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_wASLE07nEeCiWfCHUearZQ" key="Copyright" value=""/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_wASLFE7nEeCiWfCHUearZQ" key="Date" value="2011-03-15"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_wASLFU7nEeCiWfCHUearZQ" key="Author" value=""/>
+            </eAnnotations>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_v7z6wk7nEeCiWfCHUearZQ" name="AnalysisView">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_v7z6w07nEeCiWfCHUearZQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_KYAcoLwzEd-CDNLmLgazUQ"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_v7z6xE7nEeCiWfCHUearZQ" name="base_Package" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_v7z6xk7nEeCiWfCHUearZQ" name="rtanalysisview" ordered="false" lowerBound="1" eType="_v7z6yE7nEeCiWfCHUearZQ"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_v7z6yE7nEeCiWfCHUearZQ" name="RTAnalysisView">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_v7z6yU7nEeCiWfCHUearZQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_-ir0cLwyEd-CDNLmLgazUQ"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_v7z6yk7nEeCiWfCHUearZQ" name="base_Package" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_v7z6zE7nEeCiWfCHUearZQ" name="ExtraFunctionalView">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_v7z6zU7nEeCiWfCHUearZQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_6bSHkDgXEd-68Z_bhNRGsA"/>
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_v7z6zk7nEeCiWfCHUearZQ" source="duplicates">
+                <contents xmi:type="ecore:EReference" xmi:id="_v7z6z07nEeCiWfCHUearZQ" name="base_Package" ordered="false" lowerBound="1">
+                  <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_v7z60E7nEeCiWfCHUearZQ" source="redefines" references="_v7z60k7nEeCiWfCHUearZQ"/>
+                  <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+                </contents>
+              </eAnnotations>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_v7z60k7nEeCiWfCHUearZQ" name="base_Package" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_v7z61E7nEeCiWfCHUearZQ" name="timingdataflowview" ordered="false" lowerBound="1" eType="_v7z61k7nEeCiWfCHUearZQ"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_v7z61k7nEeCiWfCHUearZQ" name="TimingDataFlowView">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_v7z6107nEeCiWfCHUearZQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_fOsNELwyEd-CDNLmLgazUQ"/>
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_v7z62E7nEeCiWfCHUearZQ" source="duplicates">
+                <contents xmi:type="ecore:EReference" xmi:id="_v7z62U7nEeCiWfCHUearZQ" name="base_Package" ordered="false" lowerBound="1">
+                  <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_v7z62k7nEeCiWfCHUearZQ" source="redefines" references="_v7z63E7nEeCiWfCHUearZQ"/>
+                  <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+                </contents>
+              </eAnnotations>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_v7z63E7nEeCiWfCHUearZQ" name="base_Package" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_v7z63k7nEeCiWfCHUearZQ" name="DeploymentView">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_v7z6307nEeCiWfCHUearZQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_6-HM4MJFEd-0jpzjleFnug"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_v7z64E7nEeCiWfCHUearZQ" name="base_Package" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_v7z64k7nEeCiWfCHUearZQ" name="RequirementView">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_v7z6407nEeCiWfCHUearZQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_E1ZRkDQ1EeC0ueejuetpgA"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_v7z65E7nEeCiWfCHUearZQ" name="base_Package" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_v7z65k7nEeCiWfCHUearZQ" name="ComponentView">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_v7z6507nEeCiWfCHUearZQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_cMJs4DkoEeCw66wKEzSFRg"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_v7z66E7nEeCiWfCHUearZQ" name="base_Package" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_v7z66k7nEeCiWfCHUearZQ" name="DependabilityAnalysisView">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_v7z6607nEeCiWfCHUearZQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_EBEuADqeEeCYT-iAb0LhsA"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_v7z67E7nEeCiWfCHUearZQ" name="base_Package" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+          </contents>
+          <contents xmi:type="ecore:EPackage" xmi:id="_EVh4xETyEeChVqfgLme9HQ" name="CHESSViews" nsURI="http://CHESS.Core/schemas/CHESSViews/_EVh4w0TyEeChVqfgLme9HQ/24" nsPrefix="CHESSViews">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EZZsAETyEeChVqfgLme9HQ" source="PapyrusVersion">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EZZsAUTyEeChVqfgLme9HQ" key="Version" value="0.1.9"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EZZsAkTyEeChVqfgLme9HQ" key="Comment" value="added right views references for CHESS"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EZZsA0TyEeChVqfgLme9HQ" key="Copyright" value=""/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EZZsBETyEeChVqfgLme9HQ" key="Date" value="2011-03-02"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EZZsBUTyEeChVqfgLme9HQ" key="Author" value=""/>
+            </eAnnotations>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_EVh4xUTyEeChVqfgLme9HQ" name="AnalysisView">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EVh4xkTyEeChVqfgLme9HQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_KYAcoLwzEd-CDNLmLgazUQ"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_EVh4x0TyEeChVqfgLme9HQ" name="base_Package" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_EVh4yUTyEeChVqfgLme9HQ" name="rtanalysisview" ordered="false" lowerBound="1" eType="_EVh4y0TyEeChVqfgLme9HQ"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_EVh4y0TyEeChVqfgLme9HQ" name="RTAnalysisView">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EVh4zETyEeChVqfgLme9HQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_-ir0cLwyEd-CDNLmLgazUQ"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_EVh4zUTyEeChVqfgLme9HQ" name="base_Package" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_EVh4z0TyEeChVqfgLme9HQ" name="ExtraFunctionalView">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EVh40ETyEeChVqfgLme9HQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_6bSHkDgXEd-68Z_bhNRGsA"/>
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EVh40UTyEeChVqfgLme9HQ" source="duplicates">
+                <contents xmi:type="ecore:EReference" xmi:id="_EVh40kTyEeChVqfgLme9HQ" name="base_Package" ordered="false" lowerBound="1">
+                  <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EVh400TyEeChVqfgLme9HQ" source="redefines" references="_EVh41UTyEeChVqfgLme9HQ"/>
+                  <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+                </contents>
+              </eAnnotations>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_EVh41UTyEeChVqfgLme9HQ" name="base_Package" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_EVh410TyEeChVqfgLme9HQ" name="timingdataflowview" ordered="false" lowerBound="1" eType="_EVh42UTyEeChVqfgLme9HQ"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_EVh42UTyEeChVqfgLme9HQ" name="TimingDataFlowView">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EVh42kTyEeChVqfgLme9HQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_fOsNELwyEd-CDNLmLgazUQ"/>
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EVh420TyEeChVqfgLme9HQ" source="duplicates">
+                <contents xmi:type="ecore:EReference" xmi:id="_EVh43ETyEeChVqfgLme9HQ" name="base_Package" ordered="false" lowerBound="1">
+                  <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EVh43UTyEeChVqfgLme9HQ" source="redefines" references="_EVh430TyEeChVqfgLme9HQ"/>
+                  <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+                </contents>
+              </eAnnotations>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_EVh430TyEeChVqfgLme9HQ" name="base_Package" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_EVh44UTyEeChVqfgLme9HQ" name="DeploymentView">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EVh44kTyEeChVqfgLme9HQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_6-HM4MJFEd-0jpzjleFnug"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_EVh440TyEeChVqfgLme9HQ" name="base_Package" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_EVh45UTyEeChVqfgLme9HQ" name="RequirementView">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EVh45kTyEeChVqfgLme9HQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_E1ZRkDQ1EeC0ueejuetpgA"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_EVh450TyEeChVqfgLme9HQ" name="base_Package" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_EVh46UTyEeChVqfgLme9HQ" name="ComponentView">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EVh46kTyEeChVqfgLme9HQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_cMJs4DkoEeCw66wKEzSFRg"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_EVh460TyEeChVqfgLme9HQ" name="base_Package" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_EVh47UTyEeChVqfgLme9HQ" name="DependabilityAnalysisView">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EVh47kTyEeChVqfgLme9HQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_EBEuADqeEeCYT-iAb0LhsA"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_EVh470TyEeChVqfgLme9HQ" name="base_Package" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+          </contents>
+          <contents xmi:type="ecore:EPackage" xmi:id="_pngpMDqxEeCUI4z76XHrLw" name="CHESSViews" nsURI="http://CHESS.Core/schemas/CHESSViews/_pnW4MDqxEeCUI4z76XHrLw/23" nsPrefix="CHESSViews">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ppTY8DqxEeCUI4z76XHrLw" source="PapyrusVersion">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ppTY8TqxEeCUI4z76XHrLw" key="Version" value="0.0.1"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ppTY8jqxEeCUI4z76XHrLw" key="Comment" value=""/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ppTY8zqxEeCUI4z76XHrLw" key="Copyright" value=""/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ppTY9DqxEeCUI4z76XHrLw" key="Date" value="2011-02-17"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ppTY9TqxEeCUI4z76XHrLw" key="Author" value=""/>
+            </eAnnotations>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_pngpMTqxEeCUI4z76XHrLw" name="AnalysisView">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_pngpMjqxEeCUI4z76XHrLw" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_KYAcoLwzEd-CDNLmLgazUQ"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_pngpMzqxEeCUI4z76XHrLw" name="base_Package" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_pngpNTqxEeCUI4z76XHrLw" name="rtanalysisview" ordered="false" lowerBound="1" eType="_pngpNzqxEeCUI4z76XHrLw"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_pngpNzqxEeCUI4z76XHrLw" name="RTAnalysisView">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_pngpODqxEeCUI4z76XHrLw" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_-ir0cLwyEd-CDNLmLgazUQ"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_pngpOTqxEeCUI4z76XHrLw" name="base_Package" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_pngpOzqxEeCUI4z76XHrLw" name="ExtraFunctionalView">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_pngpPDqxEeCUI4z76XHrLw" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_6bSHkDgXEd-68Z_bhNRGsA"/>
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_pngpPTqxEeCUI4z76XHrLw" source="duplicates">
+                <contents xmi:type="ecore:EReference" xmi:id="_pngpPjqxEeCUI4z76XHrLw" name="base_Package" ordered="false" lowerBound="1">
+                  <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_pngpPzqxEeCUI4z76XHrLw" source="redefines" references="_pngpQTqxEeCUI4z76XHrLw"/>
+                  <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+                </contents>
+              </eAnnotations>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_pngpQTqxEeCUI4z76XHrLw" name="base_Package" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_pngpQzqxEeCUI4z76XHrLw" name="timingdataflowview" ordered="false" lowerBound="1" eType="_pngpRTqxEeCUI4z76XHrLw"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_pngpRTqxEeCUI4z76XHrLw" name="TimingDataFlowView">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_pngpRjqxEeCUI4z76XHrLw" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_fOsNELwyEd-CDNLmLgazUQ"/>
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_pngpRzqxEeCUI4z76XHrLw" source="duplicates">
+                <contents xmi:type="ecore:EReference" xmi:id="_pngpSDqxEeCUI4z76XHrLw" name="base_Package" ordered="false" lowerBound="1">
+                  <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_pngpSTqxEeCUI4z76XHrLw" source="redefines" references="_pngpSzqxEeCUI4z76XHrLw"/>
+                  <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+                </contents>
+              </eAnnotations>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_pngpSzqxEeCUI4z76XHrLw" name="base_Package" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_pngpTTqxEeCUI4z76XHrLw" name="DeploymentView">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_pngpTjqxEeCUI4z76XHrLw" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_6-HM4MJFEd-0jpzjleFnug"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_pngpTzqxEeCUI4z76XHrLw" name="base_Package" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_pngpUTqxEeCUI4z76XHrLw" name="RequirementView">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_pngpUjqxEeCUI4z76XHrLw" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_E1ZRkDQ1EeC0ueejuetpgA"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_pngpUzqxEeCUI4z76XHrLw" name="base_Package" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_pngpVTqxEeCUI4z76XHrLw" name="ComponentView">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_pngpVjqxEeCUI4z76XHrLw" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_cMJs4DkoEeCw66wKEzSFRg"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_pngpVzqxEeCUI4z76XHrLw" name="base_Package" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_pngpWTqxEeCUI4z76XHrLw" name="DependabilityAnalysisView">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_pngpWjqxEeCUI4z76XHrLw" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_EBEuADqeEeCYT-iAb0LhsA"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_pngpWzqxEeCUI4z76XHrLw" name="base_Package" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+          </contents>
+          <contents xmi:type="ecore:EPackage" xmi:id="_J4JPEDqeEeCYT-iAb0LhsA" name="CHESSViews" nsURI="http://CHESS.Core/schemas/CHESSViews/_J3_eEDqeEeCYT-iAb0LhsA/22" nsPrefix="CHESSViews">
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_J4JPETqeEeCYT-iAb0LhsA" name="AnalysisView">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_J4JPEjqeEeCYT-iAb0LhsA" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_KYAcoLwzEd-CDNLmLgazUQ"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_J4JPEzqeEeCYT-iAb0LhsA" name="base_Package" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_J4JPFTqeEeCYT-iAb0LhsA" name="rtanalysisview" ordered="false" lowerBound="1" eType="_J4JPGDqeEeCYT-iAb0LhsA"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_J4JPGDqeEeCYT-iAb0LhsA" name="RTAnalysisView">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_J4JPGTqeEeCYT-iAb0LhsA" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_-ir0cLwyEd-CDNLmLgazUQ"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_J4JPGjqeEeCYT-iAb0LhsA" name="base_Package" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_J4JPHDqeEeCYT-iAb0LhsA" name="ExtraFunctionalView">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_J4JPHTqeEeCYT-iAb0LhsA" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_6bSHkDgXEd-68Z_bhNRGsA"/>
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_J4JPHjqeEeCYT-iAb0LhsA" source="duplicates">
+                <contents xmi:type="ecore:EReference" xmi:id="_J4JPHzqeEeCYT-iAb0LhsA" name="base_Package" ordered="false" lowerBound="1">
+                  <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_J4JPIDqeEeCYT-iAb0LhsA" source="redefines" references="_J4JPIjqeEeCYT-iAb0LhsA"/>
+                  <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+                </contents>
+              </eAnnotations>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_J4JPIjqeEeCYT-iAb0LhsA" name="base_Package" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_J4JPJDqeEeCYT-iAb0LhsA" name="timingdataflowview" ordered="false" lowerBound="1" eType="_J4JPJjqeEeCYT-iAb0LhsA" containment="true"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_J4JPJjqeEeCYT-iAb0LhsA" name="TimingDataFlowView">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_J4JPJzqeEeCYT-iAb0LhsA" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_fOsNELwyEd-CDNLmLgazUQ"/>
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_J4JPKDqeEeCYT-iAb0LhsA" source="duplicates">
+                <contents xmi:type="ecore:EReference" xmi:id="_J4JPKTqeEeCYT-iAb0LhsA" name="base_Package" ordered="false" lowerBound="1">
+                  <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_J4JPKjqeEeCYT-iAb0LhsA" source="redefines" references="_J4JPLDqeEeCYT-iAb0LhsA"/>
+                  <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+                </contents>
+              </eAnnotations>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_J4JPLDqeEeCYT-iAb0LhsA" name="base_Package" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_J4JPLjqeEeCYT-iAb0LhsA" name="DeploymentView">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_J4JPLzqeEeCYT-iAb0LhsA" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_6-HM4MJFEd-0jpzjleFnug"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_J4JPMDqeEeCYT-iAb0LhsA" name="base_Package" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_J4JPMjqeEeCYT-iAb0LhsA" name="RequirementView">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_J4JPMzqeEeCYT-iAb0LhsA" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_E1ZRkDQ1EeC0ueejuetpgA"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_J4JPNDqeEeCYT-iAb0LhsA" name="base_Package" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_J4JPNjqeEeCYT-iAb0LhsA" name="ComponentView">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_J4JPNzqeEeCYT-iAb0LhsA" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_cMJs4DkoEeCw66wKEzSFRg"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_J4JPODqeEeCYT-iAb0LhsA" name="base_Package" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_J4JPOjqeEeCYT-iAb0LhsA" name="DependabilityAnalysisView">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_J4JPOzqeEeCYT-iAb0LhsA" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_EBEuADqeEeCYT-iAb0LhsA"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_J4JPPDqeEeCYT-iAb0LhsA" name="base_Package" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+          </contents>
+          <contents xmi:type="ecore:EPackage" xmi:id="_gbAdgTkpEeCw66wKEzSFRg" name="CHESSViews" nsURI="http://CHESS.Core/schemas/CHESSViews/_gbAdgDkpEeCw66wKEzSFRg/21" nsPrefix="CHESSViews">
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_gbAdgjkpEeCw66wKEzSFRg" name="AnalysisView">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_gbAdgzkpEeCw66wKEzSFRg" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_KYAcoLwzEd-CDNLmLgazUQ"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_gbAdhDkpEeCw66wKEzSFRg" name="base_Package" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_gbAdhjkpEeCw66wKEzSFRg" name="rtanalysisview" ordered="false" lowerBound="1" eType="_gbAdijkpEeCw66wKEzSFRg"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_gbAdiDkpEeCw66wKEzSFRg" name="dependabilityanalysisview" ordered="false" lowerBound="1" eType="_gbAdjjkpEeCw66wKEzSFRg"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_gbAdijkpEeCw66wKEzSFRg" name="RTAnalysisView">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_gbAdizkpEeCw66wKEzSFRg" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_-ir0cLwyEd-CDNLmLgazUQ"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_gbAdjDkpEeCw66wKEzSFRg" name="base_Package" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_gbAdjjkpEeCw66wKEzSFRg" name="DependabilityAnalysisView">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_gbAdjzkpEeCw66wKEzSFRg" source="http://www.eclipse.org/uml2/2.0.0/UML"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_gbAdkDkpEeCw66wKEzSFRg" name="base_Package" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_gbAdkzkpEeCw66wKEzSFRg" name="ExtraFunctionalView">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_gbAdlDkpEeCw66wKEzSFRg" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_6bSHkDgXEd-68Z_bhNRGsA"/>
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_gbAdlTkpEeCw66wKEzSFRg" source="duplicates">
+                <contents xmi:type="ecore:EReference" xmi:id="_gbAdljkpEeCw66wKEzSFRg" name="base_Package" ordered="false" lowerBound="1">
+                  <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_gbAdlzkpEeCw66wKEzSFRg" source="redefines" references="_gbAdmTkpEeCw66wKEzSFRg"/>
+                  <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+                </contents>
+              </eAnnotations>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_gbAdmTkpEeCw66wKEzSFRg" name="base_Package" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_gbAdmzkpEeCw66wKEzSFRg" name="timingdataflowview" ordered="false" lowerBound="1" eType="_gbAdnTkpEeCw66wKEzSFRg" containment="true"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_gbAdnTkpEeCw66wKEzSFRg" name="TimingDataFlowView">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_gbAdnjkpEeCw66wKEzSFRg" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_fOsNELwyEd-CDNLmLgazUQ"/>
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_gbAdnzkpEeCw66wKEzSFRg" source="duplicates">
+                <contents xmi:type="ecore:EReference" xmi:id="_gbAdoDkpEeCw66wKEzSFRg" name="base_Package" ordered="false" lowerBound="1">
+                  <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_gbAdoTkpEeCw66wKEzSFRg" source="redefines" references="_gbAdozkpEeCw66wKEzSFRg"/>
+                  <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+                </contents>
+              </eAnnotations>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_gbAdozkpEeCw66wKEzSFRg" name="base_Package" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_gbAdpTkpEeCw66wKEzSFRg" name="DeploymentView">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_gbAdpjkpEeCw66wKEzSFRg" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_6-HM4MJFEd-0jpzjleFnug"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_gbAdpzkpEeCw66wKEzSFRg" name="base_Package" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_gbAdqTkpEeCw66wKEzSFRg" name="RequirementView">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_gbAdqjkpEeCw66wKEzSFRg" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_E1ZRkDQ1EeC0ueejuetpgA"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_gbAdqzkpEeCw66wKEzSFRg" name="base_Package" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_gbAdrTkpEeCw66wKEzSFRg" name="ComponentView">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_gbAdrjkpEeCw66wKEzSFRg" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_cMJs4DkoEeCw66wKEzSFRg"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_gbAdrzkpEeCw66wKEzSFRg" name="base_Package" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+          </contents>
+          <contents xmi:type="ecore:EPackage" xmi:id="_PmNqoTkpEeCw66wKEzSFRg" name="CHESSViews" nsURI="http://CHESS.Core/schemas/CHESSViews/_PmNqoDkpEeCw66wKEzSFRg/20" nsPrefix="CHESSViews">
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_PmNqojkpEeCw66wKEzSFRg" name="AnalysisView">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_PmNqozkpEeCw66wKEzSFRg" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_KYAcoLwzEd-CDNLmLgazUQ"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_PmNqpDkpEeCw66wKEzSFRg" name="base_Package" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_PmNqpjkpEeCw66wKEzSFRg" name="rtanalysisview" ordered="false" lowerBound="1" eType="_PmNqqjkpEeCw66wKEzSFRg"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_PmNqqDkpEeCw66wKEzSFRg" name="dependabilityanalysisview" ordered="false" lowerBound="1" eType="_PmNqrjkpEeCw66wKEzSFRg"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_PmNqqjkpEeCw66wKEzSFRg" name="RTAnalysisView">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_PmNqqzkpEeCw66wKEzSFRg" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_-ir0cLwyEd-CDNLmLgazUQ"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_PmNqrDkpEeCw66wKEzSFRg" name="base_Package" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_PmNqrjkpEeCw66wKEzSFRg" name="DependabilityAnalysisView">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_PmNqrzkpEeCw66wKEzSFRg" source="http://www.eclipse.org/uml2/2.0.0/UML"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_PmNqsDkpEeCw66wKEzSFRg" name="base_Package" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_PmNqszkpEeCw66wKEzSFRg" name="ExtraFunctionalView">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_PmNqtDkpEeCw66wKEzSFRg" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_6bSHkDgXEd-68Z_bhNRGsA"/>
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_PmNqtTkpEeCw66wKEzSFRg" source="duplicates">
+                <contents xmi:type="ecore:EReference" xmi:id="_PmNqtjkpEeCw66wKEzSFRg" name="base_Package" ordered="false" lowerBound="1">
+                  <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_PmNqtzkpEeCw66wKEzSFRg" source="redefines" references="_PmNquTkpEeCw66wKEzSFRg"/>
+                  <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+                </contents>
+              </eAnnotations>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_PmNquTkpEeCw66wKEzSFRg" name="base_Package" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_PmNquzkpEeCw66wKEzSFRg" name="timingdataflowview" ordered="false" lowerBound="1" eType="_PmNqvTkpEeCw66wKEzSFRg" containment="true"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_PmNqvTkpEeCw66wKEzSFRg" name="TimingDataFlowView">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_PmNqvjkpEeCw66wKEzSFRg" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_fOsNELwyEd-CDNLmLgazUQ"/>
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_PmNqvzkpEeCw66wKEzSFRg" source="duplicates">
+                <contents xmi:type="ecore:EReference" xmi:id="_PmNqwDkpEeCw66wKEzSFRg" name="base_Package" ordered="false" lowerBound="1">
+                  <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_PmNqwTkpEeCw66wKEzSFRg" source="redefines" references="_PmNqwzkpEeCw66wKEzSFRg"/>
+                  <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+                </contents>
+              </eAnnotations>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_PmNqwzkpEeCw66wKEzSFRg" name="base_Package" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_PmNqxTkpEeCw66wKEzSFRg" name="DeploymentView">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_PmNqxjkpEeCw66wKEzSFRg" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_6-HM4MJFEd-0jpzjleFnug"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_PmNqxzkpEeCw66wKEzSFRg" name="base_Package" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_PmNqyTkpEeCw66wKEzSFRg" name="RequirementView">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_PmNqyjkpEeCw66wKEzSFRg" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_E1ZRkDQ1EeC0ueejuetpgA"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_PmNqyzkpEeCw66wKEzSFRg" name="base_Package" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_PmNqzTkpEeCw66wKEzSFRg" name="ComponentView">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_PmNqzjkpEeCw66wKEzSFRg" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_cMJs4DkoEeCw66wKEzSFRg"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_PmNqzzkpEeCw66wKEzSFRg" name="base_Package" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+          </contents>
+          <contents xmi:type="ecore:EPackage" xmi:id="_mm1jETkoEeCw66wKEzSFRg" name="CHESSViews" nsURI="http://CHESS.Core/schemas/CHESSViews/_mm1jEDkoEeCw66wKEzSFRg/19" nsPrefix="CHESSViews">
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_mm1jEjkoEeCw66wKEzSFRg" name="AnalysisView">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_mm1jEzkoEeCw66wKEzSFRg" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_KYAcoLwzEd-CDNLmLgazUQ"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_mm1jFDkoEeCw66wKEzSFRg" name="base_Package" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_mm1jFjkoEeCw66wKEzSFRg" name="rtanalysisview" ordered="false" lowerBound="1" eType="_mm1jGjkoEeCw66wKEzSFRg"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_mm1jGDkoEeCw66wKEzSFRg" name="dependabilityanalysisview" ordered="false" lowerBound="1" eType="_mm1jHjkoEeCw66wKEzSFRg"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_mm1jGjkoEeCw66wKEzSFRg" name="RTAnalysisView">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_mm1jGzkoEeCw66wKEzSFRg" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_-ir0cLwyEd-CDNLmLgazUQ"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_mm1jHDkoEeCw66wKEzSFRg" name="base_Package" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_mm1jHjkoEeCw66wKEzSFRg" name="DependabilityAnalysisView">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_mm1jHzkoEeCw66wKEzSFRg" source="http://www.eclipse.org/uml2/2.0.0/UML"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_mm1jIDkoEeCw66wKEzSFRg" name="base_Package" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_mm1jIzkoEeCw66wKEzSFRg" name="ExtraFunctionalView">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_mm1jJDkoEeCw66wKEzSFRg" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_6bSHkDgXEd-68Z_bhNRGsA"/>
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_mm1jJTkoEeCw66wKEzSFRg" source="duplicates">
+                <contents xmi:type="ecore:EReference" xmi:id="_mm1jJjkoEeCw66wKEzSFRg" name="base_Package" ordered="false" lowerBound="1">
+                  <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_mm1jJzkoEeCw66wKEzSFRg" source="redefines" references="_mm1jKTkoEeCw66wKEzSFRg"/>
+                  <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+                </contents>
+              </eAnnotations>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_mm1jKTkoEeCw66wKEzSFRg" name="base_Package" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_mm1jKzkoEeCw66wKEzSFRg" name="timingdataflowview" ordered="false" lowerBound="1" eType="_mm1jLTkoEeCw66wKEzSFRg" containment="true"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_mm1jLTkoEeCw66wKEzSFRg" name="TimingDataFlowView">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_mm1jLjkoEeCw66wKEzSFRg" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_fOsNELwyEd-CDNLmLgazUQ"/>
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_mm1jLzkoEeCw66wKEzSFRg" source="duplicates">
+                <contents xmi:type="ecore:EReference" xmi:id="_mm1jMDkoEeCw66wKEzSFRg" name="base_Package" ordered="false" lowerBound="1">
+                  <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_mm1jMTkoEeCw66wKEzSFRg" source="redefines" references="_mm1jMzkoEeCw66wKEzSFRg"/>
+                  <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+                </contents>
+              </eAnnotations>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_mm1jMzkoEeCw66wKEzSFRg" name="base_Package" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_mm1jNTkoEeCw66wKEzSFRg" name="DeploymentView">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_mm1jNjkoEeCw66wKEzSFRg" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_6-HM4MJFEd-0jpzjleFnug"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_mm1jNzkoEeCw66wKEzSFRg" name="base_Package" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_mm1jOTkoEeCw66wKEzSFRg" name="RequirementView">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_mm1jOjkoEeCw66wKEzSFRg" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_E1ZRkDQ1EeC0ueejuetpgA"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_mm1jOzkoEeCw66wKEzSFRg" name="base_Package" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_mm1jPTkoEeCw66wKEzSFRg" name="ComponentView">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_mm1jPjkoEeCw66wKEzSFRg" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_cMJs4DkoEeCw66wKEzSFRg"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_mm1jPzkoEeCw66wKEzSFRg" name="base_Package" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+          </contents>
+          <contents xmi:type="ecore:EPackage" xmi:id="_43soITkkEeCuLetZbbIvGw" name="CHESSViews" nsURI="http://CHESS.Core/schemas/CHESSViews/_43soIDkkEeCuLetZbbIvGw/18" nsPrefix="CHESSViews">
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_43soIjkkEeCuLetZbbIvGw" name="AnalysisView">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_43soIzkkEeCuLetZbbIvGw" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_KYAcoLwzEd-CDNLmLgazUQ"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_43soJDkkEeCuLetZbbIvGw" name="base_Package" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_43soJjkkEeCuLetZbbIvGw" name="rtanalysisview" ordered="false" lowerBound="1" eType="_43soKjkkEeCuLetZbbIvGw"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_43soKDkkEeCuLetZbbIvGw" name="dependabilityanalysisview" ordered="false" lowerBound="1" eType="_43soLjkkEeCuLetZbbIvGw"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_43soKjkkEeCuLetZbbIvGw" name="RTAnalysisView">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_43soKzkkEeCuLetZbbIvGw" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_-ir0cLwyEd-CDNLmLgazUQ"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_43soLDkkEeCuLetZbbIvGw" name="base_Package" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_43soLjkkEeCuLetZbbIvGw" name="DependabilityAnalysisView">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_43soLzkkEeCuLetZbbIvGw" source="http://www.eclipse.org/uml2/2.0.0/UML"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_43soMDkkEeCuLetZbbIvGw" name="base_Package" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_43soMjkkEeCuLetZbbIvGw" name="errormodelingview" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_43soMzkkEeCuLetZbbIvGw" name="ExtraFunctionalView">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_43soNDkkEeCuLetZbbIvGw" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_6bSHkDgXEd-68Z_bhNRGsA"/>
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_43soNTkkEeCuLetZbbIvGw" source="duplicates">
+                <contents xmi:type="ecore:EReference" xmi:id="_43soNjkkEeCuLetZbbIvGw" name="base_Package" ordered="false" lowerBound="1">
+                  <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_43soNzkkEeCuLetZbbIvGw" source="redefines" references="_43soOTkkEeCuLetZbbIvGw"/>
+                  <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+                </contents>
+              </eAnnotations>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_43soOTkkEeCuLetZbbIvGw" name="base_Package" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_43soOzkkEeCuLetZbbIvGw" name="timingdataflowview" ordered="false" lowerBound="1" eType="_43soPTkkEeCuLetZbbIvGw" containment="true"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_43soPTkkEeCuLetZbbIvGw" name="TimingDataFlowView">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_43soPjkkEeCuLetZbbIvGw" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_fOsNELwyEd-CDNLmLgazUQ"/>
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_43soPzkkEeCuLetZbbIvGw" source="duplicates">
+                <contents xmi:type="ecore:EReference" xmi:id="_43soQDkkEeCuLetZbbIvGw" name="base_Package" ordered="false" lowerBound="1">
+                  <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_43soQTkkEeCuLetZbbIvGw" source="redefines" references="_43soQzkkEeCuLetZbbIvGw"/>
+                  <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+                </contents>
+              </eAnnotations>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_43soQzkkEeCuLetZbbIvGw" name="base_Package" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_43soRTkkEeCuLetZbbIvGw" name="ComponentView">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_43soRjkkEeCuLetZbbIvGw" source="http://www.eclipse.org/uml2/2.0.0/UML"/>
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_43soRzkkEeCuLetZbbIvGw" source="duplicates">
+                <contents xmi:type="ecore:EReference" xmi:id="_43soSDkkEeCuLetZbbIvGw" name="base_Package" ordered="false" lowerBound="1">
+                  <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_43soSTkkEeCuLetZbbIvGw" source="redefines" references="_43soSzkkEeCuLetZbbIvGw"/>
+                  <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+                </contents>
+              </eAnnotations>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_43soSzkkEeCuLetZbbIvGw" name="base_Package" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_43soTTkkEeCuLetZbbIvGw" name="DeploymentView">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_43soTjkkEeCuLetZbbIvGw" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_6-HM4MJFEd-0jpzjleFnug"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_43soTzkkEeCuLetZbbIvGw" name="base_Package" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_43soUTkkEeCuLetZbbIvGw" name="RequirementView">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_43soUjkkEeCuLetZbbIvGw" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_E1ZRkDQ1EeC0ueejuetpgA"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_43soUzkkEeCuLetZbbIvGw" name="base_Package" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+          </contents>
+          <contents xmi:type="ecore:EPackage" xmi:id="_kDogIDkgEeCuLetZbbIvGw" name="CHESSViews" nsURI="http://CHESS.Core/schemas/CHESSViews/_kDfWMDkgEeCuLetZbbIvGw/17" nsPrefix="CHESSViews">
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_kDogITkgEeCuLetZbbIvGw" name="AnalysisView">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kDogIjkgEeCuLetZbbIvGw" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_KYAcoLwzEd-CDNLmLgazUQ"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_kDogIzkgEeCuLetZbbIvGw" name="base_Package" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_kDogJTkgEeCuLetZbbIvGw" name="rtanalysisview" ordered="false" lowerBound="1" eType="_kDogKTkgEeCuLetZbbIvGw"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_kDogJzkgEeCuLetZbbIvGw" name="dependabilityanalysisview" ordered="false" lowerBound="1" eType="_kDogLTkgEeCuLetZbbIvGw"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_kDogKTkgEeCuLetZbbIvGw" name="RTAnalysisView">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kDogKjkgEeCuLetZbbIvGw" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_-ir0cLwyEd-CDNLmLgazUQ"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_kDogKzkgEeCuLetZbbIvGw" name="base_Package" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_kDogLTkgEeCuLetZbbIvGw" name="DependabilityAnalysisView">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kDogLjkgEeCuLetZbbIvGw" source="http://www.eclipse.org/uml2/2.0.0/UML"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_kDogLzkgEeCuLetZbbIvGw" name="base_Package" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_kDogMTkgEeCuLetZbbIvGw" name="errormodelingview" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_kDogMjkgEeCuLetZbbIvGw" name="ExtraFunctionalView">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kDogMzkgEeCuLetZbbIvGw" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_6bSHkDgXEd-68Z_bhNRGsA"/>
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kDogNDkgEeCuLetZbbIvGw" source="duplicates">
+                <contents xmi:type="ecore:EReference" xmi:id="_kDogNTkgEeCuLetZbbIvGw" name="base_Package" ordered="false" lowerBound="1">
+                  <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kDogNjkgEeCuLetZbbIvGw" source="redefines" references="_kDogODkgEeCuLetZbbIvGw"/>
+                  <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+                </contents>
+              </eAnnotations>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_kDogODkgEeCuLetZbbIvGw" name="base_Package" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_kDogOjkgEeCuLetZbbIvGw" name="timingdataflowview" ordered="false" lowerBound="1" eType="_kDogPDkgEeCuLetZbbIvGw" containment="true"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_kDogPDkgEeCuLetZbbIvGw" name="TimingDataFlowView">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kDogPTkgEeCuLetZbbIvGw" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_fOsNELwyEd-CDNLmLgazUQ"/>
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kDogPjkgEeCuLetZbbIvGw" source="duplicates">
+                <contents xmi:type="ecore:EReference" xmi:id="_kDogPzkgEeCuLetZbbIvGw" name="base_Package" ordered="false" lowerBound="1">
+                  <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kDogQDkgEeCuLetZbbIvGw" source="redefines" references="_kDogQjkgEeCuLetZbbIvGw"/>
+                  <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+                </contents>
+              </eAnnotations>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_kDogQjkgEeCuLetZbbIvGw" name="base_Package" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_kDogRDkgEeCuLetZbbIvGw" name="ComponentView">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kDogRTkgEeCuLetZbbIvGw" source="http://www.eclipse.org/uml2/2.0.0/UML"/>
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kDogRjkgEeCuLetZbbIvGw" source="duplicates">
+                <contents xmi:type="ecore:EReference" xmi:id="_kDogRzkgEeCuLetZbbIvGw" name="base_Package" ordered="false" lowerBound="1">
+                  <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kDogSDkgEeCuLetZbbIvGw" source="redefines" references="_kDogSjkgEeCuLetZbbIvGw"/>
+                  <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+                </contents>
+              </eAnnotations>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_kDogSjkgEeCuLetZbbIvGw" name="base_Package" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_kDogTDkgEeCuLetZbbIvGw" name="DeploymentView">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kDogTTkgEeCuLetZbbIvGw" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_6-HM4MJFEd-0jpzjleFnug"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_kDogTjkgEeCuLetZbbIvGw" name="base_Package" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_kDogUDkgEeCuLetZbbIvGw" name="RequirementView">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kDogUTkgEeCuLetZbbIvGw" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_E1ZRkDQ1EeC0ueejuetpgA"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_kDogUjkgEeCuLetZbbIvGw" name="base_Package" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+          </contents>
+          <contents xmi:type="ecore:EPackage" xmi:id="_NxxdEDkfEeCuLetZbbIvGw" name="CHESSViews" nsURI="http://CHESS.Core/schemas/CHESSViews/_NxoTIDkfEeCuLetZbbIvGw/16" nsPrefix="CHESSViews">
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_NxxdETkfEeCuLetZbbIvGw" name="AnalysisView">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_NxxdEjkfEeCuLetZbbIvGw" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_KYAcoLwzEd-CDNLmLgazUQ"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_NxxdEzkfEeCuLetZbbIvGw" name="base_Package" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_NxxdFTkfEeCuLetZbbIvGw" name="rtanalysisview" ordered="false" lowerBound="1" eType="_NxxdGTkfEeCuLetZbbIvGw"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_NxxdFzkfEeCuLetZbbIvGw" name="dependabilityanalysisview" ordered="false" lowerBound="1" eType="_NxxdHTkfEeCuLetZbbIvGw"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_NxxdGTkfEeCuLetZbbIvGw" name="RTAnalysisView">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_NxxdGjkfEeCuLetZbbIvGw" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_-ir0cLwyEd-CDNLmLgazUQ"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_NxxdGzkfEeCuLetZbbIvGw" name="base_Package" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_NxxdHTkfEeCuLetZbbIvGw" name="DependabilityAnalysisView">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_NxxdHjkfEeCuLetZbbIvGw" source="http://www.eclipse.org/uml2/2.0.0/UML"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_NxxdHzkfEeCuLetZbbIvGw" name="base_Package" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_NxxdITkfEeCuLetZbbIvGw" name="errormodelingview" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_NxxdIjkfEeCuLetZbbIvGw" name="ExtraFunctionalView">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_NxxdIzkfEeCuLetZbbIvGw" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_6bSHkDgXEd-68Z_bhNRGsA"/>
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_NxxdJDkfEeCuLetZbbIvGw" source="duplicates">
+                <contents xmi:type="ecore:EReference" xmi:id="_NxxdJTkfEeCuLetZbbIvGw" name="base_Package" ordered="false" lowerBound="1">
+                  <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_NxxdJjkfEeCuLetZbbIvGw" source="redefines" references="_NxxdKDkfEeCuLetZbbIvGw"/>
+                  <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+                </contents>
+              </eAnnotations>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_NxxdKDkfEeCuLetZbbIvGw" name="base_Package" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_NxxdKjkfEeCuLetZbbIvGw" name="timingdataflowview" ordered="false" lowerBound="1" eType="_NxxdLDkfEeCuLetZbbIvGw" containment="true"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_NxxdLDkfEeCuLetZbbIvGw" name="TimingDataFlowView">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_NxxdLTkfEeCuLetZbbIvGw" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_fOsNELwyEd-CDNLmLgazUQ"/>
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_NxxdLjkfEeCuLetZbbIvGw" source="duplicates">
+                <contents xmi:type="ecore:EReference" xmi:id="_NxxdLzkfEeCuLetZbbIvGw" name="base_Package" ordered="false" lowerBound="1">
+                  <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_NxxdMDkfEeCuLetZbbIvGw" source="redefines" references="_NxxdMjkfEeCuLetZbbIvGw"/>
+                  <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+                </contents>
+              </eAnnotations>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_NxxdMjkfEeCuLetZbbIvGw" name="base_Package" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_NxxdNDkfEeCuLetZbbIvGw" name="ComponentView">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_NxxdNTkfEeCuLetZbbIvGw" source="http://www.eclipse.org/uml2/2.0.0/UML"/>
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_NxxdNjkfEeCuLetZbbIvGw" source="duplicates">
+                <contents xmi:type="ecore:EReference" xmi:id="_NxxdNzkfEeCuLetZbbIvGw" name="base_Package" ordered="false" lowerBound="1">
+                  <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_NxxdODkfEeCuLetZbbIvGw" source="redefines" references="_NxxdOjkfEeCuLetZbbIvGw"/>
+                  <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+                </contents>
+              </eAnnotations>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_NxxdOjkfEeCuLetZbbIvGw" name="base_Package" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_NxxdPDkfEeCuLetZbbIvGw" name="DeploymentView">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_NxxdPTkfEeCuLetZbbIvGw" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_6-HM4MJFEd-0jpzjleFnug"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_NxxdPjkfEeCuLetZbbIvGw" name="base_Package" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_NxxdQDkfEeCuLetZbbIvGw" name="RequirementView">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_NxxdQTkfEeCuLetZbbIvGw" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_E1ZRkDQ1EeC0ueejuetpgA"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_NxxdQjkfEeCuLetZbbIvGw" name="base_Package" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+          </contents>
+          <contents xmi:type="ecore:EPackage" xmi:id="_Pfc1oce6Ed-7etIj5eTw0Q" name="CHESSViews" nsURI="http://CHESS.Core/schemas/CHESSViews/_Pfc1oMe6Ed-7etIj5eTw0Q/15" nsPrefix="CHESSViews">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_UqaeoMe6Ed-7etIj5eTw0Q" source="PapyrusVersion">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Uqaeoce6Ed-7etIj5eTw0Q" key="Version" value="0.1.8"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Uqaeose6Ed-7etIj5eTw0Q" key="Comment" value=""/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Uqaeo8e6Ed-7etIj5eTw0Q" key="Copyright" value=""/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_UqaepMe6Ed-7etIj5eTw0Q" key="Date" value="2010-09-24"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Uqaepce6Ed-7etIj5eTw0Q" key="Author" value=""/>
+            </eAnnotations>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_Pfc1ose6Ed-7etIj5eTw0Q" name="AnalysisView">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Pfc1o8e6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_KYAcoLwzEd-CDNLmLgazUQ"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_Pfc1pMe6Ed-7etIj5eTw0Q" name="base_Package" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_Pfc1pse6Ed-7etIj5eTw0Q" name="rtanalysisview" ordered="false" lowerBound="1" eType="_Pfc1qse6Ed-7etIj5eTw0Q"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_Pfc1qMe6Ed-7etIj5eTw0Q" name="dependabilityanalysisview" ordered="false" lowerBound="1" eType="_Pfc1rse6Ed-7etIj5eTw0Q"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_Pfc1qse6Ed-7etIj5eTw0Q" name="RTAnalysisView">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Pfc1q8e6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_-ir0cLwyEd-CDNLmLgazUQ"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_Pfc1rMe6Ed-7etIj5eTw0Q" name="base_Package" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_Pfc1rse6Ed-7etIj5eTw0Q" name="DependabilityAnalysisView">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Pfc1r8e6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_Pfc1sMe6Ed-7etIj5eTw0Q" name="base_Package" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_Pfc1sse6Ed-7etIj5eTw0Q" name="errormodelingview" ordered="false" lowerBound="1" eType="_Pfc1tMe6Ed-7etIj5eTw0Q"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_Pfc1tMe6Ed-7etIj5eTw0Q" name="ErrorModelingView">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Pfc1tce6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_Pfc1tse6Ed-7etIj5eTw0Q" name="base_Package" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_Pfc1uMe6Ed-7etIj5eTw0Q" name="ExtraFunctionalView">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Pfc1uce6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_6bSHkDgXEd-68Z_bhNRGsA"/>
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Pfc1use6Ed-7etIj5eTw0Q" source="duplicates">
+                <contents xmi:type="ecore:EReference" xmi:id="_Pfc1u8e6Ed-7etIj5eTw0Q" name="base_Package" ordered="false" lowerBound="1">
+                  <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Pfc1vMe6Ed-7etIj5eTw0Q" source="redefines" references="_Pfc1vse6Ed-7etIj5eTw0Q"/>
+                  <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+                </contents>
+              </eAnnotations>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_Pfc1vse6Ed-7etIj5eTw0Q" name="base_Package" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_Pfc1wMe6Ed-7etIj5eTw0Q" name="timingdataflowview" ordered="false" lowerBound="1" eType="_Pfc1wse6Ed-7etIj5eTw0Q"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_Pfc1wse6Ed-7etIj5eTw0Q" name="TimingDataFlowView">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Pfc1w8e6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_fOsNELwyEd-CDNLmLgazUQ"/>
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Pfc1xMe6Ed-7etIj5eTw0Q" source="duplicates">
+                <contents xmi:type="ecore:EReference" xmi:id="_Pfc1xce6Ed-7etIj5eTw0Q" name="base_Package" ordered="false" lowerBound="1">
+                  <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Pfc1xse6Ed-7etIj5eTw0Q" source="redefines" references="_Pfc1yMe6Ed-7etIj5eTw0Q"/>
+                  <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+                </contents>
+              </eAnnotations>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_Pfc1yMe6Ed-7etIj5eTw0Q" name="base_Package" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_Pfc1yse6Ed-7etIj5eTw0Q" name="FunctionalView">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Pfc1y8e6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML"/>
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Pfc1zMe6Ed-7etIj5eTw0Q" source="duplicates">
+                <contents xmi:type="ecore:EReference" xmi:id="_Pfc1zce6Ed-7etIj5eTw0Q" name="base_Package" ordered="false" lowerBound="1">
+                  <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Pfc1zse6Ed-7etIj5eTw0Q" source="redefines" references="_Pfc10Me6Ed-7etIj5eTw0Q"/>
+                  <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+                </contents>
+              </eAnnotations>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_Pfc10Me6Ed-7etIj5eTw0Q" name="base_Package" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_Pfc10se6Ed-7etIj5eTw0Q" name="DeploymentView">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Pfc108e6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_6-HM4MJFEd-0jpzjleFnug"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_Pfc11Me6Ed-7etIj5eTw0Q" name="base_Package" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+          </contents>
+        </eAnnotations>
+        <elementImport xmi:type="uml:ElementImport" xmi:id="_f_fboDkoEeCw66wKEzSFRg" alias="Package">
+          <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Package"/>
+        </elementImport>
+        <packagedElement xmi:type="uml:Stereotype" xmi:id="_KYAcoLwzEd-CDNLmLgazUQ" name="AnalysisView">
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_5XsXAMGoEd-sPbYkpPS5Bg" name="base_Package" association="_5XsXAcGoEd-sPbYkpPS5Bg">
+            <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Package"/>
+          </ownedAttribute>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_Ns7GUMJPEd-0jpzjleFnug" name="rtanalysisview" type="_-ir0cLwyEd-CDNLmLgazUQ" aggregation="composite">
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Ns7GUsJPEd-0jpzjleFnug" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Ns7GUcJPEd-0jpzjleFnug" value="1"/>
+          </ownedAttribute>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Extension" xmi:id="_5XsXAcGoEd-sPbYkpPS5Bg" name="E_AnalysisView_Package1" memberEnd="_5XsXAsGoEd-sPbYkpPS5Bg _5XsXAMGoEd-sPbYkpPS5Bg">
+          <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_5XsXAsGoEd-sPbYkpPS5Bg" name="extension_AnalysisView" type="_KYAcoLwzEd-CDNLmLgazUQ" aggregation="composite" association="_5XsXAcGoEd-sPbYkpPS5Bg"/>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Extension" xmi:id="_4c-bMcGoEd-sPbYkpPS5Bg" name="E_RTAnalysisView_Package1" memberEnd="_4c-bMsGoEd-sPbYkpPS5Bg _4c-bMMGoEd-sPbYkpPS5Bg">
+          <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_4c-bMsGoEd-sPbYkpPS5Bg" name="extension_RTAnalysisView" type="_-ir0cLwyEd-CDNLmLgazUQ" aggregation="composite" association="_4c-bMcGoEd-sPbYkpPS5Bg"/>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Stereotype" xmi:id="_6bSHkDgXEd-68Z_bhNRGsA" name="ExtraFunctionalView">
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_49d5IMGoEd-sPbYkpPS5Bg" name="base_Package">
+            <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Package"/>
+          </ownedAttribute>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="__DL_UMJaEd-0jpzjleFnug" name="timingdataflowview" type="_fOsNELwyEd-CDNLmLgazUQ" aggregation="composite">
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__DL_UsJaEd-0jpzjleFnug" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__DL_UcJaEd-0jpzjleFnug" value="1"/>
+          </ownedAttribute>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Stereotype" xmi:id="_-ir0cLwyEd-CDNLmLgazUQ" name="RTAnalysisView">
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_4c-bMMGoEd-sPbYkpPS5Bg" name="base_Package" association="_4c-bMcGoEd-sPbYkpPS5Bg">
+            <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Package"/>
+          </ownedAttribute>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Stereotype" xmi:id="_fOsNELwyEd-CDNLmLgazUQ" name="TimingDataFlowView">
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_4DpVMMGoEd-sPbYkpPS5Bg" name="base_Package">
+            <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Package"/>
+          </ownedAttribute>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Stereotype" xmi:id="_6-HM4MJFEd-0jpzjleFnug" name="DeploymentView">
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_8DQ3EMJFEd-0jpzjleFnug" name="base_Package" association="_8DQ3EcJFEd-0jpzjleFnug">
+            <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Package"/>
+          </ownedAttribute>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_eEteUIa2EeCjkaWi4DtZtA" name="AssignList">
+            <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Comment"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gN3jMIa2EeCjkaWi4DtZtA"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_ieds0Ia2EeCjkaWi4DtZtA" value="*"/>
+          </ownedAttribute>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Extension" xmi:id="_8DQ3EcJFEd-0jpzjleFnug" name="E_DeploymentView_Package0" memberEnd="_8DQ3EsJFEd-0jpzjleFnug _8DQ3EMJFEd-0jpzjleFnug">
+          <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_8DQ3EsJFEd-0jpzjleFnug" name="extension_DeploymentView" type="_6-HM4MJFEd-0jpzjleFnug" aggregation="composite" association="_8DQ3EcJFEd-0jpzjleFnug"/>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Stereotype" xmi:id="_E1ZRkDQ1EeC0ueejuetpgA" name="RequirementView">
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_ICmNYDQ1EeC0ueejuetpgA" name="base_Package" association="_ICvXUDQ1EeC0ueejuetpgA">
+            <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Package"/>
+          </ownedAttribute>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Extension" xmi:id="_ICvXUDQ1EeC0ueejuetpgA" name="E_RequirementView_Package0" memberEnd="_ICvXUTQ1EeC0ueejuetpgA _ICmNYDQ1EeC0ueejuetpgA">
+          <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_ICvXUTQ1EeC0ueejuetpgA" name="extension_RequirementView" type="_E1ZRkDQ1EeC0ueejuetpgA" aggregation="composite" association="_ICvXUDQ1EeC0ueejuetpgA"/>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Stereotype" xmi:id="_cMJs4DkoEeCw66wKEzSFRg" name="ComponentView">
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_gYhmsDkoEeCw66wKEzSFRg" name="base_Package" association="_gYhmsTkoEeCw66wKEzSFRg">
+            <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Package"/>
+          </ownedAttribute>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Extension" xmi:id="_gYhmsTkoEeCw66wKEzSFRg" name="E_ComponentView_Package0" memberEnd="_gYhmsjkoEeCw66wKEzSFRg _gYhmsDkoEeCw66wKEzSFRg">
+          <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_gYhmsjkoEeCw66wKEzSFRg" name="extension_ComponentView" type="_cMJs4DkoEeCw66wKEzSFRg" aggregation="composite" association="_gYhmsTkoEeCw66wKEzSFRg"/>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Stereotype" xmi:id="_EBEuADqeEeCYT-iAb0LhsA" name="DependabilityAnalysisView">
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_GYU5QDqeEeCYT-iAb0LhsA" name="base_Package" association="_GYU5QTqeEeCYT-iAb0LhsA">
+            <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Package"/>
+          </ownedAttribute>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Extension" xmi:id="_GYU5QTqeEeCYT-iAb0LhsA" name="E_DependabilityAnalysisView_Package0" memberEnd="_GYU5QjqeEeCYT-iAb0LhsA _GYU5QDqeEeCYT-iAb0LhsA">
+          <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_GYU5QjqeEeCYT-iAb0LhsA" name="extension_DependabilityAnalysisView" type="_EBEuADqeEeCYT-iAb0LhsA" aggregation="composite" association="_GYU5QTqeEeCYT-iAb0LhsA"/>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Stereotype" xmi:id="_-q1ocPWbEeG6etnsQZngdA" name="SystemView">
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_DphI8PWcEeG6etnsQZngdA" name="base_Package" association="_DpiXEPWcEeG6etnsQZngdA">
+            <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Package"/>
+          </ownedAttribute>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Extension" xmi:id="_DpiXEPWcEeG6etnsQZngdA" name="E_SystemView_Package1" memberEnd="_DpiXEfWcEeG6etnsQZngdA _DphI8PWcEeG6etnsQZngdA">
+          <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_DpiXEfWcEeG6etnsQZngdA" name="extension_SystemView" type="_-q1ocPWbEeG6etnsQZngdA" aggregation="composite" association="_DpiXEPWcEeG6etnsQZngdA"/>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Stereotype" xmi:id="_eCaeYElHEeSHXILU_Im6sA" name="PSMView">
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_gD_UkElHEeSHXILU_Im6sA" name="base_Package" association="_gD_7oElHEeSHXILU_Im6sA">
+            <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Package"/>
+          </ownedAttribute>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Extension" xmi:id="_gD_7oElHEeSHXILU_Im6sA" name="E_PSMView_Package1" memberEnd="_gD_7oUlHEeSHXILU_Im6sA _gD_UkElHEeSHXILU_Im6sA">
+          <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_gD_7oUlHEeSHXILU_Im6sA" name="extension_PSMView" type="_eCaeYElHEeSHXILU_Im6sA" aggregation="composite" association="_gD_7oElHEeSHXILU_Im6sA"/>
+        </packagedElement>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Stereotype" xmi:id="_a-X3gE7nEeCiWfCHUearZQ" name="CHGaResourcePlatform">
+        <generalization xmi:type="uml:Generalization" xmi:id="_kTB5wE7nEeCiWfCHUearZQ">
+          <general xmi:type="uml:Stereotype" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_JSAYgBKgEdyaWJN1BYon3A"/>
+        </generalization>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_mx4h0E7nEeCiWfCHUearZQ" name="base_InstanceSpecification" association="_mx4h0U7nEeCiWfCHUearZQ">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#InstanceSpecification"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_rkacsE7nEeCiWfCHUearZQ" name="base_Package" association="_rkacsU7nEeCiWfCHUearZQ">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Package"/>
+        </ownedAttribute>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Extension" xmi:id="_mx4h0U7nEeCiWfCHUearZQ" name="E_CHGaResourcePlatform_InstanceSpecification0" memberEnd="_mx4h0k7nEeCiWfCHUearZQ _mx4h0E7nEeCiWfCHUearZQ">
+        <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_mx4h0k7nEeCiWfCHUearZQ" name="extension_CHGaResourcePlatform" type="_a-X3gE7nEeCiWfCHUearZQ" aggregation="composite" association="_mx4h0U7nEeCiWfCHUearZQ"/>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Extension" xmi:id="_rkacsU7nEeCiWfCHUearZQ" name="E_CHGaResourcePlatform_Package0" memberEnd="_rkacsk7nEeCiWfCHUearZQ _rkacsE7nEeCiWfCHUearZQ">
+        <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_rkacsk7nEeCiWfCHUearZQ" name="extension_CHGaResourcePlatform" type="_a-X3gE7nEeCiWfCHUearZQ" aggregation="composite" association="_rkacsU7nEeCiWfCHUearZQ"/>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Stereotype" xmi:id="_e6uKAFYfEeGwxKcMAge2Cg" name="IdentifInstance">
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_mu7GIFYfEeGwxKcMAge2Cg" name="base_InstanceSpecification" association="_mu7GIVYfEeGwxKcMAge2Cg">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#InstanceSpecification"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_nGjjAFYfEeGwxKcMAge2Cg" name="id">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_17VA0Fk-EeGoZZsLvNQabA" name="sourceInstanceSpec" association="_17agYFk-EeGoZZsLvNQabA">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#InstanceSpecification"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_17VA0lk-EeGoZZsLvNQabA"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_17VA0Vk-EeGoZZsLvNQabA" value="1"/>
+        </ownedAttribute>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Extension" xmi:id="_mu7GIVYfEeGwxKcMAge2Cg" name="E_IdentifInstance_InstanceSpecification0" memberEnd="_mu7GIlYfEeGwxKcMAge2Cg _mu7GIFYfEeGwxKcMAge2Cg">
+        <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_mu7GIlYfEeGwxKcMAge2Cg" name="extension_IdentifInstance" type="_e6uKAFYfEeGwxKcMAge2Cg" aggregation="composite" association="_mu7GIVYfEeGwxKcMAge2Cg"/>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Stereotype" xmi:id="_tqUyAFYfEeGwxKcMAge2Cg" name="IdentifSlot">
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_wddA8FYfEeGwxKcMAge2Cg" name="base_Slot" association="_wddoAFYfEeGwxKcMAge2Cg">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Slot"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_xGHjcFYfEeGwxKcMAge2Cg" name="id">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+        </ownedAttribute>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Extension" xmi:id="_wddoAFYfEeGwxKcMAge2Cg" name="E_IdentifSlot_Slot0" memberEnd="_wddoAVYfEeGwxKcMAge2Cg _wddA8FYfEeGwxKcMAge2Cg">
+        <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_wddoAVYfEeGwxKcMAge2Cg" name="extension_IdentifSlot" type="_tqUyAFYfEeGwxKcMAge2Cg" aggregation="composite" association="_wddoAFYfEeGwxKcMAge2Cg"/>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Association" xmi:id="_17agYFk-EeGoZZsLvNQabA" name="identifInstance_instanceSpec" memberEnd="_17agYVk-EeGoZZsLvNQabA _17VA0Fk-EeGoZZsLvNQabA">
+        <ownedEnd xmi:type="uml:Property" xmi:id="_17agYVk-EeGoZZsLvNQabA" name="identifInstance" type="_e6uKAFYfEeGwxKcMAge2Cg" association="_17agYFk-EeGoZZsLvNQabA">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_17agY1k-EeGoZZsLvNQabA"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_17agYlk-EeGoZZsLvNQabA" value="1"/>
+        </ownedEnd>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Stereotype" xmi:id="_CplX8FlGEeGy4eSU5cG5hA" name="MultiInstance">
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_F5g3oFlGEeGy4eSU5cG5hA" name="base_InstanceSpecification" association="_F5hesFlGEeGy4eSU5cG5hA">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#InstanceSpecification"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_GfTsUFlGEeGy4eSU5cG5hA" name="upperBound">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_P5qt8FlGEeGy4eSU5cG5hA" value="1"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_P5vmcFlGEeGy4eSU5cG5hA" value="1"/>
+        </ownedAttribute>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Extension" xmi:id="_F5hesFlGEeGy4eSU5cG5hA" name="E_MultiInstance_InstanceSpecification0" memberEnd="_F5hesVlGEeGy4eSU5cG5hA _F5g3oFlGEeGy4eSU5cG5hA">
+        <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_F5hesVlGEeGy4eSU5cG5hA" name="extension_MultiInstance" type="_CplX8FlGEeGy4eSU5cG5hA" aggregation="composite" association="_F5hesFlGEeGy4eSU5cG5hA"/>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Stereotype" xmi:id="_TU0mMFlGEeGy4eSU5cG5hA" name="MultiSlot">
+        <ownedComment xmi:type="uml:Comment" xmi:id="_U8tKAFlGEeGy4eSU5cG5hA">
+          <body>pim-psm</body>
+        </ownedComment>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_UPPAAFlGEeGy4eSU5cG5hA" name="base_Slot" association="_UPPnEFlGEeGy4eSU5cG5hA">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Slot"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_VpsL0FlGEeGy4eSU5cG5hA" name="upperBound">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+        </ownedAttribute>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Extension" xmi:id="_UPPnEFlGEeGy4eSU5cG5hA" name="E_MultiSlot_Slot0" memberEnd="_UPPnEVlGEeGy4eSU5cG5hA _UPPAAFlGEeGy4eSU5cG5hA">
+        <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_UPPnEVlGEeGy4eSU5cG5hA" name="extension_MultiSlot" type="_TU0mMFlGEeGy4eSU5cG5hA" aggregation="composite" association="_UPPnEFlGEeGy4eSU5cG5hA"/>
+      </packagedElement>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Package" xmi:id="_WSNEsMGMEd--atLXXafOiQ" name="Dependability">
+      <packagedElement xmi:type="uml:Profile" xmi:id="_hdOrwLwzEd-CDNLmLgazUQ" name="FailurePropagation" URI="http://CHESS/Dependability/FailurePropagation" metaclassReference="_tr9pIDQ6EeC0ueejuetpgA _1E4EkHpQEeCIAr4_5S9-cA _nxIhIHpREeCIAr4_5S9-cA">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_IFiz4MGbEd--atLXXafOiQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+          <contents xmi:type="ecore:EPackage" xmi:id="_vlrMsTROEeCPrptoDUJcNQ" name="FailurePropagation" nsURI="http://CHESS/Dependability/FailurePropagation" nsPrefix="FailurePropagation">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_vmRpoDROEeCPrptoDUJcNQ" source="PapyrusVersion">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_vmRpoTROEeCPrptoDUJcNQ" key="Version" value="0.1.9"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_vmRpojROEeCPrptoDUJcNQ" key="Comment" value=""/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_vmRpozROEeCPrptoDUJcNQ" key="Copyright" value=""/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_vmRppDROEeCPrptoDUJcNQ" key="Date" value="2011-02-09"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_vmRppTROEeCPrptoDUJcNQ" key="Author" value=""/>
+            </eAnnotations>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_vlrMsjROEeCPrptoDUJcNQ" name="FPTC">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_vlrMszROEeCPrptoDUJcNQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_4m1fcMF0Ed--atLXXafOiQ"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_vlrMtDROEeCPrptoDUJcNQ" name="inputPort" ordered="false">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_vlrMtjROEeCPrptoDUJcNQ" name="outputPort" ordered="false">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_vlrMuDROEeCPrptoDUJcNQ" name="fptc" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_vlrMujROEeCPrptoDUJcNQ" name="base_Comment" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Comment"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_vlrMvDROEeCPrptoDUJcNQ" name="FailurePropagationAnalysis">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_vlrMvTROEeCPrptoDUJcNQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_sNfHsMF1Ed--atLXXafOiQ"/>
+              <eSuperTypes xmi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/MARTE/1#//GQAM/GaAnalysisContext"/>
+            </eClassifiers>
+          </contents>
+          <contents xmi:type="ecore:EPackage" xmi:id="_QBRwUMe6Ed-7etIj5eTw0Q" name="FailurePropagation" nsURI="http://CHESS.DependabilitySecurity/schemas/FailurePropagation/_PilCIMe6Ed-7etIj5eTw0Q/8" nsPrefix="FailurePropagation">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_U1cC48e6Ed-7etIj5eTw0Q" source="PapyrusVersion">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_U1cC5Me6Ed-7etIj5eTw0Q" key="Version" value="0.1.8"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_U1cC5ce6Ed-7etIj5eTw0Q" key="Comment" value=""/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_U1cC5se6Ed-7etIj5eTw0Q" key="Copyright" value=""/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_U1cC58e6Ed-7etIj5eTw0Q" key="Date" value="2010-09-24"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_U1cC6Me6Ed-7etIj5eTw0Q" key="Author" value=""/>
+            </eAnnotations>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_QBRwUce6Ed-7etIj5eTw0Q" name="FPTC">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QBRwUse6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_4m1fcMF0Ed--atLXXafOiQ"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_QBRwU8e6Ed-7etIj5eTw0Q" name="base_Class" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_QBRwVce6Ed-7etIj5eTw0Q" name="component" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_QBRwV8e6Ed-7etIj5eTw0Q" name="inputPort" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_QBRwWce6Ed-7etIj5eTw0Q" name="inputFailureType" ordered="false" lowerBound="1" eType="_QBRwYce6Ed-7etIj5eTw0Q"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_QBRwW8e6Ed-7etIj5eTw0Q" name="outputPort" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_QBRwXce6Ed-7etIj5eTw0Q" name="outputFailureType" ordered="false" lowerBound="1" eType="_QBRwYce6Ed-7etIj5eTw0Q"/>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_UvoV0Me6Ed-7etIj5eTw0Q" name="propagationProbability" ordered="false" lowerBound="1" eType="_UvoV0se6Ed-7etIj5eTw0Q"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_QBRwYce6Ed-7etIj5eTw0Q" name="CHESSML_DependabilitySecurity_FailurePropagation_FailurePropagationDataTypes_FailureType">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QBRwYse6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_UhqyoMF1Ed--atLXXafOiQ"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QBRwY8e6Ed-7etIj5eTw0Q" name="late"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QBRwZMe6Ed-7etIj5eTw0Q" name="early" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QBRwZce6Ed-7etIj5eTw0Q" name="valueSubtle" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QBRwZse6Ed-7etIj5eTw0Q" name="valueCoarse" value="3"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QBRwZ8e6Ed-7etIj5eTw0Q" name="omission" value="4"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QBRwaMe6Ed-7etIj5eTw0Q" name="commission" value="5"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QBRwace6Ed-7etIj5eTw0Q" name="noError" value="6"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QBRwase6Ed-7etIj5eTw0Q" name="variable" value="7"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QBRwa8e6Ed-7etIj5eTw0Q" name="wildcard" value="8"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_QBRwxMe6Ed-7etIj5eTw0Q" name="MARTE_Library_MARTE_DataTypes_VSL_Expression" instanceClassName="MARTE_Library_MARTE_DataTypes_VSL_Expression">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QBRwxce6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_bManMBEBEdyx6M3BlUjlCQ"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_QBRwxse6Ed-7etIj5eTw0Q" name="MARTE_Library_BasicNFP_Types_SourceKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QBRwx8e6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_oMZzEBD-EdyybZnLxHsjyA"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QBRwyMe6Ed-7etIj5eTw0Q" name="est"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QBRwyce6Ed-7etIj5eTw0Q" name="meas" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QBRwyse6Ed-7etIj5eTw0Q" name="calc" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QBRwy8e6Ed-7etIj5eTw0Q" name="req" value="3"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_QBRwzMe6Ed-7etIj5eTw0Q" name="MARTE_Library_BasicNFP_Types_StatisticalQualifierKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QBRwzce6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_0N52EBD-EdyybZnLxHsjyA"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QBRwzse6Ed-7etIj5eTw0Q" name="max"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QBRwz8e6Ed-7etIj5eTw0Q" name="min" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QBRw0Me6Ed-7etIj5eTw0Q" name="mean" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QBRw0ce6Ed-7etIj5eTw0Q" name="range" value="3"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QBRw0se6Ed-7etIj5eTw0Q" name="percent" value="4"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QBRw08e6Ed-7etIj5eTw0Q" name="distrib" value="5"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QBRw1Me6Ed-7etIj5eTw0Q" name="determ" value="6"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QBRw1ce6Ed-7etIj5eTw0Q" name="other" value="7"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QBRw1se6Ed-7etIj5eTw0Q" name="variance" value="8"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_QBRw18e6Ed-7etIj5eTw0Q" name="MARTE_Library_BasicNFP_Types_DirectionKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QBRw2Me6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_vvfxEBD-EdyybZnLxHsjyA"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QBRw2ce6Ed-7etIj5eTw0Q" name="incr"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QBRw2se6Ed-7etIj5eTw0Q" name="decr" value="1"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_QBRw28e6Ed-7etIj5eTw0Q" name="MARTE_Library_MARTE_PrimitivesTypes_Real" instanceClassName="MARTE_Library_MARTE_PrimitivesTypes_Real">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QBRw3Me6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_beo90AnpEdy9WM11hWri2g"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_QBRw3ce6Ed-7etIj5eTw0Q" name="MARTE_Library_MARTE_PrimitivesTypes_Integer" instanceClassName="MARTE_Library_MARTE_PrimitivesTypes_Integer">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QBRw3se6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_HJ1zcAnfEdy9WM11hWri2g"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_QBRw38e6Ed-7etIj5eTw0Q" name="FailurePropagationAnalysis">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QBRw4Me6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_sNfHsMF1Ed--atLXXafOiQ"/>
+              <eSuperTypes xmi:type="ecore:EClass" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_329vLZi4Ed-m0Oaexd_lJA"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_QBRw4ce6Ed-7etIj5eTw0Q" name="result" ordered="false" upperBound="-1" eType="_QBRwUce6Ed-7etIj5eTw0Q"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_QBRxA8e6Ed-7etIj5eTw0Q" name="MARTE_Library_MARTE_PrimitivesTypes_String" instanceClassName="MARTE_Library_MARTE_PrimitivesTypes_String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QBRxBMe6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_qZ3GUAnxEdy9WM11hWri2g"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_QBRxRse6Ed-7etIj5eTw0Q" name="MARTE_Library_MeasurementUnits_TimeUnitKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QBRxR8e6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_Iaa3gA4yEdysTsAUPnp57Q"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QBRxSMe6Ed-7etIj5eTw0Q" name="s"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QBRxSce6Ed-7etIj5eTw0Q" name="tick" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QBRxSse6Ed-7etIj5eTw0Q" name="ms" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QBRxS8e6Ed-7etIj5eTw0Q" name="us" value="3"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QBRxTMe6Ed-7etIj5eTw0Q" name="min" value="4"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QBRxTce6Ed-7etIj5eTw0Q" name="hrs" value="5"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QBRxTse6Ed-7etIj5eTw0Q" name="day" value="6"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_QBRxVse6Ed-7etIj5eTw0Q" name="MARTE_Library_MeasurementUnits_DataSizeUnitKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QBRxV8e6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_2pVmEA4yEdysTsAUPnp57Q"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QBRxWMe6Ed-7etIj5eTw0Q" name="bit"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QBRxWce6Ed-7etIj5eTw0Q" name="Byte" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QBRxWse6Ed-7etIj5eTw0Q" name="KB" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QBRxW8e6Ed-7etIj5eTw0Q" name="MB" value="3"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QBRxXMe6Ed-7etIj5eTw0Q" name="GB" value="4"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_QBRxZMe6Ed-7etIj5eTw0Q" name="MARTE_Library_MeasurementUnits_PowerUnitKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QBRxZce6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_ijhHUA4yEdysTsAUPnp57Q"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QBRxZse6Ed-7etIj5eTw0Q" name="W"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QBRxZ8e6Ed-7etIj5eTw0Q" name="mW" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QBRxaMe6Ed-7etIj5eTw0Q" name="KW" value="2"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_QBRxcMe6Ed-7etIj5eTw0Q" name="MARTE_Library_MeasurementUnits_EnergyUnitKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QBRxcce6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_UaKKgA4zEdysTsAUPnp57Q"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QBRxcse6Ed-7etIj5eTw0Q" name="J"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QBRxc8e6Ed-7etIj5eTw0Q" name="KJ" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QBRxdMe6Ed-7etIj5eTw0Q" name="Wh" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QBRxdce6Ed-7etIj5eTw0Q" name="KWh" value="3"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QBRxdse6Ed-7etIj5eTw0Q" name="mWh" value="4"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_QBRxjse6Ed-7etIj5eTw0Q" name="MARTE_Library_MARTE_PrimitivesTypes_Boolean" instanceClassName="MARTE_Library_MARTE_PrimitivesTypes_Boolean">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QBRxj8e6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_Ddte8AnqEdy9WM11hWri2g"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_QBRxr8e6Ed-7etIj5eTw0Q" name="MARTE_Library_TimeTypesLibrary_TimeStandardKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QBRxsMe6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_MDyyoA-KEdyNj8xzjk-DoA"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QBRxsce6Ed-7etIj5eTw0Q" name="TAI"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QBRxsse6Ed-7etIj5eTw0Q" name="UT0" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QBRxs8e6Ed-7etIj5eTw0Q" name="UT1" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QBRxtMe6Ed-7etIj5eTw0Q" name="UTC" value="3"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QBRxtce6Ed-7etIj5eTw0Q" name="Local" value="4"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QBRxtse6Ed-7etIj5eTw0Q" name="TT" value="5"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QBRxt8e6Ed-7etIj5eTw0Q" name="TBD" value="6"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QBRxuMe6Ed-7etIj5eTw0Q" name="TCG" value="7"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QBRxuce6Ed-7etIj5eTw0Q" name="TCB" value="8"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QBRxuse6Ed-7etIj5eTw0Q" name="Sidereal" value="9"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QBRxu8e6Ed-7etIj5eTw0Q" name="GPS" value="10"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_QBRx0se6Ed-7etIj5eTw0Q" name="MARTE_Library_TimeTypesLibrary_TimeNatureKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QBRx08e6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_WAvb0A75EdyML4mHwjNDrw"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QBRx1Me6Ed-7etIj5eTw0Q" name="discrete"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QBRx1ce6Ed-7etIj5eTw0Q" name="dense" value="1"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_QBRyPse6Ed-7etIj5eTw0Q" name="MARTE_Library_MeasurementUnits_FrequencyUnitKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QBRyP8e6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_qFaygA4yEdysTsAUPnp57Q"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QBRyQMe6Ed-7etIj5eTw0Q" name="Hz"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QBRyQce6Ed-7etIj5eTw0Q" name="KHz" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QBRyQse6Ed-7etIj5eTw0Q" name="MHz" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QBRyQ8e6Ed-7etIj5eTw0Q" name="GHz" value="3"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QBRyRMe6Ed-7etIj5eTw0Q" name="rpm" value="4"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_QBRypMe6Ed-7etIj5eTw0Q" name="MARTE_Library_GRM_BasicTypes_PeriodicServerKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QBRypce6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_UP5HEBFbEdyUJeMeN__D-A"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QBRypse6Ed-7etIj5eTw0Q" name="Sporadic"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QBRyp8e6Ed-7etIj5eTw0Q" name="Deferrable" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QBRyqMe6Ed-7etIj5eTw0Q" name="Undef" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QBRyqce6Ed-7etIj5eTw0Q" name="Other" value="3"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_QBRyvce6Ed-7etIj5eTw0Q" name="MARTE_Library_GRM_BasicTypes_SchedPolicyKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QBRyvse6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_4GfMYBFaEdyUJeMeN__D-A"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QBRyv8e6Ed-7etIj5eTw0Q" name="EarliestDeadlineFirst"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QBRywMe6Ed-7etIj5eTw0Q" name="FIFO" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QBRywce6Ed-7etIj5eTw0Q" name="FixedPriority" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QBRywse6Ed-7etIj5eTw0Q" name="LeastLaxityFirst" value="3"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QBRyw8e6Ed-7etIj5eTw0Q" name="RoundRobin" value="4"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QBRyxMe6Ed-7etIj5eTw0Q" name="TimeTableDriven" value="5"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QBRyxce6Ed-7etIj5eTw0Q" name="Undef" value="6"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QBRyxse6Ed-7etIj5eTw0Q" name="Other" value="7"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_QBRy3Me6Ed-7etIj5eTw0Q" name="MARTE_Library_GRM_BasicTypes_ProtectProtocolKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QBRy3ce6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_HkE7wBFbEdyUJeMeN__D-A"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QBRy3se6Ed-7etIj5eTw0Q" name="FIFO"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QBRy38e6Ed-7etIj5eTw0Q" name="NoPreemption" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QBRy4Me6Ed-7etIj5eTw0Q" name="PriorityCeiling" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QBRy4ce6Ed-7etIj5eTw0Q" name="PriorityInheritance" value="3"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QBRy4se6Ed-7etIj5eTw0Q" name="StackBased" value="4"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QBRy48e6Ed-7etIj5eTw0Q" name="Undef" value="5"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QBRy5Me6Ed-7etIj5eTw0Q" name="Other" value="6"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_QBRzGMe6Ed-7etIj5eTw0Q" name="MARTE_MARTE_Foundations_NFPs_ConstraintKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QBRzGce6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_ZCtm0A4vEdysTsAUPnp57Q"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QBRzGse6Ed-7etIj5eTw0Q" name="required"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QBRzG8e6Ed-7etIj5eTw0Q" name="offered" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QBRzHMe6Ed-7etIj5eTw0Q" name="contract" value="2"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_QBRzHce6Ed-7etIj5eTw0Q" name="MARTE_MARTE_AnalysisModel_GQAM_LaxityKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QBRzHse6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_Gs3fEBKcEdymP89M8JXkzA"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QBRzH8e6Ed-7etIj5eTw0Q" name="hard"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QBRzIMe6Ed-7etIj5eTw0Q" name="soft" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QBRzIce6Ed-7etIj5eTw0Q" name="other" value="2"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_UvoV0se6Ed-7etIj5eTw0Q" name="NFP_Real" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_UvoV08e6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_Yq-MQBFQEdyUJeMeN__D-A"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_U1cC4Me6Ed-7etIj5eTw0Q" name="NFP_String" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_U1cC4ce6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_B5VngBFQEdyUJeMeN__D-A"/>
+              </eAnnotations>
+            </eClassifiers>
+          </contents>
+        </eAnnotations>
+        <elementImport xmi:type="uml:ElementImport" xmi:id="_tr9pIDQ6EeC0ueejuetpgA" alias="Comment">
+          <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Comment"/>
+        </elementImport>
+        <elementImport xmi:type="uml:ElementImport" xmi:id="_1E4EkHpQEeCIAr4_5S9-cA" alias="Property">
+          <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+        </elementImport>
+        <elementImport xmi:type="uml:ElementImport" xmi:id="_nxIhIHpREeCIAr4_5S9-cA" alias="Slot">
+          <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Slot"/>
+        </elementImport>
+        <packagedElement xmi:type="uml:Stereotype" xmi:id="_4m1fcMF0Ed--atLXXafOiQ" name="FPTC">
+          <generalization xmi:type="uml:Generalization" xmi:id="_GHeyEHriEeCZzfQgCDrHbQ" general="_y0zvEDQ2EeC0ueejuetpgA"/>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_oLFpQMF1Ed--atLXXafOiQ" name="fptc" visibility="public">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_qOE0sMF1Ed--atLXXafOiQ" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_qOOlsMF1Ed--atLXXafOiQ" value="1"/>
+            <defaultValue xmi:type="uml:LiteralString" xmi:id="_qOXvoMF1Ed--atLXXafOiQ">
+              <value xsi:nil="true"/>
+            </defaultValue>
+          </ownedAttribute>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_uSrTwDROEeCPrptoDUJcNQ" name="base_Comment" association="_uSrTwTROEeCPrptoDUJcNQ">
+            <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Comment"/>
+          </ownedAttribute>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Package" xmi:id="_J_FksMF1Ed--atLXXafOiQ" name="FailurePropagationDataTypes">
+          <packagedElement xmi:type="uml:Enumeration" xmi:id="_Gn6goAFgEeG47Njvphl3lQ" name="D_avoidable">
+            <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_R9NLoAFlEeGITcsal1T3Og" name="unspecified"/>
+            <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_Gn6goQFgEeG47Njvphl3lQ" name="impermanence"/>
+            <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_Gn6gogFgEeG47Njvphl3lQ" name="none"/>
+          </packagedElement>
+          <packagedElement xmi:type="uml:Enumeration" xmi:id="_B8CAUAFgEeG47Njvphl3lQ" name="I_avoidable">
+            <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_VgUGAAFlEeGITcsal1T3Og" name="unspecified"/>
+            <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_B8CAUQFgEeG47Njvphl3lQ" name="interference"/>
+            <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_B8CAUgFgEeG47Njvphl3lQ" name="none"/>
+          </packagedElement>
+          <packagedElement xmi:type="uml:Enumeration" xmi:id="__14BkAFeEeG47Njvphl3lQ" name="C_avoidable">
+            <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_VxBbgAFlEeGITcsal1T3Og" name="unspecified"/>
+            <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_EK0okAFfEeG47Njvphl3lQ" name="inconsistency"/>
+            <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_GOGH4AFfEeG47Njvphl3lQ" name="none"/>
+          </packagedElement>
+          <packagedElement xmi:type="uml:Enumeration" xmi:id="_UhqyoMF1Ed--atLXXafOiQ" name="FailureType">
+            <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_XE_rAMF1Ed--atLXXafOiQ" name="late"/>
+            <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_XrJFAMF1Ed--atLXXafOiQ" name="early"/>
+            <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_YfmAwMF1Ed--atLXXafOiQ" name="valueSubtle"/>
+            <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_ZhAacMF1Ed--atLXXafOiQ" name="valueCoarse"/>
+            <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_au8NMMF1Ed--atLXXafOiQ" name="omission"/>
+            <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_cFhloMF1Ed--atLXXafOiQ" name="commission"/>
+            <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_c7wqEMF1Ed--atLXXafOiQ" name="noFailure"/>
+            <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_d27R0MF1Ed--atLXXafOiQ" name="variable"/>
+            <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_e19F4MF1Ed--atLXXafOiQ" name="wildcard"/>
+          </packagedElement>
+          <packagedElement xmi:type="uml:Enumeration" xmi:id="_zutbcAFeEeG47Njvphl3lQ" name="A_avoidable">
+            <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_Wic4cAFlEeGITcsal1T3Og" name="unspecified"/>
+            <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_3eNzEAFeEeG47Njvphl3lQ" name="incompletion"/>
+            <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_6nEaYAFeEeG47Njvphl3lQ" name="none"/>
+          </packagedElement>
+          <packagedElement xmi:type="uml:Enumeration" xmi:id="_jO-nsAFgEeG47Njvphl3lQ" name="A_mitigation">
+            <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_W2YhEAFlEeGITcsal1T3Og" name="unspecified"/>
+            <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_jO-nsQFgEeG47Njvphl3lQ" name="all_or_nothing"/>
+            <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_oVyJcAFgEeG47Njvphl3lQ" name="all_or_compensation"/>
+            <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_jO-nsgFgEeG47Njvphl3lQ" name="none"/>
+          </packagedElement>
+          <packagedElement xmi:type="uml:Enumeration" xmi:id="_rQws0AFgEeG47Njvphl3lQ" name="C_mitigation">
+            <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_XMRRgAFlEeGITcsal1T3Og" name="unspecified"/>
+            <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_rQws0QFgEeG47Njvphl3lQ" name="full_consistency"/>
+            <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_rQws0gFgEeG47Njvphl3lQ" name="range_violation_allowed"/>
+            <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_rQws0wFgEeG47Njvphl3lQ" name="none"/>
+          </packagedElement>
+          <packagedElement xmi:type="uml:Enumeration" xmi:id="_zPfd8AFgEeG47Njvphl3lQ" name="I_mitigation">
+            <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_XZPWgAFlEeGITcsal1T3Og" name="unspecified"/>
+            <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_zPfd8QFgEeG47Njvphl3lQ" name="portable_level"/>
+            <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_zPfd8gFgEeG47Njvphl3lQ" name="serializable"/>
+            <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_zPfd8wFgEeG47Njvphl3lQ" name="none"/>
+          </packagedElement>
+          <packagedElement xmi:type="uml:Enumeration" xmi:id="_-HY0kAFgEeG47Njvphl3lQ" name="D_mitigation">
+            <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_XsbYQAFlEeGITcsal1T3Og" name="unspecified"/>
+            <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_-HY0kQFgEeG47Njvphl3lQ" name="no_loss"/>
+            <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_-HY0kgFgEeG47Njvphl3lQ" name="partial_loss_allowed"/>
+            <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_-HY0kwFgEeG47Njvphl3lQ" name="none"/>
+          </packagedElement>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Stereotype" xmi:id="_sNfHsMF1Ed--atLXXafOiQ" name="FailurePropagationAnalysis">
+          <generalization xmi:type="uml:Generalization" xmi:id="_yIAlYMF1Ed--atLXXafOiQ">
+            <general xmi:type="uml:Stereotype" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_9gc2ABKfEdyaWJN1BYon3A"/>
+          </generalization>
+          <generalization xmi:type="uml:Generalization" xmi:id="_TjKe0DQ7EeC0ueejuetpgA">
+            <general xmi:type="uml:Stereotype" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_9gc2ABKfEdyaWJN1BYon3A"/>
+          </generalization>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Extension" xmi:id="_uSrTwTROEeCPrptoDUJcNQ" name="E_FPTC_Comment0" memberEnd="_uSrTwjROEeCPrptoDUJcNQ _uSrTwDROEeCPrptoDUJcNQ">
+          <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_uSrTwjROEeCPrptoDUJcNQ" name="extension_FPTC" type="_4m1fcMF0Ed--atLXXafOiQ" aggregation="composite" association="_uSrTwTROEeCPrptoDUJcNQ"/>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Stereotype" xmi:id="_aN9sgHpQEeCIAr4_5S9-cA" name="FPTCSpecification">
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_hgh7MHpQEeCIAr4_5S9-cA" name="base_Comment" association="_hgh7MXpQEeCIAr4_5S9-cA">
+            <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Comment"/>
+          </ownedAttribute>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_jIGV8HpQEeCIAr4_5S9-cA" name="failure" visibility="public" type="_UhqyoMF1Ed--atLXXafOiQ">
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_kdL5kHpQEeCIAr4_5S9-cA"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_kdVqkHpQEeCIAr4_5S9-cA" value="*"/>
+            <defaultValue xmi:type="uml:LiteralString" xmi:id="_kdfbkHpQEeCIAr4_5S9-cA">
+              <value xsi:nil="true"/>
+            </defaultValue>
+          </ownedAttribute>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_640ZIHpQEeCIAr4_5S9-cA" name="partWithPort" association="_640ZI3pQEeCIAr4_5S9-cA">
+            <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_640ZInpQEeCIAr4_5S9-cA" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_640ZIXpQEeCIAr4_5S9-cA" value="1"/>
+          </ownedAttribute>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Extension" xmi:id="_hgh7MXpQEeCIAr4_5S9-cA" name="E_FPTCSpecification_Comment0" memberEnd="_hgh7MnpQEeCIAr4_5S9-cA _hgh7MHpQEeCIAr4_5S9-cA">
+          <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_hgh7MnpQEeCIAr4_5S9-cA" name="extension_FPTCSpecification" type="_aN9sgHpQEeCIAr4_5S9-cA" aggregation="composite" association="_hgh7MXpQEeCIAr4_5S9-cA"/>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Association" xmi:id="_640ZI3pQEeCIAr4_5S9-cA" name="fPTCSpecification_property_0" memberEnd="_640ZJHpQEeCIAr4_5S9-cA _640ZIHpQEeCIAr4_5S9-cA">
+          <ownedEnd xmi:type="uml:Property" xmi:id="_640ZJHpQEeCIAr4_5S9-cA" name="fPTCSpecification" type="_aN9sgHpQEeCIAr4_5S9-cA" association="_640ZI3pQEeCIAr4_5S9-cA">
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_640ZJnpQEeCIAr4_5S9-cA" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_640ZJXpQEeCIAr4_5S9-cA" value="1"/>
+          </ownedEnd>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Stereotype" xmi:id="_cSCAkHpREeCIAr4_5S9-cA" name="FPTCPortSlot">
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_eL7hcHpREeCIAr4_5S9-cA" name="FPTCSpecification" type="_aN9sgHpQEeCIAr4_5S9-cA" association="_eMErYHpREeCIAr4_5S9-cA">
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_eL7hcnpREeCIAr4_5S9-cA" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_eL7hcXpREeCIAr4_5S9-cA" value="1"/>
+          </ownedAttribute>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_oNcpsHpREeCIAr4_5S9-cA" name="base_Slot" association="_oNcpsXpREeCIAr4_5S9-cA">
+            <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Slot"/>
+          </ownedAttribute>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Association" xmi:id="_eMErYHpREeCIAr4_5S9-cA" name="fPTCPortSlot_fPTCSpecification_0" memberEnd="_eMErYXpREeCIAr4_5S9-cA _eL7hcHpREeCIAr4_5S9-cA">
+          <ownedEnd xmi:type="uml:Property" xmi:id="_eMErYXpREeCIAr4_5S9-cA" name="fPTCPortSlot" type="_cSCAkHpREeCIAr4_5S9-cA" association="_eMErYHpREeCIAr4_5S9-cA">
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_eMErY3pREeCIAr4_5S9-cA" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_eMErYnpREeCIAr4_5S9-cA" value="1"/>
+          </ownedEnd>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Extension" xmi:id="_oNcpsXpREeCIAr4_5S9-cA" name="E_FPTCPortSlot_Slot0" memberEnd="_oNcpsnpREeCIAr4_5S9-cA _oNcpsHpREeCIAr4_5S9-cA">
+          <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_oNcpsnpREeCIAr4_5S9-cA" name="extension_FPTCPortSlot" type="_cSCAkHpREeCIAr4_5S9-cA" aggregation="composite" association="_oNcpsXpREeCIAr4_5S9-cA"/>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Stereotype" xmi:id="_Z6PNQAFdEeG47Njvphl3lQ" name="FI4FA">
+          <generalization xmi:type="uml:Generalization" xmi:id="_bKzdQAFdEeG47Njvphl3lQ" general="_y0zvEDQ2EeC0ueejuetpgA"/>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_oTEUAAFdEeG47Njvphl3lQ" name="fi4fa">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+          </ownedAttribute>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Stereotype" xmi:id="_FfQhYAFeEeG47Njvphl3lQ" name="FI4FASpecification">
+          <generalization xmi:type="uml:Generalization" xmi:id="_Hu7d8AFeEeG47Njvphl3lQ" general="_aN9sgHpQEeCIAr4_5S9-cA"/>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Stereotype" xmi:id="_qWq4kAFfEeG47Njvphl3lQ" name="ACIDAvoidable">
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_vbGbwAFfEeG47Njvphl3lQ" name="a" type="_zutbcAFeEeG47Njvphl3lQ">
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_yJ_D4AFfEeG47Njvphl3lQ"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_yKFKgAFfEeG47Njvphl3lQ" value="1"/>
+          </ownedAttribute>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_0EPKEAFfEeG47Njvphl3lQ" name="c" type="__14BkAFeEeG47Njvphl3lQ">
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4Y1LwAFfEeG47Njvphl3lQ"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4ZCAEAFfEeG47Njvphl3lQ" value="1"/>
+          </ownedAttribute>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_7yOJcAFfEeG47Njvphl3lQ" name="base_Comment" association="_7yOJcQFfEeG47Njvphl3lQ">
+            <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Comment"/>
+          </ownedAttribute>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_P6mM8AFgEeG47Njvphl3lQ" name="i" type="_B8CAUAFgEeG47Njvphl3lQ">
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_S-eNoAFgEeG47Njvphl3lQ"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_S-whgAFgEeG47Njvphl3lQ" value="1"/>
+          </ownedAttribute>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_VGqCIAFgEeG47Njvphl3lQ" name="d" type="_Gn6goAFgEeG47Njvphl3lQ">
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_YnjWAAFgEeG47Njvphl3lQ"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Yn1p4AFgEeG47Njvphl3lQ" value="1"/>
+          </ownedAttribute>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Extension" xmi:id="_7yOJcQFfEeG47Njvphl3lQ" name="E_ACIDAvoidable_Comment0" memberEnd="_7yOJcgFfEeG47Njvphl3lQ _7yOJcAFfEeG47Njvphl3lQ">
+          <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_7yOJcgFfEeG47Njvphl3lQ" name="extension_ACIDAvoidable" type="_qWq4kAFfEeG47Njvphl3lQ" aggregation="composite" association="_7yOJcQFfEeG47Njvphl3lQ"/>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Stereotype" xmi:id="_dq5UEAFgEeG47Njvphl3lQ" name="ACIDMitigation ">
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_haekMAFgEeG47Njvphl3lQ" name="base_Comment" association="_hafLQAFgEeG47Njvphl3lQ">
+            <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Comment"/>
+          </ownedAttribute>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_HmyuQAFhEeG47Njvphl3lQ" name="a" type="_jO-nsAFgEeG47Njvphl3lQ">
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_MoJIQAFhEeG47Njvphl3lQ"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_MoJIQQFhEeG47Njvphl3lQ" value="1"/>
+          </ownedAttribute>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_lz4_AAFhEeG47Njvphl3lQ" name="c" type="_rQws0AFgEeG47Njvphl3lQ">
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_pBKMQAFhEeG47Njvphl3lQ"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_pBQS4AFhEeG47Njvphl3lQ" value="1"/>
+          </ownedAttribute>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_qBuRYAFhEeG47Njvphl3lQ" name="i" type="_zPfd8AFgEeG47Njvphl3lQ">
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_stOOUAFhEeG47Njvphl3lQ"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_stUU8AFhEeG47Njvphl3lQ" value="1"/>
+          </ownedAttribute>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_tCrg8AFhEeG47Njvphl3lQ" name="d" type="_-HY0kAFgEeG47Njvphl3lQ">
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_wkv5gAFhEeG47Njvphl3lQ"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_wk2AIAFhEeG47Njvphl3lQ" value="1"/>
+          </ownedAttribute>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Extension" xmi:id="_hafLQAFgEeG47Njvphl3lQ" name="E_ACIDMitigation _Comment0" memberEnd="_hafLQQFgEeG47Njvphl3lQ _haekMAFgEeG47Njvphl3lQ">
+          <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_hafLQQFgEeG47Njvphl3lQ" name="extension_ACIDMitigation " type="_dq5UEAFgEeG47Njvphl3lQ" aggregation="composite" association="_hafLQAFgEeG47Njvphl3lQ"/>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Stereotype" xmi:id="_sm3owCV-EeGFef9zQOfShA" name="FI4FAAnalysis">
+          <generalization xmi:type="uml:Generalization" xmi:id="_yRbX0CV-EeGFef9zQOfShA">
+            <general xmi:type="uml:Stereotype" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_9gc2ABKfEdyaWJN1BYon3A"/>
+          </generalization>
+        </packagedElement>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Profile" xmi:id="_zBudQLwzEd-CDNLmLgazUQ" name="DataFlowCallGraph" URI="http://CHESS.DependabilitySecurity/schemas/DataFlowCallGraph/_QB3mMMe6Ed-7etIj5eTw0Q/8">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_IRdwAMGbEd--atLXXafOiQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+          <contents xmi:type="ecore:EPackage" xmi:id="_Qf93cMe6Ed-7etIj5eTw0Q" name="DataFlowCallGraph" nsURI="http://CHESS.DependabilitySecurity/schemas/DataFlowCallGraph/_QB3mMMe6Ed-7etIj5eTw0Q/8" nsPrefix="DataFlowCallGraph">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_U3X8k8e6Ed-7etIj5eTw0Q" source="PapyrusVersion">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_U3X8lMe6Ed-7etIj5eTw0Q" key="Version" value="0.1.8"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_U3X8lce6Ed-7etIj5eTw0Q" key="Comment" value=""/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_U3X8lse6Ed-7etIj5eTw0Q" key="Copyright" value=""/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_U3X8l8e6Ed-7etIj5eTw0Q" key="Date" value="2010-09-24"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_U3X8mMe6Ed-7etIj5eTw0Q" key="Author" value=""/>
+            </eAnnotations>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_Qf93cce6Ed-7etIj5eTw0Q" name="DataFlowCallGraphAnalysis">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Qf93cse6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_xo4EQMFzEd--atLXXafOiQ"/>
+              <eSuperTypes xmi:type="ecore:EClass" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_329vLZi4Ed-m0Oaexd_lJA"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_Qf93c8e6Ed-7etIj5eTw0Q" name="result" ordered="false" upperBound="-1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_QgHoyMe6Ed-7etIj5eTw0Q" name="MARTE_Library_MARTE_DataTypes_VSL_Expression" instanceClassName="MARTE_Library_MARTE_DataTypes_VSL_Expression">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QgHoyce6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_bManMBEBEdyx6M3BlUjlCQ"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_QgHoyse6Ed-7etIj5eTw0Q" name="MARTE_Library_BasicNFP_Types_SourceKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QgHoy8e6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_oMZzEBD-EdyybZnLxHsjyA"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QgHozMe6Ed-7etIj5eTw0Q" name="est"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QgHozce6Ed-7etIj5eTw0Q" name="meas" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QgHozse6Ed-7etIj5eTw0Q" name="calc" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QgHoz8e6Ed-7etIj5eTw0Q" name="req" value="3"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_QgHo0Me6Ed-7etIj5eTw0Q" name="MARTE_Library_BasicNFP_Types_StatisticalQualifierKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QgHo0ce6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_0N52EBD-EdyybZnLxHsjyA"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QgHo0se6Ed-7etIj5eTw0Q" name="max"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QgHo08e6Ed-7etIj5eTw0Q" name="min" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QgHo1Me6Ed-7etIj5eTw0Q" name="mean" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QgHo1ce6Ed-7etIj5eTw0Q" name="range" value="3"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QgHo1se6Ed-7etIj5eTw0Q" name="percent" value="4"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QgHo18e6Ed-7etIj5eTw0Q" name="distrib" value="5"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QgHo2Me6Ed-7etIj5eTw0Q" name="determ" value="6"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QgHo2ce6Ed-7etIj5eTw0Q" name="other" value="7"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QgHo2se6Ed-7etIj5eTw0Q" name="variance" value="8"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_QgHo28e6Ed-7etIj5eTw0Q" name="MARTE_Library_BasicNFP_Types_DirectionKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QgHo3Me6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_vvfxEBD-EdyybZnLxHsjyA"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QgHo3ce6Ed-7etIj5eTw0Q" name="incr"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QgHo3se6Ed-7etIj5eTw0Q" name="decr" value="1"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_QgHo38e6Ed-7etIj5eTw0Q" name="MARTE_Library_MARTE_PrimitivesTypes_Real" instanceClassName="MARTE_Library_MARTE_PrimitivesTypes_Real">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QgHo4Me6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_beo90AnpEdy9WM11hWri2g"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_QgHo4ce6Ed-7etIj5eTw0Q" name="MARTE_Library_MARTE_PrimitivesTypes_Integer" instanceClassName="MARTE_Library_MARTE_PrimitivesTypes_Integer">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QgHo4se6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_HJ1zcAnfEdy9WM11hWri2g"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_QgHo48e6Ed-7etIj5eTw0Q" name="MARTE_Library_MARTE_PrimitivesTypes_String" instanceClassName="MARTE_Library_MARTE_PrimitivesTypes_String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QgHo5Me6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_qZ3GUAnxEdy9WM11hWri2g"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_QgHpK8e6Ed-7etIj5eTw0Q" name="MARTE_Library_MeasurementUnits_TimeUnitKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QgHpLMe6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_Iaa3gA4yEdysTsAUPnp57Q"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QgHpLce6Ed-7etIj5eTw0Q" name="s"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QgHpLse6Ed-7etIj5eTw0Q" name="tick" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QgHpL8e6Ed-7etIj5eTw0Q" name="ms" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QgHpMMe6Ed-7etIj5eTw0Q" name="us" value="3"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QgHpMce6Ed-7etIj5eTw0Q" name="min" value="4"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QgHpMse6Ed-7etIj5eTw0Q" name="hrs" value="5"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QgHpM8e6Ed-7etIj5eTw0Q" name="day" value="6"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_QgHpO8e6Ed-7etIj5eTw0Q" name="MARTE_Library_MeasurementUnits_DataSizeUnitKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QgHpPMe6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_2pVmEA4yEdysTsAUPnp57Q"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QgHpPce6Ed-7etIj5eTw0Q" name="bit"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QgHpPse6Ed-7etIj5eTw0Q" name="Byte" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QgHpP8e6Ed-7etIj5eTw0Q" name="KB" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QgHpQMe6Ed-7etIj5eTw0Q" name="MB" value="3"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QgHpQce6Ed-7etIj5eTw0Q" name="GB" value="4"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_QgHpSce6Ed-7etIj5eTw0Q" name="MARTE_Library_MeasurementUnits_PowerUnitKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QgHpSse6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_ijhHUA4yEdysTsAUPnp57Q"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QgHpS8e6Ed-7etIj5eTw0Q" name="W"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QgHpTMe6Ed-7etIj5eTw0Q" name="mW" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QgHpTce6Ed-7etIj5eTw0Q" name="KW" value="2"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_QgHpVce6Ed-7etIj5eTw0Q" name="MARTE_Library_MeasurementUnits_EnergyUnitKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QgHpVse6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_UaKKgA4zEdysTsAUPnp57Q"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QgHpV8e6Ed-7etIj5eTw0Q" name="J"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QgHpWMe6Ed-7etIj5eTw0Q" name="KJ" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QgHpWce6Ed-7etIj5eTw0Q" name="Wh" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QgHpWse6Ed-7etIj5eTw0Q" name="KWh" value="3"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QgHpW8e6Ed-7etIj5eTw0Q" name="mWh" value="4"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_QgHpc8e6Ed-7etIj5eTw0Q" name="MARTE_Library_MARTE_PrimitivesTypes_Boolean" instanceClassName="MARTE_Library_MARTE_PrimitivesTypes_Boolean">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QgHpdMe6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_Ddte8AnqEdy9WM11hWri2g"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_QgHplMe6Ed-7etIj5eTw0Q" name="MARTE_Library_TimeTypesLibrary_TimeStandardKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QgHplce6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_MDyyoA-KEdyNj8xzjk-DoA"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QgHplse6Ed-7etIj5eTw0Q" name="TAI"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QgHpl8e6Ed-7etIj5eTw0Q" name="UT0" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QgHpmMe6Ed-7etIj5eTw0Q" name="UT1" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QgHpmce6Ed-7etIj5eTw0Q" name="UTC" value="3"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QgHpmse6Ed-7etIj5eTw0Q" name="Local" value="4"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QgHpm8e6Ed-7etIj5eTw0Q" name="TT" value="5"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QgHpnMe6Ed-7etIj5eTw0Q" name="TBD" value="6"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QgHpnce6Ed-7etIj5eTw0Q" name="TCG" value="7"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QgHpnse6Ed-7etIj5eTw0Q" name="TCB" value="8"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QgHpn8e6Ed-7etIj5eTw0Q" name="Sidereal" value="9"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QgHpoMe6Ed-7etIj5eTw0Q" name="GPS" value="10"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_QgHpt8e6Ed-7etIj5eTw0Q" name="MARTE_Library_TimeTypesLibrary_TimeNatureKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QgHpuMe6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_WAvb0A75EdyML4mHwjNDrw"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QgHpuce6Ed-7etIj5eTw0Q" name="discrete"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QgHpuse6Ed-7etIj5eTw0Q" name="dense" value="1"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_QgHqI8e6Ed-7etIj5eTw0Q" name="MARTE_Library_MeasurementUnits_FrequencyUnitKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QgHqJMe6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_qFaygA4yEdysTsAUPnp57Q"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QgHqJce6Ed-7etIj5eTw0Q" name="Hz"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QgHqJse6Ed-7etIj5eTw0Q" name="KHz" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QgHqJ8e6Ed-7etIj5eTw0Q" name="MHz" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QgHqKMe6Ed-7etIj5eTw0Q" name="GHz" value="3"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QgHqKce6Ed-7etIj5eTw0Q" name="rpm" value="4"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_QgHqice6Ed-7etIj5eTw0Q" name="MARTE_Library_GRM_BasicTypes_PeriodicServerKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QgHqise6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_UP5HEBFbEdyUJeMeN__D-A"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QgHqi8e6Ed-7etIj5eTw0Q" name="Sporadic"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QgHqjMe6Ed-7etIj5eTw0Q" name="Deferrable" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QgHqjce6Ed-7etIj5eTw0Q" name="Undef" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QgHqjse6Ed-7etIj5eTw0Q" name="Other" value="3"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_QgHqose6Ed-7etIj5eTw0Q" name="MARTE_Library_GRM_BasicTypes_SchedPolicyKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QgHqo8e6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_4GfMYBFaEdyUJeMeN__D-A"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QgHqpMe6Ed-7etIj5eTw0Q" name="EarliestDeadlineFirst"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QgHqpce6Ed-7etIj5eTw0Q" name="FIFO" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QgHqpse6Ed-7etIj5eTw0Q" name="FixedPriority" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QgHqp8e6Ed-7etIj5eTw0Q" name="LeastLaxityFirst" value="3"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QgHqqMe6Ed-7etIj5eTw0Q" name="RoundRobin" value="4"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QgHqqce6Ed-7etIj5eTw0Q" name="TimeTableDriven" value="5"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QgHqqse6Ed-7etIj5eTw0Q" name="Undef" value="6"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QgHqq8e6Ed-7etIj5eTw0Q" name="Other" value="7"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_QgHqwce6Ed-7etIj5eTw0Q" name="MARTE_Library_GRM_BasicTypes_ProtectProtocolKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QgHqwse6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_HkE7wBFbEdyUJeMeN__D-A"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QgHqw8e6Ed-7etIj5eTw0Q" name="FIFO"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QgHqxMe6Ed-7etIj5eTw0Q" name="NoPreemption" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QgHqxce6Ed-7etIj5eTw0Q" name="PriorityCeiling" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QgHqxse6Ed-7etIj5eTw0Q" name="PriorityInheritance" value="3"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QgHqx8e6Ed-7etIj5eTw0Q" name="StackBased" value="4"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QgHqyMe6Ed-7etIj5eTw0Q" name="Undef" value="5"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QgHqyce6Ed-7etIj5eTw0Q" name="Other" value="6"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_QgHq_ce6Ed-7etIj5eTw0Q" name="MARTE_MARTE_Foundations_NFPs_ConstraintKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QgHq_se6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_ZCtm0A4vEdysTsAUPnp57Q"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QgHq_8e6Ed-7etIj5eTw0Q" name="required"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QgHrAMe6Ed-7etIj5eTw0Q" name="offered" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QgHrAce6Ed-7etIj5eTw0Q" name="contract" value="2"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_QgHrAse6Ed-7etIj5eTw0Q" name="MARTE_MARTE_AnalysisModel_GQAM_LaxityKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QgHrA8e6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_Gs3fEBKcEdymP89M8JXkzA"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QgHrBMe6Ed-7etIj5eTw0Q" name="hard"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QgHrBce6Ed-7etIj5eTw0Q" name="soft" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_QgHrBse6Ed-7etIj5eTw0Q" name="other" value="2"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_U3X8kMe6Ed-7etIj5eTw0Q" name="NFP_String" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_U3X8kce6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_B5VngBFQEdyUJeMeN__D-A"/>
+              </eAnnotations>
+            </eClassifiers>
+          </contents>
+        </eAnnotations>
+        <packagedElement xmi:type="uml:Stereotype" xmi:id="_xo4EQMFzEd--atLXXafOiQ" name="DataFlowCallGraphAnalysis">
+          <generalization xmi:type="uml:Generalization" xmi:id="_1K71wMFzEd--atLXXafOiQ">
+            <general xmi:type="uml:Stereotype" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_9gc2ABKfEdyaWJN1BYon3A"/>
+          </generalization>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_31G9AMFzEd--atLXXafOiQ" name="result" visibility="public">
+            <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_6iRG0MFzEd--atLXXafOiQ"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_6iRG0cFzEd--atLXXafOiQ" value="*"/>
+            <defaultValue xmi:type="uml:LiteralString" xmi:id="_6iaQwMFzEd--atLXXafOiQ">
+              <value xsi:nil="true"/>
+            </defaultValue>
+          </ownedAttribute>
+        </packagedElement>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Profile" xmi:id="_cE_bwLwzEd-CDNLmLgazUQ" name="StateBased" URI="http://CHESS/Dependability/StateBased">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_IRwq8cGbEd--atLXXafOiQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+          <contents xmi:type="ecore:EPackage" xmi:id="_QgRZcMe6Ed-7etIj5eTw0Q" name="StateBased" nsURI="http://CHESS/Dependability/StateBased" nsPrefix="StateBased">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_U3X8mce6Ed-7etIj5eTw0Q" source="PapyrusVersion">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_U3X8mse6Ed-7etIj5eTw0Q" key="Version" value="0.1.8"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_U3X8m8e6Ed-7etIj5eTw0Q" key="Comment" value=""/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_U3X8nMe6Ed-7etIj5eTw0Q" key="Copyright" value=""/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_U3X8nce6Ed-7etIj5eTw0Q" key="Date" value="2010-09-24"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_U3X8nse6Ed-7etIj5eTw0Q" key="Author" value=""/>
+            </eAnnotations>
+          </contents>
+        </eAnnotations>
+        <packagedElement xmi:type="uml:Package" xmi:id="_u09NsLzqEd-yoLyJo0JlOg" name="StateBasedDataTypes">
+          <packagedElement xmi:type="uml:Enumeration" xmi:id="_2aiM4L84Ed-TL8tpOyViyA" name="RedundancyKind">
+            <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_4yYOAL84Ed-TL8tpOyViyA" name="TMR"/>
+            <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_63AYML84Ed-TL8tpOyViyA" name="Recovery"/>
+          </packagedElement>
+          <packagedElement xmi:type="uml:DataType" xmi:id="_gg-JgL9BEd-TL8tpOyViyA" name="DependabilityMeasure" isAbstract="true">
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_yDV-oL9CEd-TL8tpOyViyA" name="evalProperties" visibility="public" type="_ypgcML9BEd-TL8tpOyViyA">
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_0bfhwL9CEd-TL8tpOyViyA" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_0borsL9CEd-TL8tpOyViyA" value="1"/>
+              <defaultValue xmi:type="uml:LiteralString" xmi:id="_0bycsL9CEd-TL8tpOyViyA">
+                <value xsi:nil="true"/>
+              </defaultValue>
+            </ownedAttribute>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_5IWScL9CEd-TL8tpOyViyA" name="requiredMin" visibility="public">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_7ZMTsL9CEd-TL8tpOyViyA" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_7ZWEsL9CEd-TL8tpOyViyA" value="1"/>
+              <defaultValue xmi:type="uml:LiteralString" xmi:id="_7ZWEsb9CEd-TL8tpOyViyA">
+                <value xsi:nil="true"/>
+              </defaultValue>
+            </ownedAttribute>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_7tnEgL9CEd-TL8tpOyViyA" name="requiredMax" visibility="public">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_9g8qYL9CEd-TL8tpOyViyA" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_9hF0UL9CEd-TL8tpOyViyA" value="1"/>
+              <defaultValue xmi:type="uml:LiteralString" xmi:id="_9hF0Ub9CEd-TL8tpOyViyA">
+                <value xsi:nil="true"/>
+              </defaultValue>
+            </ownedAttribute>
+          </packagedElement>
+          <packagedElement xmi:type="uml:DataType" xmi:id="_ypgcML9BEd-TL8tpOyViyA" name="EvaluationMethod" isAbstract="true">
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_yBQecMAHEd-Dn5_MBIs5Vw" name="simulation" visibility="public" type="_1_8MgL9BEd-TL8tpOyViyA">
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_0bMKQMAHEd-Dn5_MBIs5Vw" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_0bMKQcAHEd-Dn5_MBIs5Vw" value="1"/>
+              <defaultValue xmi:type="uml:LiteralString" xmi:id="_0bVUMMAHEd-Dn5_MBIs5Vw">
+                <value xsi:nil="true"/>
+              </defaultValue>
+            </ownedAttribute>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_5i31wMAHEd-Dn5_MBIs5Vw" name="analytical" visibility="public" type="_ZD9v8L9CEd-TL8tpOyViyA">
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_78zhkMAHEd-Dn5_MBIs5Vw" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_78zhkcAHEd-Dn5_MBIs5Vw" value="1"/>
+              <defaultValue xmi:type="uml:LiteralString" xmi:id="_789SkMAHEd-Dn5_MBIs5Vw">
+                <value xsi:nil="true"/>
+              </defaultValue>
+            </ownedAttribute>
+          </packagedElement>
+          <packagedElement xmi:type="uml:DataType" xmi:id="_1_8MgL9BEd-TL8tpOyViyA" name="EvaluationBySimulation">
+            <generalization xmi:type="uml:Generalization" xmi:id="_322q0L9BEd-TL8tpOyViyA" general="_ypgcML9BEd-TL8tpOyViyA"/>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_5yreUL9BEd-TL8tpOyViyA" name="confidenceInterval" visibility="public">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_9WrJgL9BEd-TL8tpOyViyA" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_9W06gL9BEd-TL8tpOyViyA" value="1"/>
+              <defaultValue xmi:type="uml:LiteralString" xmi:id="_9W06gb9BEd-TL8tpOyViyA">
+                <value xsi:nil="true"/>
+              </defaultValue>
+            </ownedAttribute>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_CgTVwL9CEd-TL8tpOyViyA" name="confidenceLevel" visibility="public">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_EQp5EL9CEd-TL8tpOyViyA" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_EQzqEL9CEd-TL8tpOyViyA" value="1"/>
+              <defaultValue xmi:type="uml:LiteralString" xmi:id="_EQ80AL9CEd-TL8tpOyViyA">
+                <value xsi:nil="true"/>
+              </defaultValue>
+            </ownedAttribute>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_J5kpYL9CEd-TL8tpOyViyA" name="kind" visibility="public" type="_K_w1YL9CEd-TL8tpOyViyA">
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_KeFEoL9CEd-TL8tpOyViyA" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_KeFEob9CEd-TL8tpOyViyA" value="1"/>
+              <defaultValue xmi:type="uml:LiteralString" xmi:id="_KeO1oL9CEd-TL8tpOyViyA">
+                <value xsi:nil="true"/>
+              </defaultValue>
+            </ownedAttribute>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_RjiEYL9CEd-TL8tpOyViyA" name="maxBatches" visibility="public">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_T0O7sL9CEd-TL8tpOyViyA" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_T0YFoL9CEd-TL8tpOyViyA" value="1"/>
+              <defaultValue xmi:type="uml:LiteralString" xmi:id="_T0YFob9CEd-TL8tpOyViyA">
+                <value xsi:nil="true"/>
+              </defaultValue>
+            </ownedAttribute>
+          </packagedElement>
+          <packagedElement xmi:type="uml:Enumeration" xmi:id="_K_w1YL9CEd-TL8tpOyViyA" name="ConfidenceKind">
+            <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_NIs30L9CEd-TL8tpOyViyA" name="relative"/>
+            <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_N5usIL9CEd-TL8tpOyViyA" name="absolute"/>
+          </packagedElement>
+          <packagedElement xmi:type="uml:DataType" xmi:id="_ZD9v8L9CEd-TL8tpOyViyA" name="EvaluationAnalytical">
+            <generalization xmi:type="uml:Generalization" xmi:id="_aGkccL9CEd-TL8tpOyViyA" general="_ypgcML9BEd-TL8tpOyViyA"/>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_hU980L9CEd-TL8tpOyViyA" name="accuracy" visibility="public">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_itoY4L9CEd-TL8tpOyViyA" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_itxi0L9CEd-TL8tpOyViyA" value="1"/>
+              <defaultValue xmi:type="uml:LiteralString" xmi:id="_itxi0b9CEd-TL8tpOyViyA">
+                <value xsi:nil="true"/>
+              </defaultValue>
+            </ownedAttribute>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_lG0d0L9CEd-TL8tpOyViyA" name="maxIteration" visibility="public">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_m7MlgL9CEd-TL8tpOyViyA" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_m7Mlgb9CEd-TL8tpOyViyA" value="1"/>
+              <defaultValue xmi:type="uml:LiteralString" xmi:id="_m7WWgL9CEd-TL8tpOyViyA">
+                <value xsi:nil="true"/>
+              </defaultValue>
+            </ownedAttribute>
+          </packagedElement>
+          <packagedElement xmi:type="uml:DataType" xmi:id="_BV7X4L9DEd-TL8tpOyViyA" name="Reliability">
+            <generalization xmi:type="uml:Generalization" xmi:id="_CyxJUL9DEd-TL8tpOyViyA" general="_gg-JgL9BEd-TL8tpOyViyA"/>
+            <generalization xmi:type="uml:Generalization" xmi:id="_rSeKEEQQEeCQRfAVtSc0sw" general="_gg-JgL9BEd-TL8tpOyViyA"/>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_n_CS8MAEEd-Dn5_MBIs5Vw" name="instantOfTime" visibility="public">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_p5rasMAEEd-Dn5_MBIs5Vw" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_p5rascAEEd-Dn5_MBIs5Vw" value="1"/>
+              <defaultValue xmi:type="uml:LiteralString" xmi:id="_p5rassAEEd-Dn5_MBIs5Vw">
+                <value xsi:nil="true"/>
+              </defaultValue>
+            </ownedAttribute>
+          </packagedElement>
+          <packagedElement xmi:type="uml:DataType" xmi:id="_JEphoL9EEd-TL8tpOyViyA" name="EvaluationType" isAbstract="true">
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_s98kUMABEd-Dn5_MBIs5Vw" name="steady" visibility="public" type="_Nim6sL9EEd-TL8tpOyViyA">
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_udBKYMABEd-Dn5_MBIs5Vw" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_udKUUMABEd-Dn5_MBIs5Vw" value="1"/>
+              <defaultValue xmi:type="uml:LiteralString" xmi:id="_udKUUcABEd-Dn5_MBIs5Vw">
+                <value xsi:nil="true"/>
+              </defaultValue>
+            </ownedAttribute>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_xnh-kMABEd-Dn5_MBIs5Vw" name="instantOfTime" visibility="public">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4sPFgMADEd-Dn5_MBIs5Vw" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4sY2gMADEd-Dn5_MBIs5Vw" value="1"/>
+              <defaultValue xmi:type="uml:LiteralString" xmi:id="_4sY2gcADEd-Dn5_MBIs5Vw">
+                <value xsi:nil="true"/>
+              </defaultValue>
+            </ownedAttribute>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_SpTrgMAEEd-Dn5_MBIs5Vw" name="intervalOfTime" visibility="public">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_UytA8MAEEd-Dn5_MBIs5Vw" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_UytA8cAEEd-Dn5_MBIs5Vw" value="1"/>
+              <defaultValue xmi:type="uml:LiteralString" xmi:id="_Uy2x8MAEEd-Dn5_MBIs5Vw">
+                <value xsi:nil="true"/>
+              </defaultValue>
+            </ownedAttribute>
+          </packagedElement>
+          <packagedElement xmi:type="uml:DataType" xmi:id="_Nim6sL9EEd-TL8tpOyViyA" name="SteadyState">
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_UzPPsL9EEd-TL8tpOyViyA" name="initialTransient" visibility="public">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_WjvkAL9EEd-TL8tpOyViyA" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Wj5VAL9EEd-TL8tpOyViyA" value="1"/>
+              <defaultValue xmi:type="uml:LiteralString" xmi:id="_Wj5VAb9EEd-TL8tpOyViyA">
+                <value xsi:nil="true"/>
+              </defaultValue>
+            </ownedAttribute>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_c7S78L9EEd-TL8tpOyViyA" name="batchSize" visibility="public">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/Ecore.metamodel.uml#EString"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_eYSeYL9EEd-TL8tpOyViyA" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_eYSeYb9EEd-TL8tpOyViyA" value="1"/>
+              <defaultValue xmi:type="uml:LiteralString" xmi:id="_eYboUL9EEd-TL8tpOyViyA">
+                <value xsi:nil="true"/>
+              </defaultValue>
+            </ownedAttribute>
+          </packagedElement>
+          <packagedElement xmi:type="uml:DataType" xmi:id="_IXDbwMAIEd-Dn5_MBIs5Vw" name="Availability">
+            <generalization xmi:type="uml:Generalization" xmi:id="_OUiG0MAIEd-Dn5_MBIs5Vw" general="_gg-JgL9BEd-TL8tpOyViyA"/>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_R7p-gMAIEd-Dn5_MBIs5Vw" name="evaluation" visibility="public" type="_JEphoL9EEd-TL8tpOyViyA">
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_TZPW0MAIEd-Dn5_MBIs5Vw" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_TZPW0cAIEd-Dn5_MBIs5Vw" value="1"/>
+              <defaultValue xmi:type="uml:LiteralString" xmi:id="_TZZH0MAIEd-Dn5_MBIs5Vw">
+                <value xsi:nil="true"/>
+              </defaultValue>
+            </ownedAttribute>
+          </packagedElement>
+          <packagedElement xmi:type="uml:DataType" xmi:id="_b3D3sMAIEd-Dn5_MBIs5Vw" name="MTTF">
+            <generalization xmi:type="uml:Generalization" xmi:id="_df0lQMAIEd-Dn5_MBIs5Vw" general="_gg-JgL9BEd-TL8tpOyViyA"/>
+          </packagedElement>
+          <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_f6IpcFt1EeCB9JyGkIbTqQ">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_f6IpcVt1EeCB9JyGkIbTqQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+              <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/MARTE/1#//VSL/DataTypes"/>
+            </eAnnotations>
+            <appliedProfile xmi:type="uml:Profile" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_9FdqwA-MEdyLh7muGbCqMw"/>
+          </profileApplication>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Profile" xmi:id="_d50lQL86Ed-TL8tpOyViyA" name="StateBasedComponents" URI="http://CHESS/Dependability/StateBased/StateBasedComponents" metaclassReference="_khfBQDUkEeC3rNpnAhYo0w _9n598DXmEeCuQp9j3DmccQ">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_IYK08MGbEd--atLXXafOiQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+            <contents xmi:type="ecore:EPackage" xmi:id="_qaEFEEAjEeCQKOeIf0epIQ" name="StateBasedComponents" nsURI="http://CHESS/Dependability/StateBased/StateBasedComponents" nsPrefix="StateBasedComponents">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qj5WgEAjEeCQKOeIf0epIQ" source="PapyrusVersion">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qj5WgUAjEeCQKOeIf0epIQ" key="Version" value="0.1.10"/>
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qj5WgkAjEeCQKOeIf0epIQ" key="Comment" value="added faultOcc in stateBased components"/>
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qj5Wg0AjEeCQKOeIf0epIQ" key="Copyright" value=""/>
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qj5WhEAjEeCQKOeIf0epIQ" key="Date" value="2011-02-24"/>
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qj5WhUAjEeCQKOeIf0epIQ" key="Author" value=""/>
+              </eAnnotations>
+              <eClassifiers xmi:type="ecore:EClass" xmi:id="_qaEFEUAjEeCQKOeIf0epIQ" name="StatefulHardware" eSuperTypes="_vTM2hzgaEeCE2sZUGxu35w">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qaEFEkAjEeCQKOeIf0epIQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_2CGCcLztEd-yoLyJo0JlOg"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_qaXAAEAjEeCQKOeIf0epIQ" name="probPermFault" ordered="false" lowerBound="1" eType="_qaXAAkAjEeCQKOeIf0epIQ"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_qazr8EAjEeCQKOeIf0epIQ" name="errorLatency" ordered="false" lowerBound="1" eType="_qazr8kAjEeCQKOeIf0epIQ"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_qbQX4EAjEeCQKOeIf0epIQ" name="repairDelay" ordered="false" lowerBound="1" eType="_qazr8kAjEeCQKOeIf0epIQ"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_qbtD0EAjEeCQKOeIf0epIQ" name="faultOcc" ordered="false" eType="_qbtD0kAjEeCQKOeIf0epIQ"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_qaEFe0AjEeCQKOeIf0epIQ" name="MARTE_Library_MARTE_DataTypes_VSL_Expression" instanceClassName="java.lang.String">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qaEFfEAjEeCQKOeIf0epIQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_bManMBEBEdyx6M3BlUjlCQ"/>
+                </eAnnotations>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_qaEFfUAjEeCQKOeIf0epIQ" name="MARTE_Library_BasicNFP_Types_SourceKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qaEFfkAjEeCQKOeIf0epIQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_oMZzEBD-EdyybZnLxHsjyA"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_qaEFf0AjEeCQKOeIf0epIQ" name="est"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_qaEFgEAjEeCQKOeIf0epIQ" name="meas" value="1"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_qaEFgUAjEeCQKOeIf0epIQ" name="calc" value="2"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_qaEFgkAjEeCQKOeIf0epIQ" name="req" value="3"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_qaEFg0AjEeCQKOeIf0epIQ" name="MARTE_Library_BasicNFP_Types_StatisticalQualifierKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qaEFhEAjEeCQKOeIf0epIQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_0N52EBD-EdyybZnLxHsjyA"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_qaEFhUAjEeCQKOeIf0epIQ" name="max"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_qaEFhkAjEeCQKOeIf0epIQ" name="min" value="1"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_qaEFh0AjEeCQKOeIf0epIQ" name="mean" value="2"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_qaEFiEAjEeCQKOeIf0epIQ" name="range" value="3"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_qaEFiUAjEeCQKOeIf0epIQ" name="percent" value="4"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_qaEFikAjEeCQKOeIf0epIQ" name="distrib" value="5"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_qaEFi0AjEeCQKOeIf0epIQ" name="determ" value="6"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_qaEFjEAjEeCQKOeIf0epIQ" name="other" value="7"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_qaEFjUAjEeCQKOeIf0epIQ" name="variance" value="8"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_qaEFjkAjEeCQKOeIf0epIQ" name="MARTE_Library_BasicNFP_Types_DirectionKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qaEFj0AjEeCQKOeIf0epIQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_vvfxEBD-EdyybZnLxHsjyA"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_qaEFkEAjEeCQKOeIf0epIQ" name="incr"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_qaEFkUAjEeCQKOeIf0epIQ" name="decr" value="1"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_qaEFkkAjEeCQKOeIf0epIQ" name="MARTE_Library_MARTE_PrimitivesTypes_Real" instanceClassName="java.lang.String">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qaEFk0AjEeCQKOeIf0epIQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_beo90AnpEdy9WM11hWri2g"/>
+                </eAnnotations>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_qaEFlEAjEeCQKOeIf0epIQ" name="MARTE_Library_MARTE_PrimitivesTypes_Integer" instanceClassName="int">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qaEFlUAjEeCQKOeIf0epIQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_HJ1zcAnfEdy9WM11hWri2g"/>
+                </eAnnotations>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_qaEFo0AjEeCQKOeIf0epIQ" name="MARTE_Library_MeasurementUnits_TimeUnitKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qaEFpEAjEeCQKOeIf0epIQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_Iaa3gA4yEdysTsAUPnp57Q"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_qaEFpUAjEeCQKOeIf0epIQ" name="s"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_qaEFpkAjEeCQKOeIf0epIQ" name="tick" value="1"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_qaEFp0AjEeCQKOeIf0epIQ" name="ms" value="2"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_qaEFqEAjEeCQKOeIf0epIQ" name="us" value="3"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_qaEFqUAjEeCQKOeIf0epIQ" name="min" value="4"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_qaEFqkAjEeCQKOeIf0epIQ" name="hrs" value="5"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_qaEFq0AjEeCQKOeIf0epIQ" name="day" value="6"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_qaEFrEAjEeCQKOeIf0epIQ" name="MARTE_Library_MARTE_PrimitivesTypes_String" instanceClassName="java.lang.String">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qaEFrUAjEeCQKOeIf0epIQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_qZ3GUAnxEdy9WM11hWri2g"/>
+                </eAnnotations>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_qaEFtUAjEeCQKOeIf0epIQ" name="MARTE_Library_MeasurementUnits_FrequencyUnitKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qaEFtkAjEeCQKOeIf0epIQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_qFaygA4yEdysTsAUPnp57Q"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_qaEFt0AjEeCQKOeIf0epIQ" name="Hz"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_qaEFuEAjEeCQKOeIf0epIQ" name="KHz" value="1"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_qaEFuUAjEeCQKOeIf0epIQ" name="MHz" value="2"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_qaEFukAjEeCQKOeIf0epIQ" name="GHz" value="3"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_qaEFu0AjEeCQKOeIf0epIQ" name="rpm" value="4"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EClass" xmi:id="_qaEFvEAjEeCQKOeIf0epIQ" name="StatefulSoftware" eSuperTypes="_vTM2hzgaEeCE2sZUGxu35w">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qaEFvUAjEeCQKOeIf0epIQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_ZcEAsLzuEd-yoLyJo0JlOg"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_qdfzkUAjEeCQKOeIf0epIQ" name="errorLatency" ordered="false" lowerBound="1" eType="_qazr8kAjEeCQKOeIf0epIQ"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_qeFpcEAjEeCQKOeIf0epIQ" name="repairDelay" ordered="false" lowerBound="1" eType="_qazr8kAjEeCQKOeIf0epIQ"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_qesGYEAjEeCQKOeIf0epIQ" name="faultOcc" ordered="false" eType="_qbtD0kAjEeCQKOeIf0epIQ"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EClass" xmi:id="_qaEFxUAjEeCQKOeIf0epIQ" name="StatelessHardware" eSuperTypes="_vTM2hzgaEeCE2sZUGxu35w">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qaEFxkAjEeCQKOeIf0epIQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_FUGM4LzuEd-yoLyJo0JlOg"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_qgUeEEAjEeCQKOeIf0epIQ" name="probPermFault" ordered="false" lowerBound="1" eType="_qaXAAkAjEeCQKOeIf0epIQ"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_qg67AEAjEeCQKOeIf0epIQ" name="repairDelay" ordered="false" lowerBound="1" eType="_qazr8kAjEeCQKOeIf0epIQ"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_qhXm8EAjEeCQKOeIf0epIQ" name="faultOcc" ordered="false" eType="_qbtD0kAjEeCQKOeIf0epIQ"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EClass" xmi:id="_qaEFzkAjEeCQKOeIf0epIQ" name="StatelessSoftware" eSuperTypes="_vTM2hzgaEeCE2sZUGxu35w">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qaEFz0AjEeCQKOeIf0epIQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_or_HgLzuEd-yoLyJo0JlOg"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_qjAlsUAjEeCQKOeIf0epIQ" name="faultOcc" ordered="false" eType="_qbtD0kAjEeCQKOeIf0epIQ"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_qaXAAkAjEeCQKOeIf0epIQ" name="NFP_Real" instanceClassName="java.lang.String">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qaXAA0AjEeCQKOeIf0epIQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_Yq-MQBFQEdyUJeMeN__D-A"/>
+                </eAnnotations>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_qazr8kAjEeCQKOeIf0epIQ" name="NFP_Duration" instanceClassName="java.lang.String">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qazr80AjEeCQKOeIf0epIQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_kMwX8BFREdyUJeMeN__D-A"/>
+                </eAnnotations>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_qbtD0kAjEeCQKOeIf0epIQ" name="NFP_Frequency" instanceClassName="java.lang.String">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qbtD00AjEeCQKOeIf0epIQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_UDZSQBFSEdyUJeMeN__D-A"/>
+                </eAnnotations>
+              </eClassifiers>
+            </contents>
+            <contents xmi:type="ecore:EPackage" xmi:id="_Q0rjMMe6Ed-7etIj5eTw0Q" name="DependableComponents" nsURI="http://CHESS.DependabilitySecurity.StateBased/schemas/DependableComponents/_QgajYMe6Ed-7etIj5eTw0Q/9" nsPrefix="DependableComponents">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_V9QmkMe6Ed-7etIj5eTw0Q" source="PapyrusVersion">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_V9Qmkce6Ed-7etIj5eTw0Q" key="Version" value="0.1.8"/>
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_V9Qmkse6Ed-7etIj5eTw0Q" key="Comment" value=""/>
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_V9Qmk8e6Ed-7etIj5eTw0Q" key="Copyright" value=""/>
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_V9QmlMe6Ed-7etIj5eTw0Q" key="Date" value="2010-09-24"/>
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_V9Qmlce6Ed-7etIj5eTw0Q" key="Author" value=""/>
+              </eAnnotations>
+              <eClassifiers xmi:type="ecore:EClass" xmi:id="_Q0rjMce6Ed-7etIj5eTw0Q" name="DepComponent" abstract="true">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Q0rjMse6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML"/>
+                <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_Q0rjM8e6Ed-7etIj5eTw0Q" name="base_Component" ordered="false" lowerBound="1">
+                  <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Component"/>
+                </eStructuralFeatures>
+                <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_Q0rjNce6Ed-7etIj5eTw0Q" name="base_Property" ordered="false" lowerBound="1">
+                  <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
+                </eStructuralFeatures>
+                <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_Q0rjN8e6Ed-7etIj5eTw0Q" name="failure" ordered="false" lowerBound="1" upperBound="-1" eType="_Q0rjO8e6Ed-7etIj5eTw0Q"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_U7jR8Me6Ed-7etIj5eTw0Q" name="faultOcc" ordered="false" lowerBound="1" eType="_U7jR8se6Ed-7etIj5eTw0Q"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EClass" xmi:id="_Q0rjO8e6Ed-7etIj5eTw0Q" name="FailureMode">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Q0rjPMe6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_Q0rjPce6Ed-7etIj5eTw0Q" name="name" ordered="false" lowerBound="1">
+                  <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+                </eStructuralFeatures>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_Q0rjP8e6Ed-7etIj5eTw0Q" name="description" ordered="false" lowerBound="1">
+                  <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+                </eStructuralFeatures>
+                <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_Q0rjRce6Ed-7etIj5eTw0Q" name="PropagationLogics" ordered="false" lowerBound="1">
+                  <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//OpaqueExpression"/>
+                </eStructuralFeatures>
+                <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_Q0rjR8e6Ed-7etIj5eTw0Q" name="base_Class" ordered="false" lowerBound="1">
+                  <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+                </eStructuralFeatures>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_U_kPQMe6Ed-7etIj5eTw0Q" name="signaled" ordered="false" lowerBound="1" eType="_U_kPQse6Ed-7etIj5eTw0Q"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_VCGl4Me6Ed-7etIj5eTw0Q" name="relProb" ordered="false" lowerBound="1" eType="_VCGl4se6Ed-7etIj5eTw0Q"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_Q0rjoce6Ed-7etIj5eTw0Q" name="MARTE_Library_MARTE_DataTypes_VSL_Expression" instanceClassName="MARTE_Library_MARTE_DataTypes_VSL_Expression">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Q0rjose6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_bManMBEBEdyx6M3BlUjlCQ"/>
+                </eAnnotations>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_Q0rjo8e6Ed-7etIj5eTw0Q" name="MARTE_Library_BasicNFP_Types_SourceKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Q0rjpMe6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_oMZzEBD-EdyybZnLxHsjyA"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_Q0rjpce6Ed-7etIj5eTw0Q" name="est"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_Q0rjpse6Ed-7etIj5eTw0Q" name="meas" value="1"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_Q0rjp8e6Ed-7etIj5eTw0Q" name="calc" value="2"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_Q0rjqMe6Ed-7etIj5eTw0Q" name="req" value="3"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_Q0rjqce6Ed-7etIj5eTw0Q" name="MARTE_Library_BasicNFP_Types_StatisticalQualifierKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Q0rjqse6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_0N52EBD-EdyybZnLxHsjyA"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_Q0rjq8e6Ed-7etIj5eTw0Q" name="max"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_Q0rjrMe6Ed-7etIj5eTw0Q" name="min" value="1"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_Q0rjrce6Ed-7etIj5eTw0Q" name="mean" value="2"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_Q0rjrse6Ed-7etIj5eTw0Q" name="range" value="3"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_Q0rjr8e6Ed-7etIj5eTw0Q" name="percent" value="4"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_Q0rjsMe6Ed-7etIj5eTw0Q" name="distrib" value="5"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_Q0rjsce6Ed-7etIj5eTw0Q" name="determ" value="6"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_Q0rjsse6Ed-7etIj5eTw0Q" name="other" value="7"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_Q0rjs8e6Ed-7etIj5eTw0Q" name="variance" value="8"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_Q0rjtMe6Ed-7etIj5eTw0Q" name="MARTE_Library_BasicNFP_Types_DirectionKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Q0rjtce6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_vvfxEBD-EdyybZnLxHsjyA"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_Q0rjtse6Ed-7etIj5eTw0Q" name="incr"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_Q0rjt8e6Ed-7etIj5eTw0Q" name="decr" value="1"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_Q0rjuMe6Ed-7etIj5eTw0Q" name="MARTE_Library_MARTE_PrimitivesTypes_Real" instanceClassName="MARTE_Library_MARTE_PrimitivesTypes_Real">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Q0rjuce6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_beo90AnpEdy9WM11hWri2g"/>
+                </eAnnotations>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_Q0rjuse6Ed-7etIj5eTw0Q" name="MARTE_Library_MARTE_PrimitivesTypes_Integer" instanceClassName="MARTE_Library_MARTE_PrimitivesTypes_Integer">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Q0rju8e6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_HJ1zcAnfEdy9WM11hWri2g"/>
+                </eAnnotations>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_Q0rjvMe6Ed-7etIj5eTw0Q" name="MARTE_Library_MARTE_PrimitivesTypes_Boolean" instanceClassName="MARTE_Library_MARTE_PrimitivesTypes_Boolean">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Q0rjvce6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_Ddte8AnqEdy9WM11hWri2g"/>
+                </eAnnotations>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_Q0rjyse6Ed-7etIj5eTw0Q" name="MARTE_Library_MeasurementUnits_FrequencyUnitKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Q0rjy8e6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_qFaygA4yEdysTsAUPnp57Q"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_Q0rjzMe6Ed-7etIj5eTw0Q" name="Hz"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_Q0rjzce6Ed-7etIj5eTw0Q" name="KHz" value="1"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_Q0rjzse6Ed-7etIj5eTw0Q" name="MHz" value="2"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_Q0rjz8e6Ed-7etIj5eTw0Q" name="GHz" value="3"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_Q0rj0Me6Ed-7etIj5eTw0Q" name="rpm" value="4"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EClass" xmi:id="_Q0rj0ce6Ed-7etIj5eTw0Q" name="Propagation">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Q0rj0se6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_uoIV0LzuEd-yoLyJo0JlOg"/>
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Q0rj08e6Ed-7etIj5eTw0Q" source="duplicates">
+                  <contents xmi:type="ecore:EReference" xmi:id="_Q0rj1Me6Ed-7etIj5eTw0Q" name="base_Connector" ordered="false" lowerBound="1">
+                    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Q0rj1ce6Ed-7etIj5eTw0Q" source="redefines" references="_Q0rj18e6Ed-7etIj5eTw0Q"/>
+                    <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>
+                  </contents>
+                </eAnnotations>
+                <eSuperTypes xmi:type="ecore:EClass" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_b7sgXLG3Ed-tmN4hwNCxXQ"/>
+                <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_Q0rj18e6Ed-7etIj5eTw0Q" name="base_Connector" ordered="false" lowerBound="1">
+                  <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>
+                </eStructuralFeatures>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_VMFoUMe6Ed-7etIj5eTw0Q" name="prob" ordered="false" lowerBound="1" eType="_VCGl4se6Ed-7etIj5eTw0Q"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_VPqgwMe6Ed-7etIj5eTw0Q" name="propDelay" ordered="false" lowerBound="1" eType="_VPqgwse6Ed-7etIj5eTw0Q"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_Q0rj6Me6Ed-7etIj5eTw0Q" name="MARTE_MARTE_Foundations_Alloc_AllocationKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Q0rj6ce6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_VxKdYBHbEdyWC5IKDhzksw"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_Q0rj6se6Ed-7etIj5eTw0Q" name="structural"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_Q0rj68e6Ed-7etIj5eTw0Q" name="behavioral" value="1"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_Q0rj7Me6Ed-7etIj5eTw0Q" name="hybrid" value="2"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_Q0rj7ce6Ed-7etIj5eTw0Q" name="MARTE_MARTE_Foundations_Alloc_AllocationNature">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Q0rj7se6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_VYSDUBHbEdyWC5IKDhzksw"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_Q0rj78e6Ed-7etIj5eTw0Q" name="spatialDistribution"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_Q0rj8Me6Ed-7etIj5eTw0Q" name="timeScheduling" value="1"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_Q0rj-ce6Ed-7etIj5eTw0Q" name="MARTE_MARTE_Foundations_NFPs_ConstraintKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Q0rj-se6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_ZCtm0A4vEdysTsAUPnp57Q"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_Q0rj-8e6Ed-7etIj5eTw0Q" name="required"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_Q0rj_Me6Ed-7etIj5eTw0Q" name="offered" value="1"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_Q0rj_ce6Ed-7etIj5eTw0Q" name="contract" value="2"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_Q0rkD8e6Ed-7etIj5eTw0Q" name="MARTE_Library_MeasurementUnits_TimeUnitKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Q0rkEMe6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_Iaa3gA4yEdysTsAUPnp57Q"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_Q0rkEce6Ed-7etIj5eTw0Q" name="s"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_Q0rkEse6Ed-7etIj5eTw0Q" name="tick" value="1"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_Q0rkE8e6Ed-7etIj5eTw0Q" name="ms" value="2"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_Q0rkFMe6Ed-7etIj5eTw0Q" name="us" value="3"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_Q0rkFce6Ed-7etIj5eTw0Q" name="min" value="4"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_Q0rkFse6Ed-7etIj5eTw0Q" name="hrs" value="5"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_Q0rkF8e6Ed-7etIj5eTw0Q" name="day" value="6"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_Q0rkGMe6Ed-7etIj5eTw0Q" name="MARTE_Library_MARTE_PrimitivesTypes_String" instanceClassName="MARTE_Library_MARTE_PrimitivesTypes_String">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Q0rkGce6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_qZ3GUAnxEdy9WM11hWri2g"/>
+                </eAnnotations>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EClass" xmi:id="_Q0rkGse6Ed-7etIj5eTw0Q" name="StatefulHardware" eSuperTypes="_Q0rjMce6Ed-7etIj5eTw0Q">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Q0rkG8e6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_2CGCcLztEd-yoLyJo0JlOg"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_VVeN0Me6Ed-7etIj5eTw0Q" name="probPermFault" ordered="false" lowerBound="1" eType="_VCGl4se6Ed-7etIj5eTw0Q"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_VYnBYMe6Ed-7etIj5eTw0Q" name="errorLatency" ordered="false" lowerBound="1" eType="_VPqgwse6Ed-7etIj5eTw0Q"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_VbvN4Me6Ed-7etIj5eTw0Q" name="repairDelay" ordered="false" lowerBound="1" eType="_VPqgwse6Ed-7etIj5eTw0Q"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EClass" xmi:id="_Q0rkI8e6Ed-7etIj5eTw0Q" name="StatefulSoftware" eSuperTypes="_Q0rjMce6Ed-7etIj5eTw0Q">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Q0rkJMe6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_ZcEAsLzuEd-yoLyJo0JlOg"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_VlauUMe6Ed-7etIj5eTw0Q" name="errorLatency" ordered="false" lowerBound="1" eType="_VPqgwse6Ed-7etIj5eTw0Q"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_Voi60Me6Ed-7etIj5eTw0Q" name="repairDelay" ordered="false" lowerBound="1" eType="_VPqgwse6Ed-7etIj5eTw0Q"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EClass" xmi:id="_Q0rkKse6Ed-7etIj5eTw0Q" name="StatelessHardware" eSuperTypes="_Q0rjMce6Ed-7etIj5eTw0Q">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Q0rkK8e6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_FUGM4LzuEd-yoLyJo0JlOg"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_Vw4-gMe6Ed-7etIj5eTw0Q" name="probPermFault" ordered="false" lowerBound="1" eType="_VCGl4se6Ed-7etIj5eTw0Q"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_V0ByEMe6Ed-7etIj5eTw0Q" name="repairDelay" ordered="false" lowerBound="1" eType="_VPqgwse6Ed-7etIj5eTw0Q"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EClass" xmi:id="_Q0rkMce6Ed-7etIj5eTw0Q" name="StatelessSoftware" eSuperTypes="_Q0rjMce6Ed-7etIj5eTw0Q">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Q0rkMse6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_or_HgLzuEd-yoLyJo0JlOg"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_U7jR8se6Ed-7etIj5eTw0Q" name="NFP_Frequency" instanceClassName="java.lang.String">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_U7jR88e6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_UDZSQBFSEdyUJeMeN__D-A"/>
+                </eAnnotations>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_U_kPQse6Ed-7etIj5eTw0Q" name="NFP_Boolean" instanceClassName="java.lang.String">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_U_kPQ8e6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_55fyMBFGEdyBd9q9NMDXUQ"/>
+                </eAnnotations>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_VCGl4se6Ed-7etIj5eTw0Q" name="NFP_Real" instanceClassName="java.lang.String">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_VCGl48e6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_Yq-MQBFQEdyUJeMeN__D-A"/>
+                </eAnnotations>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_VPqgwse6Ed-7etIj5eTw0Q" name="NFP_Duration" instanceClassName="java.lang.String">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_VPqgw8e6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_kMwX8BFREdyUJeMeN__D-A"/>
+                </eAnnotations>
+              </eClassifiers>
+            </contents>
+          </eAnnotations>
+          <elementImport xmi:type="uml:ElementImport" xmi:id="_khfBQDUkEeC3rNpnAhYo0w" alias="Component">
+            <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Component"/>
+          </elementImport>
+          <elementImport xmi:type="uml:ElementImport" xmi:id="_9n598DXmEeCuQp9j3DmccQ" alias="Property">
+            <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+          </elementImport>
+          <packagedElement xmi:type="uml:Stereotype" xmi:id="_2CGCcLztEd-yoLyJo0JlOg" name="StatefulHardware">
+            <generalization xmi:type="uml:Generalization" xmi:id="_nKyFoEAjEeCQKOeIf0epIQ" general="_y0zvEDQ2EeC0ueejuetpgA"/>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_7R02sLztEd-yoLyJo0JlOg" name="probPermFault" visibility="public">
+              <type xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_Yq-MQBFQEdyUJeMeN__D-A"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_9ofMELztEd-yoLyJo0JlOg" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_9oo9ELztEd-yoLyJo0JlOg" value="1"/>
+              <defaultValue xmi:type="uml:LiteralString" xmi:id="_9oo9EbztEd-yoLyJo0JlOg">
+                <value xsi:nil="true"/>
+              </defaultValue>
+            </ownedAttribute>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_-ghAQLztEd-yoLyJo0JlOg" name="errorLatency" visibility="public">
+              <type xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_kMwX8BFREdyUJeMeN__D-A"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_ALXYgLzuEd-yoLyJo0JlOg" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_ALgicLzuEd-yoLyJo0JlOg" value="1"/>
+              <defaultValue xmi:type="uml:LiteralString" xmi:id="_ALqTcLzuEd-yoLyJo0JlOg">
+                <value xsi:nil="true"/>
+              </defaultValue>
+            </ownedAttribute>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_CIZF4LzuEd-yoLyJo0JlOg" name="repairDelay" visibility="public">
+              <type xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_kMwX8BFREdyUJeMeN__D-A"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_EHM78LzuEd-yoLyJo0JlOg" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_EHM78bzuEd-yoLyJo0JlOg" value="1"/>
+              <defaultValue xmi:type="uml:LiteralString" xmi:id="_EHWs8LzuEd-yoLyJo0JlOg">
+                <value xsi:nil="true"/>
+              </defaultValue>
+            </ownedAttribute>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_PUFWQEAjEeCQKOeIf0epIQ" name="faultOcc" visibility="public">
+              <type xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_UDZSQBFSEdyUJeMeN__D-A"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_RFfCcEAjEeCQKOeIf0epIQ"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RFx9YEAjEeCQKOeIf0epIQ" value="1"/>
+              <defaultValue xmi:type="uml:LiteralString" xmi:id="_RF7uYEAjEeCQKOeIf0epIQ">
+                <value xsi:nil="true"/>
+              </defaultValue>
+            </ownedAttribute>
+          </packagedElement>
+          <packagedElement xmi:type="uml:Stereotype" xmi:id="_ZcEAsLzuEd-yoLyJo0JlOg" name="StatefulSoftware">
+            <generalization xmi:type="uml:Generalization" xmi:id="_oMpyUEAjEeCQKOeIf0epIQ" general="_y0zvEDQ2EeC0ueejuetpgA"/>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_cZdl8LzuEd-yoLyJo0JlOg" name="errorLatency" visibility="public">
+              <type xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_kMwX8BFREdyUJeMeN__D-A"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_eMgQ4LzuEd-yoLyJo0JlOg" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_eMqB4LzuEd-yoLyJo0JlOg" value="1"/>
+              <defaultValue xmi:type="uml:LiteralString" xmi:id="_eMqB4bzuEd-yoLyJo0JlOg">
+                <value xsi:nil="true"/>
+              </defaultValue>
+            </ownedAttribute>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_ee1XALzuEd-yoLyJo0JlOg" name="repairDelay" visibility="public">
+              <type xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_kMwX8BFREdyUJeMeN__D-A"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hTTCsLzuEd-yoLyJo0JlOg" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_hTTCsbzuEd-yoLyJo0JlOg" value="1"/>
+              <defaultValue xmi:type="uml:LiteralString" xmi:id="_hTczsLzuEd-yoLyJo0JlOg">
+                <value xsi:nil="true"/>
+              </defaultValue>
+            </ownedAttribute>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_beHDIEAjEeCQKOeIf0epIQ" name="faultOcc" visibility="public">
+              <type xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_UDZSQBFSEdyUJeMeN__D-A"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_eEIDIEAjEeCQKOeIf0epIQ"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_eEa-EEAjEeCQKOeIf0epIQ" value="1"/>
+              <defaultValue xmi:type="uml:LiteralString" xmi:id="_eEkvEEAjEeCQKOeIf0epIQ">
+                <value xsi:nil="true"/>
+              </defaultValue>
+            </ownedAttribute>
+          </packagedElement>
+          <packagedElement xmi:type="uml:Stereotype" xmi:id="_FUGM4LzuEd-yoLyJo0JlOg" name="StatelessHardware">
+            <ownedComment xmi:type="uml:Comment" xmi:id="_JxdwELzuEd-yoLyJo0JlOg">
+              <body>probPermFault</body>
+            </ownedComment>
+            <generalization xmi:type="uml:Generalization" xmi:id="_n2AM4EAjEeCQKOeIf0epIQ" general="_y0zvEDQ2EeC0ueejuetpgA"/>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_PAKpkLzuEd-yoLyJo0JlOg" name="probPermFault" visibility="public">
+              <type xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_Yq-MQBFQEdyUJeMeN__D-A"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_R1hGELzuEd-yoLyJo0JlOg" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_R1q3ELzuEd-yoLyJo0JlOg" value="1"/>
+              <defaultValue xmi:type="uml:LiteralString" xmi:id="_R1q3EbzuEd-yoLyJo0JlOg">
+                <value xsi:nil="true"/>
+              </defaultValue>
+            </ownedAttribute>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_SQ72wLzuEd-yoLyJo0JlOg" name="repairDelay" visibility="public">
+              <type xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_kMwX8BFREdyUJeMeN__D-A"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUmcELzuEd-yoLyJo0JlOg" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VUmcEbzuEd-yoLyJo0JlOg" value="1"/>
+              <defaultValue xmi:type="uml:LiteralString" xmi:id="_VUvmALzuEd-yoLyJo0JlOg">
+                <value xsi:nil="true"/>
+              </defaultValue>
+            </ownedAttribute>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_ZkEYUEAjEeCQKOeIf0epIQ" name="faultOcc" visibility="public">
+              <type xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_UDZSQBFSEdyUJeMeN__D-A"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_avK5gEAjEeCQKOeIf0epIQ"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_avUqgEAjEeCQKOeIf0epIQ" value="1"/>
+              <defaultValue xmi:type="uml:LiteralString" xmi:id="_avd0cEAjEeCQKOeIf0epIQ">
+                <value xsi:nil="true"/>
+              </defaultValue>
+            </ownedAttribute>
+          </packagedElement>
+          <packagedElement xmi:type="uml:Stereotype" xmi:id="_or_HgLzuEd-yoLyJo0JlOg" name="StatelessSoftware">
+            <generalization xmi:type="uml:Generalization" xmi:id="_nhIwIEAjEeCQKOeIf0epIQ" general="_y0zvEDQ2EeC0ueejuetpgA"/>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_V6__4EAjEeCQKOeIf0epIQ" name="faultOcc" visibility="public">
+              <type xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_UDZSQBFSEdyUJeMeN__D-A"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_XcAfoEAjEeCQKOeIf0epIQ"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_XcUBoEAjEeCQKOeIf0epIQ" value="1"/>
+              <defaultValue xmi:type="uml:LiteralString" xmi:id="_XcdLkEAjEeCQKOeIf0epIQ">
+                <value xsi:nil="true"/>
+              </defaultValue>
+            </ownedAttribute>
+          </packagedElement>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Profile" xmi:id="_mbqqgL86Ed-TL8tpOyViyA" name="FaultTolerance" URI="http://CHESS/Dependability/StateBased/FaultTolerance">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_IhHVkMGbEd--atLXXafOiQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+            <contents xmi:type="ecore:EPackage" xmi:id="_RFhbkMe6Ed-7etIj5eTw0Q" name="FaultTolerance" nsURI="http://CHESS/Dependability/StateBased/FaultTolerance" nsPrefix="FaultTolerance">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_WHPpAMe6Ed-7etIj5eTw0Q" source="PapyrusVersion">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_WHPpAce6Ed-7etIj5eTw0Q" key="Version" value="0.1.8"/>
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_WHPpAse6Ed-7etIj5eTw0Q" key="Comment" value=""/>
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_WHPpA8e6Ed-7etIj5eTw0Q" key="Copyright" value=""/>
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_WHPpBMe6Ed-7etIj5eTw0Q" key="Date" value="2010-09-24"/>
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_WHPpBce6Ed-7etIj5eTw0Q" key="Author" value=""/>
+              </eAnnotations>
+              <eClassifiers xmi:type="ecore:EClass" xmi:id="_RFhbkce6Ed-7etIj5eTw0Q" name="FaultTolerant">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_RFhbkse6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_sRiccLzvEd-yoLyJo0JlOg"/>
+                <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_RFhbk8e6Ed-7etIj5eTw0Q" name="base_Component" ordered="false" lowerBound="1">
+                  <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Component"/>
+                </eStructuralFeatures>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_RFhblce6Ed-7etIj5eTw0Q" name="scheme" ordered="false" lowerBound="1" eType="_RFhbmce6Ed-7etIj5eTw0Q"/>
+                <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_RFhbl8e6Ed-7etIj5eTw0Q" name="schemeAttrs" ordered="false" lowerBound="1">
+                  <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//OpaqueExpression"/>
+                </eStructuralFeatures>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_RFhbmce6Ed-7etIj5eTw0Q" name="CHESSML_DependabilitySecurity_StateBased_StateBasedDataTypes_RedundancyKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_RFhbmse6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_2aiM4L84Ed-TL8tpOyViyA"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RFhbm8e6Ed-7etIj5eTw0Q" name="TMR"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RFhbnMe6Ed-7etIj5eTw0Q" name="Recovery" value="1"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EClass" xmi:id="_RFhbnce6Ed-7etIj5eTw0Q" name="RedundancyManager">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_RFhbnse6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_nFkOAL84Ed-TL8tpOyViyA"/>
+                <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_RFhbn8e6Ed-7etIj5eTw0Q" name="base_Component" ordered="false" lowerBound="1">
+                  <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Component"/>
+                </eStructuralFeatures>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_RFhboce6Ed-7etIj5eTw0Q" name="scheme" ordered="false" lowerBound="1" eType="_RFhbmce6Ed-7etIj5eTw0Q"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EClass" xmi:id="_RFhbo8e6Ed-7etIj5eTw0Q" name="Variant">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_RFhbpMe6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_c8jZ0L88Ed-TL8tpOyViyA"/>
+                <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_RFhbpce6Ed-7etIj5eTw0Q" name="base_Component" ordered="false" lowerBound="1">
+                  <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Component"/>
+                </eStructuralFeatures>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EClass" xmi:id="_RFhbp8e6Ed-7etIj5eTw0Q" name="Adjudicator">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_RFhbqMe6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_fETJcL88Ed-TL8tpOyViyA"/>
+                <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_RFhbqce6Ed-7etIj5eTw0Q" name="base_Component" ordered="false" lowerBound="1">
+                  <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Component"/>
+                </eStructuralFeatures>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_WDqwkMe6Ed-7etIj5eTw0Q" name="coverage" ordered="false" lowerBound="1" eType="_WDqwkse6Ed-7etIj5eTw0Q"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_RFhcCse6Ed-7etIj5eTw0Q" name="MARTE_Library_MARTE_DataTypes_VSL_Expression" instanceClassName="MARTE_Library_MARTE_DataTypes_VSL_Expression">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_RFhcC8e6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_bManMBEBEdyx6M3BlUjlCQ"/>
+                </eAnnotations>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_RFhcDMe6Ed-7etIj5eTw0Q" name="MARTE_Library_BasicNFP_Types_SourceKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_RFhcDce6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_oMZzEBD-EdyybZnLxHsjyA"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RFhcDse6Ed-7etIj5eTw0Q" name="est"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RFhcD8e6Ed-7etIj5eTw0Q" name="meas" value="1"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RFhcEMe6Ed-7etIj5eTw0Q" name="calc" value="2"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RFhcEce6Ed-7etIj5eTw0Q" name="req" value="3"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_RFhcEse6Ed-7etIj5eTw0Q" name="MARTE_Library_BasicNFP_Types_StatisticalQualifierKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_RFhcE8e6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_0N52EBD-EdyybZnLxHsjyA"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RFhcFMe6Ed-7etIj5eTw0Q" name="max"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RFhcFce6Ed-7etIj5eTw0Q" name="min" value="1"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RFhcFse6Ed-7etIj5eTw0Q" name="mean" value="2"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RFhcF8e6Ed-7etIj5eTw0Q" name="range" value="3"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RFhcGMe6Ed-7etIj5eTw0Q" name="percent" value="4"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RFhcGce6Ed-7etIj5eTw0Q" name="distrib" value="5"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RFhcGse6Ed-7etIj5eTw0Q" name="determ" value="6"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RFhcG8e6Ed-7etIj5eTw0Q" name="other" value="7"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RFhcHMe6Ed-7etIj5eTw0Q" name="variance" value="8"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_RFhcHce6Ed-7etIj5eTw0Q" name="MARTE_Library_BasicNFP_Types_DirectionKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_RFhcHse6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_vvfxEBD-EdyybZnLxHsjyA"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RFhcH8e6Ed-7etIj5eTw0Q" name="incr"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RFhcIMe6Ed-7etIj5eTw0Q" name="decr" value="1"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_RFhcIce6Ed-7etIj5eTw0Q" name="MARTE_Library_MARTE_PrimitivesTypes_Real" instanceClassName="MARTE_Library_MARTE_PrimitivesTypes_Real">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_RFhcIse6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_beo90AnpEdy9WM11hWri2g"/>
+                </eAnnotations>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_RFhcI8e6Ed-7etIj5eTw0Q" name="MARTE_Library_MARTE_PrimitivesTypes_Integer" instanceClassName="MARTE_Library_MARTE_PrimitivesTypes_Integer">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_RFhcJMe6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_HJ1zcAnfEdy9WM11hWri2g"/>
+                </eAnnotations>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_RFhcJce6Ed-7etIj5eTw0Q" name="MARTE_Library_MARTE_PrimitivesTypes_String" instanceClassName="MARTE_Library_MARTE_PrimitivesTypes_String">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_RFhcJse6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_qZ3GUAnxEdy9WM11hWri2g"/>
+                </eAnnotations>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_WDqwkse6Ed-7etIj5eTw0Q" name="NFP_Percentage" instanceClassName="java.lang.String">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_WDqwk8e6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_ZPC-IBFaEdyUJeMeN__D-A"/>
+                </eAnnotations>
+              </eClassifiers>
+            </contents>
+          </eAnnotations>
+          <packagedElement xmi:type="uml:Extension" xmi:id="_xlcmEbzvEd-yoLyJo0JlOg" name="E_FaultTolerant_Component0" memberEnd="_xlcmErzvEd-yoLyJo0JlOg _xlcmELzvEd-yoLyJo0JlOg">
+            <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_xlcmErzvEd-yoLyJo0JlOg" name="extension_FaultTolerant" type="_sRiccLzvEd-yoLyJo0JlOg" aggregation="composite" association="_xlcmEbzvEd-yoLyJo0JlOg"/>
+          </packagedElement>
+          <packagedElement xmi:type="uml:Extension" xmi:id="_uOmGMb84Ed-TL8tpOyViyA" name="E_RedundancyManager_Component0" memberEnd="_uOmGMr84Ed-TL8tpOyViyA _uOmGML84Ed-TL8tpOyViyA">
+            <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_uOmGMr84Ed-TL8tpOyViyA" name="extension_RedundancyManager" type="_nFkOAL84Ed-TL8tpOyViyA" aggregation="composite" association="_uOmGMb84Ed-TL8tpOyViyA"/>
+          </packagedElement>
+          <packagedElement xmi:type="uml:Stereotype" xmi:id="_sRiccLzvEd-yoLyJo0JlOg" name="FaultTolerant">
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_xlcmELzvEd-yoLyJo0JlOg" name="base_Component" association="_xlcmEbzvEd-yoLyJo0JlOg">
+              <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Component"/>
+            </ownedAttribute>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_HdIq4L88Ed-TL8tpOyViyA" name="scheme" visibility="public" type="_2aiM4L84Ed-TL8tpOyViyA">
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_I7nbEL88Ed-TL8tpOyViyA" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_I7nbEb88Ed-TL8tpOyViyA" value="1"/>
+              <defaultValue xmi:type="uml:LiteralString" xmi:id="_I7wlAL88Ed-TL8tpOyViyA">
+                <value xsi:nil="true"/>
+              </defaultValue>
+            </ownedAttribute>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_LSRJYL88Ed-TL8tpOyViyA" name="schemeAttrs" visibility="public">
+              <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#OpaqueExpression"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_MI85wL88Ed-TL8tpOyViyA" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_MI85wb88Ed-TL8tpOyViyA" value="1"/>
+              <defaultValue xmi:type="uml:LiteralString" xmi:id="_MJGqwL88Ed-TL8tpOyViyA">
+                <value xsi:nil="true"/>
+              </defaultValue>
+            </ownedAttribute>
+          </packagedElement>
+          <packagedElement xmi:type="uml:Stereotype" xmi:id="_nFkOAL84Ed-TL8tpOyViyA" name="RedundancyManager">
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_uOmGML84Ed-TL8tpOyViyA" name="base_Component" association="_uOmGMb84Ed-TL8tpOyViyA">
+              <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Component"/>
+            </ownedAttribute>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_-e32wL84Ed-TL8tpOyViyA" name="scheme" visibility="public" type="_2aiM4L84Ed-TL8tpOyViyA">
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Avt4AL85Ed-TL8tpOyViyA" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Avt4Ab85Ed-TL8tpOyViyA" value="1"/>
+              <defaultValue xmi:type="uml:LiteralString" xmi:id="_Av3B8L85Ed-TL8tpOyViyA">
+                <value xsi:nil="true"/>
+              </defaultValue>
+            </ownedAttribute>
+          </packagedElement>
+          <packagedElement xmi:type="uml:Stereotype" xmi:id="_c8jZ0L88Ed-TL8tpOyViyA" name="Variant">
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_d0uX8L88Ed-TL8tpOyViyA" name="base_Component" association="_d0uX8b88Ed-TL8tpOyViyA">
+              <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Component"/>
+            </ownedAttribute>
+          </packagedElement>
+          <packagedElement xmi:type="uml:Extension" xmi:id="_d0uX8b88Ed-TL8tpOyViyA" name="E_Variant_Component0" memberEnd="_d0uX8r88Ed-TL8tpOyViyA _d0uX8L88Ed-TL8tpOyViyA">
+            <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_d0uX8r88Ed-TL8tpOyViyA" name="extension_Variant" type="_c8jZ0L88Ed-TL8tpOyViyA" aggregation="composite" association="_d0uX8b88Ed-TL8tpOyViyA"/>
+          </packagedElement>
+          <packagedElement xmi:type="uml:Stereotype" xmi:id="_fETJcL88Ed-TL8tpOyViyA" name="Adjudicator">
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_gKofYL88Ed-TL8tpOyViyA" name="base_Component" association="_gKofYb88Ed-TL8tpOyViyA">
+              <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Component"/>
+            </ownedAttribute>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_hTXCAL88Ed-TL8tpOyViyA" name="coverage" visibility="public">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_beo90AnpEdy9WM11hWri2g"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iyboEL88Ed-TL8tpOyViyA" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iyboEb88Ed-TL8tpOyViyA" value="1"/>
+              <defaultValue xmi:type="uml:LiteralString" xmi:id="_iyboEr88Ed-TL8tpOyViyA">
+                <value xsi:nil="true"/>
+              </defaultValue>
+            </ownedAttribute>
+          </packagedElement>
+          <packagedElement xmi:type="uml:Extension" xmi:id="_gKofYb88Ed-TL8tpOyViyA" name="E_Adjudicator_Component0" memberEnd="_gKofYr88Ed-TL8tpOyViyA _gKofYL88Ed-TL8tpOyViyA">
+            <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_gKofYr88Ed-TL8tpOyViyA" name="extension_Adjudicator" type="_fETJcL88Ed-TL8tpOyViyA" aggregation="composite" association="_gKofYb88Ed-TL8tpOyViyA"/>
+          </packagedElement>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Profile" xmi:id="_oUVxcL88Ed-TL8tpOyViyA" name="MaintenanceMonitoring" URI="http://CHESS/Dependability/StateBased/MaintenanceMonitoring" metaclassReference="_QRHlgLwSEeCKhZAgDxzHNA">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_IqpsEMGbEd--atLXXafOiQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+            <contents xmi:type="ecore:EPackage" xmi:id="_RWgd4Me6Ed-7etIj5eTw0Q" name="MaintenanceMonitoring" nsURI="http://CHESS/Dependability/StateBased/MaintenanceMonitoring" nsPrefix="MaintenanceMonitoring">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Wp97kMe6Ed-7etIj5eTw0Q" source="PapyrusVersion">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Wp97kce6Ed-7etIj5eTw0Q" key="Version" value="0.1.8"/>
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Wp97kse6Ed-7etIj5eTw0Q" key="Comment" value=""/>
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Wp97k8e6Ed-7etIj5eTw0Q" key="Copyright" value=""/>
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Wp97lMe6Ed-7etIj5eTw0Q" key="Date" value="2010-09-24"/>
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Wp97lce6Ed-7etIj5eTw0Q" key="Author" value=""/>
+              </eAnnotations>
+              <eClassifiers xmi:type="ecore:EClass" xmi:id="_RWgd4ce6Ed-7etIj5eTw0Q" name="MMActivities">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_RWgd4se6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_u9LtsL88Ed-TL8tpOyViyA"/>
+                <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_RWgd48e6Ed-7etIj5eTw0Q" name="base_Activity" ordered="false" lowerBound="1">
+                  <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Activity"/>
+                </eStructuralFeatures>
+                <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_RWgd5ce6Ed-7etIj5eTw0Q" name="when" ordered="false" lowerBound="1">
+                  <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//TimeExpression"/>
+                </eStructuralFeatures>
+                <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_RWgd68e6Ed-7etIj5eTw0Q" name="onCompletion" ordered="false" upperBound="-1">
+                  <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Activity"/>
+                </eStructuralFeatures>
+                <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_RWgd7ce6Ed-7etIj5eTw0Q" name="onSuccessfulCompletion" ordered="false" upperBound="-1">
+                  <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Activity"/>
+                </eStructuralFeatures>
+                <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_RWgd78e6Ed-7etIj5eTw0Q" name="onFailedCompletion" ordered="false" upperBound="-1">
+                  <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Activity"/>
+                </eStructuralFeatures>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_WKE6kMe6Ed-7etIj5eTw0Q" name="duration" ordered="false" lowerBound="1" eType="_WKE6kse6Ed-7etIj5eTw0Q"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_WMdgMMe6Ed-7etIj5eTw0Q" name="probSuccess" ordered="false" lowerBound="1" eType="_WMdgMse6Ed-7etIj5eTw0Q"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_RWgeVse6Ed-7etIj5eTw0Q" name="MARTE_Library_MARTE_DataTypes_VSL_Expression" instanceClassName="MARTE_Library_MARTE_DataTypes_VSL_Expression">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_RWgeV8e6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_bManMBEBEdyx6M3BlUjlCQ"/>
+                </eAnnotations>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_RWgeWMe6Ed-7etIj5eTw0Q" name="MARTE_Library_BasicNFP_Types_SourceKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_RWgeWce6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_oMZzEBD-EdyybZnLxHsjyA"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RWgeWse6Ed-7etIj5eTw0Q" name="est"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RWgeW8e6Ed-7etIj5eTw0Q" name="meas" value="1"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RWgeXMe6Ed-7etIj5eTw0Q" name="calc" value="2"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RWgeXce6Ed-7etIj5eTw0Q" name="req" value="3"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_RWgeXse6Ed-7etIj5eTw0Q" name="MARTE_Library_BasicNFP_Types_StatisticalQualifierKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_RWgeX8e6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_0N52EBD-EdyybZnLxHsjyA"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RWgeYMe6Ed-7etIj5eTw0Q" name="max"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RWgeYce6Ed-7etIj5eTw0Q" name="min" value="1"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RWgeYse6Ed-7etIj5eTw0Q" name="mean" value="2"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RWgeY8e6Ed-7etIj5eTw0Q" name="range" value="3"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RWgeZMe6Ed-7etIj5eTw0Q" name="percent" value="4"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RWgeZce6Ed-7etIj5eTw0Q" name="distrib" value="5"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RWgeZse6Ed-7etIj5eTw0Q" name="determ" value="6"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RWgeZ8e6Ed-7etIj5eTw0Q" name="other" value="7"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RWgeaMe6Ed-7etIj5eTw0Q" name="variance" value="8"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_RWgeace6Ed-7etIj5eTw0Q" name="MARTE_Library_BasicNFP_Types_DirectionKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_RWgease6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_vvfxEBD-EdyybZnLxHsjyA"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RWgea8e6Ed-7etIj5eTw0Q" name="incr"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RWgebMe6Ed-7etIj5eTw0Q" name="decr" value="1"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_RWgebce6Ed-7etIj5eTw0Q" name="MARTE_Library_MARTE_PrimitivesTypes_Real" instanceClassName="MARTE_Library_MARTE_PrimitivesTypes_Real">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_RWgebse6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_beo90AnpEdy9WM11hWri2g"/>
+                </eAnnotations>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_RWgeb8e6Ed-7etIj5eTw0Q" name="MARTE_Library_MARTE_PrimitivesTypes_Integer" instanceClassName="MARTE_Library_MARTE_PrimitivesTypes_Integer">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_RWgecMe6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_HJ1zcAnfEdy9WM11hWri2g"/>
+                </eAnnotations>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_RWgecce6Ed-7etIj5eTw0Q" name="MARTE_Library_MeasurementUnits_TimeUnitKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_RWgecse6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_Iaa3gA4yEdysTsAUPnp57Q"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RWgec8e6Ed-7etIj5eTw0Q" name="s"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RWgedMe6Ed-7etIj5eTw0Q" name="tick" value="1"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RWgedce6Ed-7etIj5eTw0Q" name="ms" value="2"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RWgedse6Ed-7etIj5eTw0Q" name="us" value="3"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RWged8e6Ed-7etIj5eTw0Q" name="min" value="4"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RWgeeMe6Ed-7etIj5eTw0Q" name="hrs" value="5"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RWgeece6Ed-7etIj5eTw0Q" name="day" value="6"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_RWgeese6Ed-7etIj5eTw0Q" name="MARTE_Library_MARTE_PrimitivesTypes_String" instanceClassName="MARTE_Library_MARTE_PrimitivesTypes_String">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_RWgee8e6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_qZ3GUAnxEdy9WM11hWri2g"/>
+                </eAnnotations>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EClass" xmi:id="_RWgefMe6Ed-7etIj5eTw0Q" name="Repair" eSuperTypes="_RWgd4ce6Ed-7etIj5eTw0Q">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_RWgefce6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_8BFzcL89Ed-TL8tpOyViyA"/>
+                <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_RWgefse6Ed-7etIj5eTw0Q" name="targets" ordered="false" lowerBound="1" upperBound="-1">
+                  <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
+                </eStructuralFeatures>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EClass" xmi:id="_RWgegce6Ed-7etIj5eTw0Q" name="Replace" eSuperTypes="_RWgd4ce6Ed-7etIj5eTw0Q">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_RWgegse6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_D8sYEL8-Ed-TL8tpOyViyA"/>
+                <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_RWgeg8e6Ed-7etIj5eTw0Q" name="targets" ordered="false" lowerBound="1" upperBound="-1">
+                  <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
+                </eStructuralFeatures>
+                <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_RWgehce6Ed-7etIj5eTw0Q" name="replacement" ordered="false" lowerBound="1">
+                  <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Activity"/>
+                </eStructuralFeatures>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EClass" xmi:id="_RWgeiMe6Ed-7etIj5eTw0Q" name="ErrorDetection" eSuperTypes="_RWgd4ce6Ed-7etIj5eTw0Q">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_RWgeice6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_QC6jAL8-Ed-TL8tpOyViyA"/>
+                <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_RWgeise6Ed-7etIj5eTw0Q" name="targets" ordered="false" lowerBound="1" upperBound="-1">
+                  <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
+                </eStructuralFeatures>
+                <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_RWgejMe6Ed-7etIj5eTw0Q" name="onDetection" ordered="false" lowerBound="1" upperBound="-1">
+                  <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Activity"/>
+                </eStructuralFeatures>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EClass" xmi:id="_RWgej8e6Ed-7etIj5eTw0Q" name="FailureDetection" eSuperTypes="_RWgd4ce6Ed-7etIj5eTw0Q">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_RWgekMe6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_pJ2yQL8-Ed-TL8tpOyViyA"/>
+                <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_RWgekce6Ed-7etIj5eTw0Q" name="onDetection" ordered="false" lowerBound="1" upperBound="-1">
+                  <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Activity"/>
+                </eStructuralFeatures>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_WKE6kse6Ed-7etIj5eTw0Q" name="NFP_Duration" instanceClassName="java.lang.String">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_WKE6k8e6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_kMwX8BFREdyUJeMeN__D-A"/>
+                </eAnnotations>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_WMdgMse6Ed-7etIj5eTw0Q" name="NFP_Real" instanceClassName="java.lang.String">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_WMdgM8e6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_Yq-MQBFQEdyUJeMeN__D-A"/>
+                </eAnnotations>
+              </eClassifiers>
+            </contents>
+          </eAnnotations>
+          <elementImport xmi:type="uml:ElementImport" xmi:id="_QRHlgLwSEeCKhZAgDxzHNA" alias="Action">
+            <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Action"/>
+          </elementImport>
+          <packagedElement xmi:type="uml:Stereotype" xmi:id="_u9LtsL88Ed-TL8tpOyViyA" name="MMActivities">
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_yTxPAL88Ed-TL8tpOyViyA" name="base_Activity" association="_yTxPAb88Ed-TL8tpOyViyA">
+              <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Activity"/>
+            </ownedAttribute>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_z22yYL88Ed-TL8tpOyViyA" name="when" visibility="public">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_1Ph1gL88Ed-TL8tpOyViyA"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_1Pq_cL88Ed-TL8tpOyViyA" value="1"/>
+              <defaultValue xmi:type="uml:LiteralString" xmi:id="_1Pq_cb88Ed-TL8tpOyViyA">
+                <value xsi:nil="true"/>
+              </defaultValue>
+            </ownedAttribute>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_2jkQQL88Ed-TL8tpOyViyA" name="duration" visibility="public">
+              <type xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_kMwX8BFREdyUJeMeN__D-A"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4E4SAL88Ed-TL8tpOyViyA" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4FBb8L88Ed-TL8tpOyViyA" value="1"/>
+              <defaultValue xmi:type="uml:LiteralString" xmi:id="_4FBb8b88Ed-TL8tpOyViyA">
+                <value xsi:nil="true"/>
+              </defaultValue>
+            </ownedAttribute>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_4zN-sL88Ed-TL8tpOyViyA" name="probSuccess" visibility="public">
+              <type xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_Yq-MQBFQEdyUJeMeN__D-A"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_6T7jgL88Ed-TL8tpOyViyA" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_6T7jgb88Ed-TL8tpOyViyA" value="1"/>
+              <defaultValue xmi:type="uml:LiteralString" xmi:id="_6UFUgL88Ed-TL8tpOyViyA">
+                <value xsi:nil="true"/>
+              </defaultValue>
+            </ownedAttribute>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_7qgU4L88Ed-TL8tpOyViyA" name="onCompletion" visibility="public">
+              <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Activity"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_9tMlYL88Ed-TL8tpOyViyA"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_9tMlYb88Ed-TL8tpOyViyA" value="*"/>
+              <defaultValue xmi:type="uml:LiteralString" xmi:id="_9tWWYL88Ed-TL8tpOyViyA">
+                <value xsi:nil="true"/>
+              </defaultValue>
+            </ownedAttribute>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_uhASkL89Ed-TL8tpOyViyA" name="onSuccessfulCompletion" visibility="public">
+              <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Activity"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_v0nPgL89Ed-TL8tpOyViyA"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_v0xAgL89Ed-TL8tpOyViyA" value="*"/>
+              <defaultValue xmi:type="uml:LiteralString" xmi:id="_v0xAgb89Ed-TL8tpOyViyA">
+                <value xsi:nil="true"/>
+              </defaultValue>
+            </ownedAttribute>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_3o6SQL89Ed-TL8tpOyViyA" name="onFailedCompletion" visibility="public">
+              <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Activity"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_5SuIsL89Ed-TL8tpOyViyA"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_5SuIsb89Ed-TL8tpOyViyA" value="*"/>
+              <defaultValue xmi:type="uml:LiteralString" xmi:id="_5S35sL89Ed-TL8tpOyViyA">
+                <value xsi:nil="true"/>
+              </defaultValue>
+            </ownedAttribute>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_RAzWALwSEeCKhZAgDxzHNA" name="base_Action" association="_RAzWAbwSEeCKhZAgDxzHNA">
+              <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Action"/>
+            </ownedAttribute>
+          </packagedElement>
+          <packagedElement xmi:type="uml:Extension" xmi:id="_yTxPAb88Ed-TL8tpOyViyA" name="E_MMActivities_Activity0" memberEnd="_yTxPAr88Ed-TL8tpOyViyA _yTxPAL88Ed-TL8tpOyViyA">
+            <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_yTxPAr88Ed-TL8tpOyViyA" name="extension_MMActivities" type="_u9LtsL88Ed-TL8tpOyViyA" aggregation="composite" association="_yTxPAb88Ed-TL8tpOyViyA"/>
+          </packagedElement>
+          <packagedElement xmi:type="uml:Stereotype" xmi:id="_8BFzcL89Ed-TL8tpOyViyA" name="Repair">
+            <generalization xmi:type="uml:Generalization" xmi:id="_83yK4L89Ed-TL8tpOyViyA" general="_u9LtsL88Ed-TL8tpOyViyA"/>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_-fqHoL89Ed-TL8tpOyViyA" name="targets" visibility="public">
+              <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__za1kL89Ed-TL8tpOyViyA" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__ztwgL89Ed-TL8tpOyViyA" value="*"/>
+              <defaultValue xmi:type="uml:LiteralString" xmi:id="__ztwgb89Ed-TL8tpOyViyA">
+                <value xsi:nil="true"/>
+              </defaultValue>
+            </ownedAttribute>
+          </packagedElement>
+          <packagedElement xmi:type="uml:Stereotype" xmi:id="_D8sYEL8-Ed-TL8tpOyViyA" name="Replace">
+            <generalization xmi:type="uml:Generalization" xmi:id="_E4J6wL8-Ed-TL8tpOyViyA" general="_u9LtsL88Ed-TL8tpOyViyA"/>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_GVmJIL8-Ed-TL8tpOyViyA" name="targets" visibility="public">
+              <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_HsfDkL8-Ed-TL8tpOyViyA" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_HsfDkb8-Ed-TL8tpOyViyA" value="*"/>
+              <defaultValue xmi:type="uml:LiteralString" xmi:id="_Hso0kL8-Ed-TL8tpOyViyA">
+                <value xsi:nil="true"/>
+              </defaultValue>
+            </ownedAttribute>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_MB_EML8-Ed-TL8tpOyViyA" name="replacement" visibility="public">
+              <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Activity"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Na9CQL8-Ed-TL8tpOyViyA" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_NbGzQL8-Ed-TL8tpOyViyA" value="1"/>
+              <defaultValue xmi:type="uml:LiteralString" xmi:id="_NbGzQb8-Ed-TL8tpOyViyA">
+                <value xsi:nil="true"/>
+              </defaultValue>
+            </ownedAttribute>
+          </packagedElement>
+          <packagedElement xmi:type="uml:Stereotype" xmi:id="_QC6jAL8-Ed-TL8tpOyViyA" name="ErrorDetection">
+            <generalization xmi:type="uml:Generalization" xmi:id="_SCVdEL8-Ed-TL8tpOyViyA" general="_u9LtsL88Ed-TL8tpOyViyA"/>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_gZr9IL8-Ed-TL8tpOyViyA" name="targets" visibility="public">
+              <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hmlOEL8-Ed-TL8tpOyViyA" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_hmu_EL8-Ed-TL8tpOyViyA" value="1"/>
+              <defaultValue xmi:type="uml:LiteralString" xmi:id="_hmu_Eb8-Ed-TL8tpOyViyA">
+                <value xsi:nil="true"/>
+              </defaultValue>
+            </ownedAttribute>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_jIO5oLwLEeCkE-pvjHe3zw" name="correctionProbability">
+              <type xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_Yq-MQBFQEdyUJeMeN__D-A"/>
+            </ownedAttribute>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_3hvJYLwLEeCkE-pvjHe3zw" name="controlledFailure" type="_gtsGwDQ4EeC0ueejuetpgA"/>
+          </packagedElement>
+          <packagedElement xmi:type="uml:Stereotype" xmi:id="_pJ2yQL8-Ed-TL8tpOyViyA" name="FailureDetection">
+            <generalization xmi:type="uml:Generalization" xmi:id="_qpFJUL8-Ed-TL8tpOyViyA" general="_u9LtsL88Ed-TL8tpOyViyA"/>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_r7WCcL8-Ed-TL8tpOyViyA" name="onDetection" visibility="public">
+              <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Activity"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_t0y3YL8-Ed-TL8tpOyViyA" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_t08oYL8-Ed-TL8tpOyViyA" value="*"/>
+              <defaultValue xmi:type="uml:LiteralString" xmi:id="_t1FyUL8-Ed-TL8tpOyViyA">
+                <value xsi:nil="true"/>
+              </defaultValue>
+            </ownedAttribute>
+          </packagedElement>
+          <packagedElement xmi:type="uml:Extension" xmi:id="_RAzWAbwSEeCKhZAgDxzHNA" name="E_MMActivities_Action0" memberEnd="_RAzWArwSEeCKhZAgDxzHNA _RAzWALwSEeCKhZAgDxzHNA">
+            <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_RAzWArwSEeCKhZAgDxzHNA" name="extension_MMActivities" type="_u9LtsL88Ed-TL8tpOyViyA" aggregation="composite" association="_RAzWAbwSEeCKhZAgDxzHNA"/>
+          </packagedElement>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Profile" xmi:id="_Wgxh0L8_Ed-TL8tpOyViyA" name="StateBasedAnalysis" URI="http://CHESS/Dependability/StateBased/StateBasedAnalysis">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_I2RGMMGbEd--atLXXafOiQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+            <contents xmi:type="ecore:EPackage" xmi:id="_K8jbkFodEeCE4ZeNjhtnzg" name="StateBasedAnalysis" nsURI="http://CHESS/Dependability/StateBased/StateBasedAnalysis" nsPrefix="StateBasedAnalysis">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_LBxSwFodEeCE4ZeNjhtnzg" source="PapyrusVersion">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_LBxSwVodEeCE4ZeNjhtnzg" key="Version" value="0.1.10"/>
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_LBxSwlodEeCE4ZeNjhtnzg" key="Comment" value="added &quot;targetFailureMode&quot; and &quot;targetDepComponent&quot; in StateBasedAnalysis.&#xD;&#xA;removed &quot;target&quot; from DependableMeasure"/>
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_LBxSw1odEeCE4ZeNjhtnzg" key="Copyright" value=""/>
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_LBxSxFodEeCE4ZeNjhtnzg" key="Date" value="2011-03-29"/>
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_LBxSxVodEeCE4ZeNjhtnzg" key="Author" value="Stefano"/>
+              </eAnnotations>
+              <eClassifiers xmi:type="ecore:EClass" xmi:id="_K8jbkVodEeCE4ZeNjhtnzg" name="StateBasedAnalysis">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_K8jbklodEeCE4ZeNjhtnzg" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_aqUxIL8_Ed-TL8tpOyViyA"/>
+                <eSuperTypes xmi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/MARTE/1#//GQAM/GaAnalysisContext"/>
+                <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_K8jbmVodEeCE4ZeNjhtnzg" name="targetFailureMode" ordered="false" upperBound="-1" eType="_2F5Q8UQQEeCQRfAVtSc0sw"/>
+                <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_K8jbm1odEeCE4ZeNjhtnzg" name="targetDepComponent" ordered="false" upperBound="-1">
+                  <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//InstanceSpecification"/>
+                </eStructuralFeatures>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_K8_gcFodEeCE4ZeNjhtnzg" name="measure" ordered="false" lowerBound="1" eType="_K8_gclodEeCE4ZeNjhtnzg"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_K944UFodEeCE4ZeNjhtnzg" name="type" ordered="false" lowerBound="1" eType="_K944UlodEeCE4ZeNjhtnzg"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_K-8BMFodEeCE4ZeNjhtnzg" name="evalMethod" ordered="false" lowerBound="1" eType="_K-8BMlodEeCE4ZeNjhtnzg"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_K8jcClodEeCE4ZeNjhtnzg" name="MARTE_Library_MARTE_DataTypes_VSL_Expression" instanceClassName="java.lang.String">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_K8jcC1odEeCE4ZeNjhtnzg" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_bManMBEBEdyx6M3BlUjlCQ"/>
+                </eAnnotations>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_K8jcDFodEeCE4ZeNjhtnzg" name="MARTE_Library_BasicNFP_Types_SourceKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_K8jcDVodEeCE4ZeNjhtnzg" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_oMZzEBD-EdyybZnLxHsjyA"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_K8jcDlodEeCE4ZeNjhtnzg" name="est"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_K8jcD1odEeCE4ZeNjhtnzg" name="meas" value="1"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_K8jcEFodEeCE4ZeNjhtnzg" name="calc" value="2"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_K8jcEVodEeCE4ZeNjhtnzg" name="req" value="3"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_K8jcElodEeCE4ZeNjhtnzg" name="MARTE_Library_BasicNFP_Types_StatisticalQualifierKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_K8jcE1odEeCE4ZeNjhtnzg" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_0N52EBD-EdyybZnLxHsjyA"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_K8jcFFodEeCE4ZeNjhtnzg" name="max"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_K8jcFVodEeCE4ZeNjhtnzg" name="min" value="1"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_K8jcFlodEeCE4ZeNjhtnzg" name="mean" value="2"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_K8jcF1odEeCE4ZeNjhtnzg" name="range" value="3"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_K8jcGFodEeCE4ZeNjhtnzg" name="percent" value="4"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_K8jcGVodEeCE4ZeNjhtnzg" name="distrib" value="5"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_K8jcGlodEeCE4ZeNjhtnzg" name="determ" value="6"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_K8jcG1odEeCE4ZeNjhtnzg" name="other" value="7"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_K8jcHFodEeCE4ZeNjhtnzg" name="variance" value="8"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_K8jcHVodEeCE4ZeNjhtnzg" name="MARTE_Library_BasicNFP_Types_DirectionKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_K8jcHlodEeCE4ZeNjhtnzg" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_vvfxEBD-EdyybZnLxHsjyA"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_K8jcH1odEeCE4ZeNjhtnzg" name="incr"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_K8jcIFodEeCE4ZeNjhtnzg" name="decr" value="1"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_K8jcIVodEeCE4ZeNjhtnzg" name="MARTE_Library_MARTE_PrimitivesTypes_Real" instanceClassName="java.lang.String">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_K8jcIlodEeCE4ZeNjhtnzg" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_beo90AnpEdy9WM11hWri2g"/>
+                </eAnnotations>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_K8jcI1odEeCE4ZeNjhtnzg" name="MARTE_Library_MARTE_PrimitivesTypes_Integer" instanceClassName="int">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_K8jcJFodEeCE4ZeNjhtnzg" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_HJ1zcAnfEdy9WM11hWri2g"/>
+                </eAnnotations>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_K8jcJVodEeCE4ZeNjhtnzg" name="CHESS_Dependability_StateBased_StateBasedDataTypes_ConfidenceKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_K8jcJlodEeCE4ZeNjhtnzg" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_K_w1YL9CEd-TL8tpOyViyA"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_K8jcJ1odEeCE4ZeNjhtnzg" name="relative"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_K8jcKFodEeCE4ZeNjhtnzg" name="absolute" value="1"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_K8_gclodEeCE4ZeNjhtnzg" name="DependabilityMeasure" instanceClassName="java.lang.String">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_K8_gc1odEeCE4ZeNjhtnzg" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_gg-JgL9BEd-TL8tpOyViyA"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_K944UlodEeCE4ZeNjhtnzg" name="EvaluationType" instanceClassName="java.lang.String">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_K944U1odEeCE4ZeNjhtnzg" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_JEphoL9EEd-TL8tpOyViyA"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_K-8BMlodEeCE4ZeNjhtnzg" name="EvaluationMethod" instanceClassName="java.lang.String">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_K-8BM1odEeCE4ZeNjhtnzg" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_ypgcML9BEd-TL8tpOyViyA"/>
+              </eClassifiers>
+            </contents>
+            <contents xmi:type="ecore:EPackage" xmi:id="_8Owg4DW-EeCuQp9j3DmccQ" name="Analysis" nsURI="http://CHESS.Dependability.StateBased/schemas/Analysis/_8OUcADW-EeCuQp9j3DmccQ/9" nsPrefix="Analysis">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8R5UcDW-EeCuQp9j3DmccQ" source="PapyrusVersion">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8R5UcTW-EeCuQp9j3DmccQ" key="Version" value="0.1.9"/>
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8R5UcjW-EeCuQp9j3DmccQ" key="Comment" value="Changed DependabilityAnalsys stereotype name in StateBasedAnalysis"/>
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8R5UczW-EeCuQp9j3DmccQ" key="Copyright" value=""/>
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8R5UdDW-EeCuQp9j3DmccQ" key="Date" value="2011-02-11"/>
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8R5UdTW-EeCuQp9j3DmccQ" key="Author" value=""/>
+              </eAnnotations>
+              <eClassifiers xmi:type="ecore:EClass" xmi:id="_8Owg4TW-EeCuQp9j3DmccQ" name="StateBasedAnalysis">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8Owg4jW-EeCuQp9j3DmccQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_aqUxIL8_Ed-TL8tpOyViyA"/>
+                <eSuperTypes xmi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/MARTE/1#//GQAM/GaAnalysisContext"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_8PNM0DW-EeCuQp9j3DmccQ" name="measure" ordered="false" lowerBound="1" eType="_8PNM0jW-EeCuQp9j3DmccQ"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_8Pp4wDW-EeCuQp9j3DmccQ" name="type" ordered="false" lowerBound="1" eType="_8Pp4wjW-EeCuQp9j3DmccQ"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_8QQVsDW-EeCuQp9j3DmccQ" name="evalMethod" ordered="false" lowerBound="1" eType="_8QQVsjW-EeCuQp9j3DmccQ"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_8OwhVzW-EeCuQp9j3DmccQ" name="MARTE_Library_MARTE_DataTypes_VSL_Expression" instanceClassName="java.lang.String">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8OwhWDW-EeCuQp9j3DmccQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_bManMBEBEdyx6M3BlUjlCQ"/>
+                </eAnnotations>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_8OwhWTW-EeCuQp9j3DmccQ" name="MARTE_Library_BasicNFP_Types_SourceKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8OwhWjW-EeCuQp9j3DmccQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_oMZzEBD-EdyybZnLxHsjyA"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_8OwhWzW-EeCuQp9j3DmccQ" name="est"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_8OwhXDW-EeCuQp9j3DmccQ" name="meas" value="1"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_8OwhXTW-EeCuQp9j3DmccQ" name="calc" value="2"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_8OwhXjW-EeCuQp9j3DmccQ" name="req" value="3"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_8OwhXzW-EeCuQp9j3DmccQ" name="MARTE_Library_BasicNFP_Types_StatisticalQualifierKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8OwhYDW-EeCuQp9j3DmccQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_0N52EBD-EdyybZnLxHsjyA"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_8OwhYTW-EeCuQp9j3DmccQ" name="max"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_8OwhYjW-EeCuQp9j3DmccQ" name="min" value="1"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_8OwhYzW-EeCuQp9j3DmccQ" name="mean" value="2"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_8OwhZDW-EeCuQp9j3DmccQ" name="range" value="3"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_8OwhZTW-EeCuQp9j3DmccQ" name="percent" value="4"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_8OwhZjW-EeCuQp9j3DmccQ" name="distrib" value="5"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_8OwhZzW-EeCuQp9j3DmccQ" name="determ" value="6"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_8OwhaDW-EeCuQp9j3DmccQ" name="other" value="7"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_8OwhaTW-EeCuQp9j3DmccQ" name="variance" value="8"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_8OwhajW-EeCuQp9j3DmccQ" name="MARTE_Library_BasicNFP_Types_DirectionKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8OwhazW-EeCuQp9j3DmccQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_vvfxEBD-EdyybZnLxHsjyA"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_8OwhbDW-EeCuQp9j3DmccQ" name="incr"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_8OwhbTW-EeCuQp9j3DmccQ" name="decr" value="1"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_8OwhbjW-EeCuQp9j3DmccQ" name="MARTE_Library_MARTE_PrimitivesTypes_Real" instanceClassName="java.lang.String">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8OwhbzW-EeCuQp9j3DmccQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_beo90AnpEdy9WM11hWri2g"/>
+                </eAnnotations>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_8OwhcDW-EeCuQp9j3DmccQ" name="MARTE_Library_MARTE_PrimitivesTypes_Integer" instanceClassName="int">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8OwhcTW-EeCuQp9j3DmccQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_HJ1zcAnfEdy9WM11hWri2g"/>
+                </eAnnotations>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_8OwhcjW-EeCuQp9j3DmccQ" name="CHESS_Dependability_StateBased_StateBasedDataTypes_ConfidenceKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8OwhczW-EeCuQp9j3DmccQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_K_w1YL9CEd-TL8tpOyViyA"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_8OwhdDW-EeCuQp9j3DmccQ" name="relative"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_8OwhdTW-EeCuQp9j3DmccQ" name="absolute" value="1"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_8PNM0jW-EeCuQp9j3DmccQ" name="DependabilityMeasure" instanceClassName="java.lang.String">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8PNM0zW-EeCuQp9j3DmccQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_gg-JgL9BEd-TL8tpOyViyA"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_8Pp4wjW-EeCuQp9j3DmccQ" name="EvaluationType" instanceClassName="java.lang.String">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8Pp4wzW-EeCuQp9j3DmccQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_JEphoL9EEd-TL8tpOyViyA"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_8QQVsjW-EeCuQp9j3DmccQ" name="EvaluationMethod" instanceClassName="java.lang.String">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8QQVszW-EeCuQp9j3DmccQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_ypgcML9BEd-TL8tpOyViyA"/>
+              </eClassifiers>
+            </contents>
+            <contents xmi:type="ecore:EPackage" xmi:id="_RzHhYMe6Ed-7etIj5eTw0Q" name="Analysis" nsURI="http://CHESS.DependabilitySecurity.StateBased/schemas/Analysis/_RW9J0Me6Ed-7etIj5eTw0Q/8" nsPrefix="Analysis">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_W27ZgMe6Ed-7etIj5eTw0Q" source="PapyrusVersion">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_W27Zgce6Ed-7etIj5eTw0Q" key="Version" value="0.1.8"/>
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_W27Zgse6Ed-7etIj5eTw0Q" key="Comment" value=""/>
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_W27Zg8e6Ed-7etIj5eTw0Q" key="Copyright" value=""/>
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_W27ZhMe6Ed-7etIj5eTw0Q" key="Date" value="2010-09-24"/>
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_W27Zhce6Ed-7etIj5eTw0Q" key="Author" value=""/>
+              </eAnnotations>
+              <eClassifiers xmi:type="ecore:EClass" xmi:id="_RzHhYce6Ed-7etIj5eTw0Q" name="DependabilityAnalysis">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_RzHhYse6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_aqUxIL8_Ed-TL8tpOyViyA"/>
+                <eSuperTypes xmi:type="ecore:EClass" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_329vLZi4Ed-m0Oaexd_lJA"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_WrT_YMe6Ed-7etIj5eTw0Q" name="measure" ordered="false" lowerBound="1" eType="_WrT_Yse6Ed-7etIj5eTw0Q"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_WtslAMe6Ed-7etIj5eTw0Q" name="type" ordered="false" lowerBound="1" eType="_WtslAse6Ed-7etIj5eTw0Q"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_WwFKoMe6Ed-7etIj5eTw0Q" name="evalMethod" ordered="false" lowerBound="1" eType="_WwFKose6Ed-7etIj5eTw0Q"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_RzHh3Me6Ed-7etIj5eTw0Q" name="MARTE_Library_MARTE_DataTypes_VSL_Expression" instanceClassName="MARTE_Library_MARTE_DataTypes_VSL_Expression">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_RzHh3ce6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_bManMBEBEdyx6M3BlUjlCQ"/>
+                </eAnnotations>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_RzHh3se6Ed-7etIj5eTw0Q" name="MARTE_Library_BasicNFP_Types_SourceKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_RzHh38e6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_oMZzEBD-EdyybZnLxHsjyA"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RzHh4Me6Ed-7etIj5eTw0Q" name="est"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RzHh4ce6Ed-7etIj5eTw0Q" name="meas" value="1"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RzHh4se6Ed-7etIj5eTw0Q" name="calc" value="2"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RzHh48e6Ed-7etIj5eTw0Q" name="req" value="3"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_RzHh5Me6Ed-7etIj5eTw0Q" name="MARTE_Library_BasicNFP_Types_StatisticalQualifierKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_RzHh5ce6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_0N52EBD-EdyybZnLxHsjyA"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RzHh5se6Ed-7etIj5eTw0Q" name="max"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RzHh58e6Ed-7etIj5eTw0Q" name="min" value="1"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RzHh6Me6Ed-7etIj5eTw0Q" name="mean" value="2"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RzHh6ce6Ed-7etIj5eTw0Q" name="range" value="3"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RzHh6se6Ed-7etIj5eTw0Q" name="percent" value="4"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RzHh68e6Ed-7etIj5eTw0Q" name="distrib" value="5"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RzHh7Me6Ed-7etIj5eTw0Q" name="determ" value="6"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RzHh7ce6Ed-7etIj5eTw0Q" name="other" value="7"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RzHh7se6Ed-7etIj5eTw0Q" name="variance" value="8"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_RzHh78e6Ed-7etIj5eTw0Q" name="MARTE_Library_BasicNFP_Types_DirectionKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_RzHh8Me6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_vvfxEBD-EdyybZnLxHsjyA"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RzHh8ce6Ed-7etIj5eTw0Q" name="incr"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RzHh8se6Ed-7etIj5eTw0Q" name="decr" value="1"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_RzHh88e6Ed-7etIj5eTw0Q" name="MARTE_Library_MARTE_PrimitivesTypes_Real" instanceClassName="MARTE_Library_MARTE_PrimitivesTypes_Real">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_RzHh9Me6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_beo90AnpEdy9WM11hWri2g"/>
+                </eAnnotations>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_RzHh9ce6Ed-7etIj5eTw0Q" name="MARTE_Library_MARTE_PrimitivesTypes_Integer" instanceClassName="MARTE_Library_MARTE_PrimitivesTypes_Integer">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_RzHh9se6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_HJ1zcAnfEdy9WM11hWri2g"/>
+                </eAnnotations>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_RzHh98e6Ed-7etIj5eTw0Q" name="MARTE_Library_MARTE_PrimitivesTypes_String" instanceClassName="MARTE_Library_MARTE_PrimitivesTypes_String">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_RzHh-Me6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_qZ3GUAnxEdy9WM11hWri2g"/>
+                </eAnnotations>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_RzHiP8e6Ed-7etIj5eTw0Q" name="MARTE_Library_MeasurementUnits_TimeUnitKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_RzHiQMe6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_Iaa3gA4yEdysTsAUPnp57Q"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RzHiQce6Ed-7etIj5eTw0Q" name="s"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RzHiQse6Ed-7etIj5eTw0Q" name="tick" value="1"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RzHiQ8e6Ed-7etIj5eTw0Q" name="ms" value="2"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RzHiRMe6Ed-7etIj5eTw0Q" name="us" value="3"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RzHiRce6Ed-7etIj5eTw0Q" name="min" value="4"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RzHiRse6Ed-7etIj5eTw0Q" name="hrs" value="5"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RzHiR8e6Ed-7etIj5eTw0Q" name="day" value="6"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_RzHiT8e6Ed-7etIj5eTw0Q" name="MARTE_Library_MeasurementUnits_DataSizeUnitKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_RzHiUMe6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_2pVmEA4yEdysTsAUPnp57Q"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RzHiUce6Ed-7etIj5eTw0Q" name="bit"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RzHiUse6Ed-7etIj5eTw0Q" name="Byte" value="1"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RzHiU8e6Ed-7etIj5eTw0Q" name="KB" value="2"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RzHiVMe6Ed-7etIj5eTw0Q" name="MB" value="3"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RzHiVce6Ed-7etIj5eTw0Q" name="GB" value="4"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_RzHiXce6Ed-7etIj5eTw0Q" name="MARTE_Library_MeasurementUnits_PowerUnitKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_RzHiXse6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_ijhHUA4yEdysTsAUPnp57Q"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RzHiX8e6Ed-7etIj5eTw0Q" name="W"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RzHiYMe6Ed-7etIj5eTw0Q" name="mW" value="1"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RzHiYce6Ed-7etIj5eTw0Q" name="KW" value="2"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_RzHiace6Ed-7etIj5eTw0Q" name="MARTE_Library_MeasurementUnits_EnergyUnitKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_RzHiase6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_UaKKgA4zEdysTsAUPnp57Q"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RzHia8e6Ed-7etIj5eTw0Q" name="J"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RzHibMe6Ed-7etIj5eTw0Q" name="KJ" value="1"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RzHibce6Ed-7etIj5eTw0Q" name="Wh" value="2"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RzHibse6Ed-7etIj5eTw0Q" name="KWh" value="3"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RzHib8e6Ed-7etIj5eTw0Q" name="mWh" value="4"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_RzHih8e6Ed-7etIj5eTw0Q" name="MARTE_Library_MARTE_PrimitivesTypes_Boolean" instanceClassName="MARTE_Library_MARTE_PrimitivesTypes_Boolean">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_RzHiiMe6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_Ddte8AnqEdy9WM11hWri2g"/>
+                </eAnnotations>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_RzRSY8e6Ed-7etIj5eTw0Q" name="MARTE_Library_TimeTypesLibrary_TimeStandardKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_RzRSZMe6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_MDyyoA-KEdyNj8xzjk-DoA"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RzRSZce6Ed-7etIj5eTw0Q" name="TAI"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RzRSZse6Ed-7etIj5eTw0Q" name="UT0" value="1"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RzRSZ8e6Ed-7etIj5eTw0Q" name="UT1" value="2"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RzRSaMe6Ed-7etIj5eTw0Q" name="UTC" value="3"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RzRSace6Ed-7etIj5eTw0Q" name="Local" value="4"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RzRSase6Ed-7etIj5eTw0Q" name="TT" value="5"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RzRSa8e6Ed-7etIj5eTw0Q" name="TBD" value="6"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RzRSbMe6Ed-7etIj5eTw0Q" name="TCG" value="7"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RzRSbce6Ed-7etIj5eTw0Q" name="TCB" value="8"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RzRSbse6Ed-7etIj5eTw0Q" name="Sidereal" value="9"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RzRSb8e6Ed-7etIj5eTw0Q" name="GPS" value="10"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_RzRShse6Ed-7etIj5eTw0Q" name="MARTE_Library_TimeTypesLibrary_TimeNatureKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_RzRSh8e6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_WAvb0A75EdyML4mHwjNDrw"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RzRSiMe6Ed-7etIj5eTw0Q" name="discrete"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RzRSice6Ed-7etIj5eTw0Q" name="dense" value="1"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_RzRS8se6Ed-7etIj5eTw0Q" name="MARTE_Library_MeasurementUnits_FrequencyUnitKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_RzRS88e6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_qFaygA4yEdysTsAUPnp57Q"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RzRS9Me6Ed-7etIj5eTw0Q" name="Hz"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RzRS9ce6Ed-7etIj5eTw0Q" name="KHz" value="1"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RzRS9se6Ed-7etIj5eTw0Q" name="MHz" value="2"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RzRS98e6Ed-7etIj5eTw0Q" name="GHz" value="3"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RzRS-Me6Ed-7etIj5eTw0Q" name="rpm" value="4"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_RzRTWMe6Ed-7etIj5eTw0Q" name="MARTE_Library_GRM_BasicTypes_PeriodicServerKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_RzRTWce6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_UP5HEBFbEdyUJeMeN__D-A"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RzRTWse6Ed-7etIj5eTw0Q" name="Sporadic"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RzRTW8e6Ed-7etIj5eTw0Q" name="Deferrable" value="1"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RzRTXMe6Ed-7etIj5eTw0Q" name="Undef" value="2"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RzRTXce6Ed-7etIj5eTw0Q" name="Other" value="3"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_RzRTcce6Ed-7etIj5eTw0Q" name="MARTE_Library_GRM_BasicTypes_SchedPolicyKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_RzRTcse6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_4GfMYBFaEdyUJeMeN__D-A"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RzRTc8e6Ed-7etIj5eTw0Q" name="EarliestDeadlineFirst"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RzRTdMe6Ed-7etIj5eTw0Q" name="FIFO" value="1"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RzRTdce6Ed-7etIj5eTw0Q" name="FixedPriority" value="2"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RzRTdse6Ed-7etIj5eTw0Q" name="LeastLaxityFirst" value="3"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RzRTd8e6Ed-7etIj5eTw0Q" name="RoundRobin" value="4"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RzRTeMe6Ed-7etIj5eTw0Q" name="TimeTableDriven" value="5"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RzRTece6Ed-7etIj5eTw0Q" name="Undef" value="6"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RzRTese6Ed-7etIj5eTw0Q" name="Other" value="7"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_RzRTkMe6Ed-7etIj5eTw0Q" name="MARTE_Library_GRM_BasicTypes_ProtectProtocolKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_RzRTkce6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_HkE7wBFbEdyUJeMeN__D-A"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RzRTkse6Ed-7etIj5eTw0Q" name="FIFO"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RzRTk8e6Ed-7etIj5eTw0Q" name="NoPreemption" value="1"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RzRTlMe6Ed-7etIj5eTw0Q" name="PriorityCeiling" value="2"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RzRTlce6Ed-7etIj5eTw0Q" name="PriorityInheritance" value="3"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RzRTlse6Ed-7etIj5eTw0Q" name="StackBased" value="4"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RzRTl8e6Ed-7etIj5eTw0Q" name="Undef" value="5"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RzRTmMe6Ed-7etIj5eTw0Q" name="Other" value="6"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_RzRTzMe6Ed-7etIj5eTw0Q" name="MARTE_MARTE_Foundations_NFPs_ConstraintKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_RzRTzce6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_ZCtm0A4vEdysTsAUPnp57Q"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RzRTzse6Ed-7etIj5eTw0Q" name="required"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RzRTz8e6Ed-7etIj5eTw0Q" name="offered" value="1"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RzRT0Me6Ed-7etIj5eTw0Q" name="contract" value="2"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_RzRT0ce6Ed-7etIj5eTw0Q" name="MARTE_MARTE_AnalysisModel_GQAM_LaxityKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_RzRT0se6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_Gs3fEBKcEdymP89M8JXkzA"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RzRT08e6Ed-7etIj5eTw0Q" name="hard"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RzRT1Me6Ed-7etIj5eTw0Q" name="soft" value="1"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RzRT1ce6Ed-7etIj5eTw0Q" name="other" value="2"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_RzRUD8e6Ed-7etIj5eTw0Q" name="CHESSML_DependabilitySecurity_StateBased_StateBasedDataTypes_ConfidenceKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_RzRUEMe6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_K_w1YL9CEd-TL8tpOyViyA"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RzRUEce6Ed-7etIj5eTw0Q" name="relative"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RzRUEse6Ed-7etIj5eTw0Q" name="absolute" value="1"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_WrT_Yse6Ed-7etIj5eTw0Q" name="DependabilityMeasure" instanceClassName="java.lang.String">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_WrT_Y8e6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_gg-JgL9BEd-TL8tpOyViyA"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_WtslAse6Ed-7etIj5eTw0Q" name="EvaluationType" instanceClassName="java.lang.String">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_WtslA8e6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_JEphoL9EEd-TL8tpOyViyA"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_WwFKose6Ed-7etIj5eTw0Q" name="EvaluationMethod" instanceClassName="java.lang.String">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_WwFKo8e6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_ypgcML9BEd-TL8tpOyViyA"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_WyKOQMe6Ed-7etIj5eTw0Q" name="NFP_String" instanceClassName="java.lang.String">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_WyKOQce6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_B5VngBFQEdyUJeMeN__D-A"/>
+                </eAnnotations>
+              </eClassifiers>
+            </contents>
+          </eAnnotations>
+          <packagedElement xmi:type="uml:Stereotype" xmi:id="_aqUxIL8_Ed-TL8tpOyViyA" name="StateBasedAnalysis">
+            <generalization xmi:type="uml:Generalization" xmi:id="_KG_20L9BEd-TL8tpOyViyA">
+              <general xmi:type="uml:Stereotype" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_9gc2ABKfEdyaWJN1BYon3A"/>
+            </generalization>
+            <generalization xmi:type="uml:Generalization" xmi:id="_do2VYDQ7EeC0ueejuetpgA">
+              <general xmi:type="uml:Stereotype" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_9gc2ABKfEdyaWJN1BYon3A"/>
+            </generalization>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_JFdvAMAKEd-Dn5_MBIs5Vw" name="measure" visibility="public">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_LDs9UMAKEd-Dn5_MBIs5Vw" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_LD2HQMAKEd-Dn5_MBIs5Vw" value="1"/>
+              <defaultValue xmi:type="uml:LiteralString" xmi:id="_LD2HQcAKEd-Dn5_MBIs5Vw">
+                <value xsi:nil="true"/>
+              </defaultValue>
+            </ownedAttribute>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_MY8R8MAKEd-Dn5_MBIs5Vw" name="measureEvaluationResult" visibility="public">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_NxeLIMAKEd-Dn5_MBIs5Vw" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Nxn8IMAKEd-Dn5_MBIs5Vw" value="1"/>
+              <defaultValue xmi:type="uml:LiteralString" xmi:id="_NxxGEMAKEd-Dn5_MBIs5Vw">
+                <value xsi:nil="true"/>
+              </defaultValue>
+            </ownedAttribute>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_PHKywMAKEd-Dn5_MBIs5Vw" name="evalMethod" visibility="public">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_RGJA4MAKEd-Dn5_MBIs5Vw" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RGJA4cAKEd-Dn5_MBIs5Vw" value="1"/>
+              <defaultValue xmi:type="uml:LiteralString" xmi:id="_RGSx4MAKEd-Dn5_MBIs5Vw">
+                <value xsi:nil="true"/>
+              </defaultValue>
+            </ownedAttribute>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_goeK4FocEeCE4ZeNjhtnzg" name="targetFailureMode" visibility="public" type="_gtsGwDQ4EeC0ueejuetpgA">
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_lK6bUFocEeCE4ZeNjhtnzg"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_lLNWQFocEeCE4ZeNjhtnzg" value="*"/>
+              <defaultValue xmi:type="uml:LiteralString" xmi:id="_lLWgMFocEeCE4ZeNjhtnzg">
+                <value xsi:nil="true"/>
+              </defaultValue>
+            </ownedAttribute>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_psJx4FocEeCE4ZeNjhtnzg" name="targetDepComponent" visibility="public">
+              <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#InstanceSpecification"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_s4cuwFocEeCE4ZeNjhtnzg"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_s4vpsFocEeCE4ZeNjhtnzg" value="*"/>
+              <defaultValue xmi:type="uml:LiteralString" xmi:id="_s45asFocEeCE4ZeNjhtnzg">
+                <value xsi:nil="true"/>
+              </defaultValue>
+            </ownedAttribute>
+          </packagedElement>
+        </packagedElement>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Profile" xmi:id="_Z59uoLwzEd-CDNLmLgazUQ" name="FMEA" URI="http://CHESS.Dependability/schemas/FMEA/_wfALMFrLEeCvGuvlF-wh1g/9" metaclassReference="_WpPpACctEeG6n9L5cSMA1w">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_I23jIMGbEd--atLXXafOiQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+          <contents xmi:type="ecore:EPackage" xmi:id="_RR4DgKe8EeCfNM3HjUZ3Ag" name="FMEA" nsURI="http://CHESS.Dependability/schemas/FMEA/_wfALMFrLEeCvGuvlF-wh1g/9" nsPrefix="FMEA">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_RSUvcKe8EeCfNM3HjUZ3Ag" source="PapyrusVersion">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_RSUvcae8EeCfNM3HjUZ3Ag" key="Version" value="0.1.11"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_RSUvcqe8EeCfNM3HjUZ3Ag" key="Comment" value=""/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_RSUvc6e8EeCfNM3HjUZ3Ag" key="Copyright" value=""/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_RSUvdKe8EeCfNM3HjUZ3Ag" key="Date" value="2011-07-06"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_RSUvdae8EeCfNM3HjUZ3Ag" key="Author" value=""/>
+            </eAnnotations>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_RR4Dgae8EeCfNM3HjUZ3Ag" name="FIBEX">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_RR4Dgqe8EeCfNM3HjUZ3Ag" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_86lCUMAQEd-Dn5_MBIs5Vw"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_RR4Dg6e8EeCfNM3HjUZ3Ag" name="base_Comment" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Comment"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_RR4Dhae8EeCfNM3HjUZ3Ag" name="config" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_RR4Dh6e8EeCfNM3HjUZ3Ag" name="FMEAAnalysis">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_RR4DiKe8EeCfNM3HjUZ3Ag" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_BDTQAKekEeCXsNuM83eyAA"/>
+              <eSuperTypes xmi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/MARTE/1#//GQAM/GaAnalysisContext"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_RR4Diae8EeCfNM3HjUZ3Ag" name="errorType" ordered="false" eType="_SWZ1Z6e3EeCfNM3HjUZ3Ag"/>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_RR4Di6e8EeCfNM3HjUZ3Ag" name="simulationRuns" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_RR4Djae8EeCfNM3HjUZ3Ag" name="analysisType" ordered="false" lowerBound="1" eType="_RR4EDKe8EeCfNM3HjUZ3Ag"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_RR4D7ae8EeCfNM3HjUZ3Ag" name="MARTE_Library_MARTE_DataTypes_VSL_Expression" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_RR4D7qe8EeCfNM3HjUZ3Ag" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_bManMBEBEdyx6M3BlUjlCQ"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_RR4D76e8EeCfNM3HjUZ3Ag" name="MARTE_Library_BasicNFP_Types_SourceKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_RR4D8Ke8EeCfNM3HjUZ3Ag" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_oMZzEBD-EdyybZnLxHsjyA"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RR4D8ae8EeCfNM3HjUZ3Ag" name="est"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RR4D8qe8EeCfNM3HjUZ3Ag" name="meas" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RR4D86e8EeCfNM3HjUZ3Ag" name="calc" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RR4D9Ke8EeCfNM3HjUZ3Ag" name="req" value="3"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_RR4D9ae8EeCfNM3HjUZ3Ag" name="MARTE_Library_BasicNFP_Types_StatisticalQualifierKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_RR4D9qe8EeCfNM3HjUZ3Ag" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_0N52EBD-EdyybZnLxHsjyA"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RR4D96e8EeCfNM3HjUZ3Ag" name="max"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RR4D-Ke8EeCfNM3HjUZ3Ag" name="min" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RR4D-ae8EeCfNM3HjUZ3Ag" name="mean" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RR4D-qe8EeCfNM3HjUZ3Ag" name="range" value="3"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RR4D-6e8EeCfNM3HjUZ3Ag" name="percent" value="4"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RR4D_Ke8EeCfNM3HjUZ3Ag" name="distrib" value="5"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RR4D_ae8EeCfNM3HjUZ3Ag" name="determ" value="6"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RR4D_qe8EeCfNM3HjUZ3Ag" name="other" value="7"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RR4D_6e8EeCfNM3HjUZ3Ag" name="variance" value="8"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_RR4EAKe8EeCfNM3HjUZ3Ag" name="MARTE_Library_BasicNFP_Types_DirectionKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_RR4EAae8EeCfNM3HjUZ3Ag" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_vvfxEBD-EdyybZnLxHsjyA"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RR4EAqe8EeCfNM3HjUZ3Ag" name="incr"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RR4EA6e8EeCfNM3HjUZ3Ag" name="decr" value="1"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_RR4EBKe8EeCfNM3HjUZ3Ag" name="MARTE_Library_MARTE_PrimitivesTypes_Real" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_RR4EBae8EeCfNM3HjUZ3Ag" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_beo90AnpEdy9WM11hWri2g"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_RR4EBqe8EeCfNM3HjUZ3Ag" name="MARTE_Library_MARTE_PrimitivesTypes_Integer" instanceClassName="int">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_RR4EB6e8EeCfNM3HjUZ3Ag" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_HJ1zcAnfEdy9WM11hWri2g"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_RR4ECKe8EeCfNM3HjUZ3Ag" name="CHESS_Dependability_ThreatsPropagation_DurationType">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_RR4ECae8EeCfNM3HjUZ3Ag" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_hh4TEKcTEeCLJKy7uMU5GA"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RR4ECqe8EeCfNM3HjUZ3Ag" name="transient"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RR4EC6e8EeCfNM3HjUZ3Ag" name="permanent" value="1"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_RR4EDKe8EeCfNM3HjUZ3Ag" name="FMEAAnalysisType">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_RR4EDae8EeCfNM3HjUZ3Ag" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_63m34KelEeCXsNuM83eyAA"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RR4EDqe8EeCfNM3HjUZ3Ag" name="frame"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_RR4ED6e8EeCfNM3HjUZ3Ag" name="system" value="1"/>
+            </eClassifiers>
+          </contents>
+          <contents xmi:type="ecore:EPackage" xmi:id="_YFsGMKenEeCXsNuM83eyAA" name="FMEA" nsURI="http://CHESS.Dependability/schemas/FMEA/_wfALMFrLEeCvGuvlF-wh1g/9" nsPrefix="FMEA">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_YGIyIKenEeCXsNuM83eyAA" source="PapyrusVersion">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_YGIyIaenEeCXsNuM83eyAA" key="Version" value="0.1.10"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_YGIyIqenEeCXsNuM83eyAA" key="Comment" value="Threats and Propagation update"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_YGIyI6enEeCXsNuM83eyAA" key="Copyright" value=""/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_YGIyJKenEeCXsNuM83eyAA" key="Date" value="2011-07-06"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_YGIyJaenEeCXsNuM83eyAA" key="Author" value=""/>
+            </eAnnotations>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_YFsGMaenEeCXsNuM83eyAA" name="FIBEX">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_YFsGMqenEeCXsNuM83eyAA" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_86lCUMAQEd-Dn5_MBIs5Vw"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_YFsGM6enEeCXsNuM83eyAA" name="base_Comment" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Comment"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_YFsGNaenEeCXsNuM83eyAA" name="config" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_YFsGN6enEeCXsNuM83eyAA" name="FMEAAnalysis">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_YFsGOKenEeCXsNuM83eyAA" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_BDTQAKekEeCXsNuM83eyAA"/>
+              <eSuperTypes xmi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/MARTE/1#//GQAM/GaAnalysisContext"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_YFsGOaenEeCXsNuM83eyAA" name="errorType" ordered="false" eType="_G6-lIVquEeCgwNmo13tekQ"/>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_YFsGO6enEeCXsNuM83eyAA" name="simulationRuns" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_YFsGPaenEeCXsNuM83eyAA" name="analysisType" ordered="false" lowerBound="1" eType="_YFsGvKenEeCXsNuM83eyAA"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_YFsGnaenEeCXsNuM83eyAA" name="MARTE_Library_MARTE_DataTypes_VSL_Expression" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_YFsGnqenEeCXsNuM83eyAA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_bManMBEBEdyx6M3BlUjlCQ"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_YFsGn6enEeCXsNuM83eyAA" name="MARTE_Library_BasicNFP_Types_SourceKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_YFsGoKenEeCXsNuM83eyAA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_oMZzEBD-EdyybZnLxHsjyA"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_YFsGoaenEeCXsNuM83eyAA" name="est"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_YFsGoqenEeCXsNuM83eyAA" name="meas" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_YFsGo6enEeCXsNuM83eyAA" name="calc" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_YFsGpKenEeCXsNuM83eyAA" name="req" value="3"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_YFsGpaenEeCXsNuM83eyAA" name="MARTE_Library_BasicNFP_Types_StatisticalQualifierKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_YFsGpqenEeCXsNuM83eyAA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_0N52EBD-EdyybZnLxHsjyA"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_YFsGp6enEeCXsNuM83eyAA" name="max"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_YFsGqKenEeCXsNuM83eyAA" name="min" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_YFsGqaenEeCXsNuM83eyAA" name="mean" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_YFsGqqenEeCXsNuM83eyAA" name="range" value="3"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_YFsGq6enEeCXsNuM83eyAA" name="percent" value="4"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_YFsGrKenEeCXsNuM83eyAA" name="distrib" value="5"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_YFsGraenEeCXsNuM83eyAA" name="determ" value="6"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_YFsGrqenEeCXsNuM83eyAA" name="other" value="7"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_YFsGr6enEeCXsNuM83eyAA" name="variance" value="8"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_YFsGsKenEeCXsNuM83eyAA" name="MARTE_Library_BasicNFP_Types_DirectionKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_YFsGsaenEeCXsNuM83eyAA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_vvfxEBD-EdyybZnLxHsjyA"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_YFsGsqenEeCXsNuM83eyAA" name="incr"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_YFsGs6enEeCXsNuM83eyAA" name="decr" value="1"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_YFsGtKenEeCXsNuM83eyAA" name="MARTE_Library_MARTE_PrimitivesTypes_Real" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_YFsGtaenEeCXsNuM83eyAA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_beo90AnpEdy9WM11hWri2g"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_YFsGtqenEeCXsNuM83eyAA" name="MARTE_Library_MARTE_PrimitivesTypes_Integer" instanceClassName="int">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_YFsGt6enEeCXsNuM83eyAA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_HJ1zcAnfEdy9WM11hWri2g"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_YFsGuKenEeCXsNuM83eyAA" name="CHESS_Dependability_ThreatsPropagation_Type">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_YFsGuaenEeCXsNuM83eyAA" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_hh4TEKcTEeCLJKy7uMU5GA"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_YFsGuqenEeCXsNuM83eyAA" name="transient"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_YFsGu6enEeCXsNuM83eyAA" name="permanent" value="1"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_YFsGvKenEeCXsNuM83eyAA" name="analysisType">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_YFsGvaenEeCXsNuM83eyAA" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_63m34KelEeCXsNuM83eyAA"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_YFsGvqenEeCXsNuM83eyAA" name="frame"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_YFsGv6enEeCXsNuM83eyAA" name="system" value="1"/>
+            </eClassifiers>
+          </contents>
+          <contents xmi:type="ecore:EPackage" xmi:id="_wfJVIFrLEeCvGuvlF-wh1g" name="FMEA" nsURI="http://CHESS.Dependability/schemas/FMEA/_wfALMFrLEeCvGuvlF-wh1g/9" nsPrefix="FMEA">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_wfc3IFrLEeCvGuvlF-wh1g" source="PapyrusVersion">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_wfc3IVrLEeCvGuvlF-wh1g" key="Version" value="0.1.9"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_wfc3IlrLEeCvGuvlF-wh1g" key="Comment" value="change fibex.config type in String"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_wfc3I1rLEeCvGuvlF-wh1g" key="Copyright" value=""/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_wfc3JFrLEeCvGuvlF-wh1g" key="Date" value="2011-03-30"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_wfc3JVrLEeCvGuvlF-wh1g" key="Author" value=""/>
+            </eAnnotations>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_wfJVIVrLEeCvGuvlF-wh1g" name="FIBEX">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_wfJVIlrLEeCvGuvlF-wh1g" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_86lCUMAQEd-Dn5_MBIs5Vw"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_wfJVI1rLEeCvGuvlF-wh1g" name="base_Comment" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Comment"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_wfJVJVrLEeCvGuvlF-wh1g" name="config" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+          </contents>
+          <contents xmi:type="ecore:EPackage" xmi:id="_RzRULce6Ed-7etIj5eTw0Q" name="FMEA" nsURI="http://CHESS.DependabilitySecurity/schemas/FMEA/_RzRULMe6Ed-7etIj5eTw0Q/8" nsPrefix="FMEA">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_W27Zhse6Ed-7etIj5eTw0Q" source="PapyrusVersion">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_W27Zh8e6Ed-7etIj5eTw0Q" key="Version" value="0.1.8"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_W27ZiMe6Ed-7etIj5eTw0Q" key="Comment" value=""/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_W27Zice6Ed-7etIj5eTw0Q" key="Copyright" value=""/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_W27Zise6Ed-7etIj5eTw0Q" key="Date" value="2010-09-24"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_W27Zi8e6Ed-7etIj5eTw0Q" key="Author" value=""/>
+            </eAnnotations>
+          </contents>
+        </eAnnotations>
+        <elementImport xmi:type="uml:ElementImport" xmi:id="_WpPpACctEeG6n9L5cSMA1w" alias="StateMachine">
+          <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#StateMachine"/>
+        </elementImport>
+        <packagedElement xmi:type="uml:Extension" xmi:id="_B4RrYcAREd-Dn5_MBIs5Vw" name="E_FIBEX_Comment0" memberEnd="_B4RrYsAREd-Dn5_MBIs5Vw _B4RrYMAREd-Dn5_MBIs5Vw">
+          <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_B4RrYsAREd-Dn5_MBIs5Vw" name="extension_FIBEX" type="_86lCUMAQEd-Dn5_MBIs5Vw" aggregation="composite" association="_B4RrYcAREd-Dn5_MBIs5Vw"/>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Stereotype" xmi:id="_86lCUMAQEd-Dn5_MBIs5Vw" name="FIBEX">
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_B4RrYMAREd-Dn5_MBIs5Vw" name="base_Comment" association="_B4RrYcAREd-Dn5_MBIs5Vw">
+            <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Comment"/>
+          </ownedAttribute>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_DDrukMAREd-Dn5_MBIs5Vw" name="config" visibility="public">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_FB5HsMAREd-Dn5_MBIs5Vw" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_FB5HscAREd-Dn5_MBIs5Vw" value="1"/>
+            <defaultValue xmi:type="uml:LiteralString" xmi:id="_FCC4sMAREd-Dn5_MBIs5Vw">
+              <value xsi:nil="true"/>
+            </defaultValue>
+          </ownedAttribute>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Package" xmi:id="_973yIMAOEd-Dn5_MBIs5Vw" name="FMEADataTypes">
+          <packagedElement xmi:type="uml:Enumeration" xmi:id="_FCX6wMAPEd-Dn5_MBIs5Vw" name="Persistency">
+            <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_H17ngMAPEd-Dn5_MBIs5Vw" name="transient"/>
+            <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_JAlcwMAPEd-Dn5_MBIs5Vw" name="permanent"/>
+          </packagedElement>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Stereotype" xmi:id="_BDTQAKekEeCXsNuM83eyAA" name="FMEAAnalysis">
+          <generalization xmi:type="uml:Generalization" xmi:id="_zILjgKekEeCXsNuM83eyAA">
+            <general xmi:type="uml:Stereotype" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_9gc2ABKfEdyaWJN1BYon3A"/>
+          </generalization>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_JMXzcKelEeCXsNuM83eyAA" name="errorType" visibility="public" type="_C-dwsL9UEeCOtecSzivGvQ">
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_LxXfwKelEeCXsNuM83eyAA"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_LxgpsKelEeCXsNuM83eyAA" value="1"/>
+            <defaultValue xmi:type="uml:LiteralString" xmi:id="_LxgpsaelEeCXsNuM83eyAA">
+              <value xsi:nil="true"/>
+            </defaultValue>
+          </ownedAttribute>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_m28l8KelEeCXsNuM83eyAA" name="simulationRuns" visibility="public">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_qODEoKelEeCXsNuM83eyAA" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_qOMOkKelEeCXsNuM83eyAA" value="1"/>
+            <defaultValue xmi:type="uml:LiteralString" xmi:id="_qOUKYKelEeCXsNuM83eyAA">
+              <value xsi:nil="true"/>
+            </defaultValue>
+          </ownedAttribute>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_vZPXIKelEeCXsNuM83eyAA" name="analysisType">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+          </ownedAttribute>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Enumeration" xmi:id="_63m34KelEeCXsNuM83eyAA" name="FMEAAnalysisType">
+          <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_BLt6QKemEeCXsNuM83eyAA" name="frame"/>
+          <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_COFWMKemEeCXsNuM83eyAA" name="system"/>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Stereotype" xmi:id="_BszrUCctEeG6n9L5cSMA1w" name="ErrorModelAssign">
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_EQeh8CctEeG6n9L5cSMA1w" name="base_Comment" association="_EQfJACctEeG6n9L5cSMA1w">
+            <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Comment"/>
+          </ownedAttribute>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_FC75oCctEeG6n9L5cSMA1w" name="from" type="_90It8DQ3EeC0ueejuetpgA">
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_tBvVACctEeG6n9L5cSMA1w" value="*"/>
+          </ownedAttribute>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_GCB_ICctEeG6n9L5cSMA1w" name="to">
+            <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Slot"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_w1FDwCctEeG6n9L5cSMA1w" value="*"/>
+          </ownedAttribute>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Extension" xmi:id="_EQfJACctEeG6n9L5cSMA1w" name="E_ErrorModelAssign_Comment0" memberEnd="_EQfJASctEeG6n9L5cSMA1w _EQeh8CctEeG6n9L5cSMA1w">
+          <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_EQfJASctEeG6n9L5cSMA1w" name="extension_ErrorModelAssign" type="_BszrUCctEeG6n9L5cSMA1w" aggregation="composite" association="_EQfJACctEeG6n9L5cSMA1w"/>
+        </packagedElement>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Profile" xmi:id="_uNKOgDQ2EeC0ueejuetpgA" name="DependableComponent" URI="http://CHESS/Dependability/DependableComponent" metaclassReference="_1TXcMDQ2EeC0ueejuetpgA _vslkcDQ3EeC0ueejuetpgA _qUQRADQ7EeC0ueejuetpgA _lh57ADgaEeCE2sZUGxu35w _t9O3gEDsEeC5SOtkEXPa-w _Bxaf0E7nEeCiWfCHUearZQ">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__BchsDRPEeCPrptoDUJcNQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+          <contents xmi:type="ecore:EPackage" xmi:id="_291WAVquEeCgwNmo13tekQ" name="DependableComponent" nsURI="http://CHESS/Dependability/DependableComponent" nsPrefix="DependableComponent">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_3BtJYFquEeCgwNmo13tekQ" source="PapyrusVersion">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_3BtJYVquEeCgwNmo13tekQ" key="Version" value="0.0.9"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_3BtJYlquEeCgwNmo13tekQ" key="Comment" value=""/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_3BtJY1quEeCgwNmo13tekQ" key="Copyright" value=""/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_3BtJZFquEeCgwNmo13tekQ" key="Date" value="2011-03-30"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_3BtJZVquEeCgwNmo13tekQ" key="Author" value=""/>
+            </eAnnotations>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_291WAlquEeCgwNmo13tekQ" name="Propagation">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_291WA1quEeCgwNmo13tekQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_uoIV0LzuEd-yoLyJo0JlOg"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_291WCFquEeCgwNmo13tekQ" name="base_Abstraction" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Abstraction"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_291WClquEeCgwNmo13tekQ" name="base_Comment" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Comment"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_291WDFquEeCgwNmo13tekQ" name="base_Connector" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_291WDlquEeCgwNmo13tekQ" name="base_InstanceSpecification" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//InstanceSpecification"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_291WEFquEeCgwNmo13tekQ" name="tf" ordered="false" upperBound="-1">
+                <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_291WElquEeCgwNmo13tekQ" name="base_Transition" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_29-f8FquEeCgwNmo13tekQ" name="prob" ordered="false" lowerBound="1" eType="_29-f8lquEeCgwNmo13tekQ"/>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_2-bL4FquEeCgwNmo13tekQ" name="propDelay" ordered="false" lowerBound="1" eType="_2-bL4lquEeCgwNmo13tekQ"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_291WZ1quEeCgwNmo13tekQ" name="MARTE_Library_MARTE_DataTypes_VSL_Expression" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_291WaFquEeCgwNmo13tekQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_bManMBEBEdyx6M3BlUjlCQ"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_291WaVquEeCgwNmo13tekQ" name="MARTE_Library_BasicNFP_Types_SourceKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_291WalquEeCgwNmo13tekQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_oMZzEBD-EdyybZnLxHsjyA"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_291Wa1quEeCgwNmo13tekQ" name="est"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_291WbFquEeCgwNmo13tekQ" name="meas" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_291WbVquEeCgwNmo13tekQ" name="calc" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_291WblquEeCgwNmo13tekQ" name="req" value="3"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_291Wb1quEeCgwNmo13tekQ" name="MARTE_Library_BasicNFP_Types_StatisticalQualifierKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_291WcFquEeCgwNmo13tekQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_0N52EBD-EdyybZnLxHsjyA"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_291WcVquEeCgwNmo13tekQ" name="max"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_291WclquEeCgwNmo13tekQ" name="min" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_291Wc1quEeCgwNmo13tekQ" name="mean" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_291WdFquEeCgwNmo13tekQ" name="range" value="3"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_291WdVquEeCgwNmo13tekQ" name="percent" value="4"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_291WdlquEeCgwNmo13tekQ" name="distrib" value="5"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_291Wd1quEeCgwNmo13tekQ" name="determ" value="6"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_291WeFquEeCgwNmo13tekQ" name="other" value="7"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_291WeVquEeCgwNmo13tekQ" name="variance" value="8"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_291WelquEeCgwNmo13tekQ" name="MARTE_Library_BasicNFP_Types_DirectionKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_291We1quEeCgwNmo13tekQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_vvfxEBD-EdyybZnLxHsjyA"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_291WfFquEeCgwNmo13tekQ" name="incr"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_291WfVquEeCgwNmo13tekQ" name="decr" value="1"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_291WflquEeCgwNmo13tekQ" name="MARTE_Library_MARTE_PrimitivesTypes_Real" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_291Wf1quEeCgwNmo13tekQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_beo90AnpEdy9WM11hWri2g"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_291WgFquEeCgwNmo13tekQ" name="MARTE_Library_MARTE_PrimitivesTypes_Integer" instanceClassName="int">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_291WgVquEeCgwNmo13tekQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_HJ1zcAnfEdy9WM11hWri2g"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_291Wj1quEeCgwNmo13tekQ" name="MARTE_Library_MeasurementUnits_TimeUnitKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_291WkFquEeCgwNmo13tekQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_Iaa3gA4yEdysTsAUPnp57Q"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_291WkVquEeCgwNmo13tekQ" name="s"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_291WklquEeCgwNmo13tekQ" name="tick" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_291Wk1quEeCgwNmo13tekQ" name="ms" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_291WlFquEeCgwNmo13tekQ" name="us" value="3"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_291WlVquEeCgwNmo13tekQ" name="min" value="4"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_291WllquEeCgwNmo13tekQ" name="hrs" value="5"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_291Wl1quEeCgwNmo13tekQ" name="day" value="6"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_291WmFquEeCgwNmo13tekQ" name="MARTE_Library_MARTE_PrimitivesTypes_String" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_291WmVquEeCgwNmo13tekQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_qZ3GUAnxEdy9WM11hWri2g"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_291WmlquEeCgwNmo13tekQ" name="DependableComponent">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_291Wm1quEeCgwNmo13tekQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_y0zvEDQ2EeC0ueejuetpgA"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_291WnFquEeCgwNmo13tekQ" name="base_Component" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Component"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_291WnlquEeCgwNmo13tekQ" name="errorModel" ordered="false" eType="_G6-koVquEeCgwNmo13tekQ"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_291WoFquEeCgwNmo13tekQ" name="base_Property" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_29-f8lquEeCgwNmo13tekQ" name="NFP_Real" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_29-f81quEeCgwNmo13tekQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_Yq-MQBFQEdyUJeMeN__D-A"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_2-bL4lquEeCgwNmo13tekQ" name="NFP_Duration" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_2-bL41quEeCgwNmo13tekQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_kMwX8BFREdyUJeMeN__D-A"/>
+              </eAnnotations>
+            </eClassifiers>
+          </contents>
+          <contents xmi:type="ecore:EPackage" xmi:id="_LgJ2AE7nEeCiWfCHUearZQ" name="DependableComponent" nsURI="http://CHESS.Dependability/schemas/DependableComponent/_Lf27EE7nEeCiWfCHUearZQ/6" nsPrefix="DependableComponent">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Lj4fcE7nEeCiWfCHUearZQ" source="PapyrusVersion">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Lj4fcU7nEeCiWfCHUearZQ" key="Version" value="0.0.7"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Lj4fck7nEeCiWfCHUearZQ" key="Comment" value="added extension from DependableComponent::Propagation to InstanceSpecification"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Lj4fc07nEeCiWfCHUearZQ" key="Copyright" value=""/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Lj4fdE7nEeCiWfCHUearZQ" key="Date" value="2011-03-15"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Lj4fdU7nEeCiWfCHUearZQ" key="Author" value=""/>
+            </eAnnotations>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_LgJ2AU7nEeCiWfCHUearZQ" name="Propagation">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_LgJ2Ak7nEeCiWfCHUearZQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_uoIV0LzuEd-yoLyJo0JlOg"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_LgJ2B07nEeCiWfCHUearZQ" name="base_Abstraction" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Abstraction"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_LgJ2CU7nEeCiWfCHUearZQ" name="base_Comment" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Comment"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_LgJ2C07nEeCiWfCHUearZQ" name="base_Connector" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_LgJ2DU7nEeCiWfCHUearZQ" name="base_InstanceSpecification" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//InstanceSpecification"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_LgTnAE7nEeCiWfCHUearZQ" name="prob" ordered="false" lowerBound="1" eType="_LgTnAk7nEeCiWfCHUearZQ"/>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_Lg5c4E7nEeCiWfCHUearZQ" name="propDelay" ordered="false" lowerBound="1" eType="_Lg5c4k7nEeCiWfCHUearZQ"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_LgJ2Yk7nEeCiWfCHUearZQ" name="MARTE_Library_MARTE_DataTypes_VSL_Expression" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_LgJ2Y07nEeCiWfCHUearZQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_bManMBEBEdyx6M3BlUjlCQ"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_LgJ2ZE7nEeCiWfCHUearZQ" name="MARTE_Library_BasicNFP_Types_SourceKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_LgJ2ZU7nEeCiWfCHUearZQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_oMZzEBD-EdyybZnLxHsjyA"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_LgJ2Zk7nEeCiWfCHUearZQ" name="est"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_LgJ2Z07nEeCiWfCHUearZQ" name="meas" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_LgJ2aE7nEeCiWfCHUearZQ" name="calc" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_LgJ2aU7nEeCiWfCHUearZQ" name="req" value="3"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_LgJ2ak7nEeCiWfCHUearZQ" name="MARTE_Library_BasicNFP_Types_StatisticalQualifierKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_LgJ2a07nEeCiWfCHUearZQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_0N52EBD-EdyybZnLxHsjyA"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_LgJ2bE7nEeCiWfCHUearZQ" name="max"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_LgJ2bU7nEeCiWfCHUearZQ" name="min" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_LgJ2bk7nEeCiWfCHUearZQ" name="mean" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_LgJ2b07nEeCiWfCHUearZQ" name="range" value="3"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_LgJ2cE7nEeCiWfCHUearZQ" name="percent" value="4"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_LgJ2cU7nEeCiWfCHUearZQ" name="distrib" value="5"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_LgJ2ck7nEeCiWfCHUearZQ" name="determ" value="6"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_LgJ2c07nEeCiWfCHUearZQ" name="other" value="7"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_LgJ2dE7nEeCiWfCHUearZQ" name="variance" value="8"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_LgJ2dU7nEeCiWfCHUearZQ" name="MARTE_Library_BasicNFP_Types_DirectionKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_LgJ2dk7nEeCiWfCHUearZQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_vvfxEBD-EdyybZnLxHsjyA"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_LgJ2d07nEeCiWfCHUearZQ" name="incr"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_LgJ2eE7nEeCiWfCHUearZQ" name="decr" value="1"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_LgJ2eU7nEeCiWfCHUearZQ" name="MARTE_Library_MARTE_PrimitivesTypes_Real" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_LgJ2ek7nEeCiWfCHUearZQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_beo90AnpEdy9WM11hWri2g"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_LgJ2e07nEeCiWfCHUearZQ" name="MARTE_Library_MARTE_PrimitivesTypes_Integer" instanceClassName="int">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_LgJ2fE7nEeCiWfCHUearZQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_HJ1zcAnfEdy9WM11hWri2g"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_LgJ2ik7nEeCiWfCHUearZQ" name="MARTE_Library_MeasurementUnits_TimeUnitKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_LgJ2i07nEeCiWfCHUearZQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_Iaa3gA4yEdysTsAUPnp57Q"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_LgJ2jE7nEeCiWfCHUearZQ" name="s"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_LgJ2jU7nEeCiWfCHUearZQ" name="tick" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_LgJ2jk7nEeCiWfCHUearZQ" name="ms" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_LgJ2j07nEeCiWfCHUearZQ" name="us" value="3"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_LgJ2kE7nEeCiWfCHUearZQ" name="min" value="4"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_LgJ2kU7nEeCiWfCHUearZQ" name="hrs" value="5"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_LgJ2kk7nEeCiWfCHUearZQ" name="day" value="6"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_LgJ2k07nEeCiWfCHUearZQ" name="MARTE_Library_MARTE_PrimitivesTypes_String" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_LgJ2lE7nEeCiWfCHUearZQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_qZ3GUAnxEdy9WM11hWri2g"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_LgJ2lU7nEeCiWfCHUearZQ" name="DependableComponent">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_LgJ2lk7nEeCiWfCHUearZQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_y0zvEDQ2EeC0ueejuetpgA"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_LgJ2l07nEeCiWfCHUearZQ" name="base_Component" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Component"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_LgJ2mU7nEeCiWfCHUearZQ" name="errorModel" ordered="false" eType="_2F5QYUQQEeCQRfAVtSc0sw"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_LgJ2m07nEeCiWfCHUearZQ" name="base_Property" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_LgTnAk7nEeCiWfCHUearZQ" name="NFP_Real" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_LgTnA07nEeCiWfCHUearZQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_Yq-MQBFQEdyUJeMeN__D-A"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_Lg5c4k7nEeCiWfCHUearZQ" name="NFP_Duration" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Lg5c407nEeCiWfCHUearZQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_kMwX8BFREdyUJeMeN__D-A"/>
+              </eAnnotations>
+            </eClassifiers>
+          </contents>
+          <contents xmi:type="ecore:EPackage" xmi:id="_i4UhwUMfEeCCw-qiU6Z1sQ" name="DependableComponent" nsURI="http://CHESS.Dependability/schemas/DependableComponent/_i4UhwEMfEeCCw-qiU6Z1sQ/5" nsPrefix="DependableComponent">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_i7TkUEMfEeCCw-qiU6Z1sQ" source="PapyrusVersion">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_i7TkUUMfEeCCw-qiU6Z1sQ" key="Version" value="0.0.6"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_i7TkUkMfEeCCw-qiU6Z1sQ" key="Comment" value=""/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_i7TkU0MfEeCCw-qiU6Z1sQ" key="Copyright" value=""/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_i7TkVEMfEeCCw-qiU6Z1sQ" key="Date" value="2011-02-28"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_i7TkVUMfEeCCw-qiU6Z1sQ" key="Author" value=""/>
+            </eAnnotations>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_i4UhwkMfEeCCw-qiU6Z1sQ" name="Propagation">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_i4Uhw0MfEeCCw-qiU6Z1sQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_uoIV0LzuEd-yoLyJo0JlOg"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_i4UhyEMfEeCCw-qiU6Z1sQ" name="base_Abstraction" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Abstraction"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_i4UhykMfEeCCw-qiU6Z1sQ" name="base_Comment" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Comment"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_i4UhzEMfEeCCw-qiU6Z1sQ" name="base_Connector" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_i4eS6kMfEeCCw-qiU6Z1sQ" name="prob" ordered="false" lowerBound="1" eType="_i4eS7EMfEeCCw-qiU6Z1sQ"/>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_i5EIoEMfEeCCw-qiU6Z1sQ" name="propDelay" ordered="false" lowerBound="1" eType="_i5EIokMfEeCCw-qiU6Z1sQ"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_i4UiIUMfEeCCw-qiU6Z1sQ" name="MARTE_Library_MARTE_DataTypes_VSL_Expression" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_i4UiIkMfEeCCw-qiU6Z1sQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_bManMBEBEdyx6M3BlUjlCQ"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_i4UiI0MfEeCCw-qiU6Z1sQ" name="MARTE_Library_BasicNFP_Types_SourceKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_i4UiJEMfEeCCw-qiU6Z1sQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_oMZzEBD-EdyybZnLxHsjyA"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_i4UiJUMfEeCCw-qiU6Z1sQ" name="est"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_i4UiJkMfEeCCw-qiU6Z1sQ" name="meas" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_i4UiJ0MfEeCCw-qiU6Z1sQ" name="calc" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_i4UiKEMfEeCCw-qiU6Z1sQ" name="req" value="3"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_i4UiKUMfEeCCw-qiU6Z1sQ" name="MARTE_Library_BasicNFP_Types_StatisticalQualifierKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_i4UiKkMfEeCCw-qiU6Z1sQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_0N52EBD-EdyybZnLxHsjyA"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_i4UiK0MfEeCCw-qiU6Z1sQ" name="max"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_i4UiLEMfEeCCw-qiU6Z1sQ" name="min" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_i4UiLUMfEeCCw-qiU6Z1sQ" name="mean" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_i4UiLkMfEeCCw-qiU6Z1sQ" name="range" value="3"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_i4UiL0MfEeCCw-qiU6Z1sQ" name="percent" value="4"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_i4UiMEMfEeCCw-qiU6Z1sQ" name="distrib" value="5"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_i4UiMUMfEeCCw-qiU6Z1sQ" name="determ" value="6"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_i4UiMkMfEeCCw-qiU6Z1sQ" name="other" value="7"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_i4UiM0MfEeCCw-qiU6Z1sQ" name="variance" value="8"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_i4UiNEMfEeCCw-qiU6Z1sQ" name="MARTE_Library_BasicNFP_Types_DirectionKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_i4UiNUMfEeCCw-qiU6Z1sQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_vvfxEBD-EdyybZnLxHsjyA"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_i4eSwEMfEeCCw-qiU6Z1sQ" name="incr"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_i4eSwUMfEeCCw-qiU6Z1sQ" name="decr" value="1"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_i4eSwkMfEeCCw-qiU6Z1sQ" name="MARTE_Library_MARTE_PrimitivesTypes_Real" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_i4eSw0MfEeCCw-qiU6Z1sQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_beo90AnpEdy9WM11hWri2g"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_i4eSxEMfEeCCw-qiU6Z1sQ" name="MARTE_Library_MARTE_PrimitivesTypes_Integer" instanceClassName="int">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_i4eSxUMfEeCCw-qiU6Z1sQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_HJ1zcAnfEdy9WM11hWri2g"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_i4eS00MfEeCCw-qiU6Z1sQ" name="MARTE_Library_MeasurementUnits_TimeUnitKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_i4eS1EMfEeCCw-qiU6Z1sQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_Iaa3gA4yEdysTsAUPnp57Q"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_i4eS1UMfEeCCw-qiU6Z1sQ" name="s"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_i4eS1kMfEeCCw-qiU6Z1sQ" name="tick" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_i4eS10MfEeCCw-qiU6Z1sQ" name="ms" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_i4eS2EMfEeCCw-qiU6Z1sQ" name="us" value="3"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_i4eS2UMfEeCCw-qiU6Z1sQ" name="min" value="4"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_i4eS2kMfEeCCw-qiU6Z1sQ" name="hrs" value="5"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_i4eS20MfEeCCw-qiU6Z1sQ" name="day" value="6"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_i4eS3EMfEeCCw-qiU6Z1sQ" name="MARTE_Library_MARTE_PrimitivesTypes_String" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_i4eS3UMfEeCCw-qiU6Z1sQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_qZ3GUAnxEdy9WM11hWri2g"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_i4eS3kMfEeCCw-qiU6Z1sQ" name="DependableComponent">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_i4eS30MfEeCCw-qiU6Z1sQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_y0zvEDQ2EeC0ueejuetpgA"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_i4eS4EMfEeCCw-qiU6Z1sQ" name="base_Component" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Component"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_i4eS4kMfEeCCw-qiU6Z1sQ" name="errorModel" ordered="false" eType="_U0lJ8TRoEeCPrptoDUJcNQ"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_i4eS5EMfEeCCw-qiU6Z1sQ" name="base_Property" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_i4eS7EMfEeCCw-qiU6Z1sQ" name="NFP_Real" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_i4eS7UMfEeCCw-qiU6Z1sQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_Yq-MQBFQEdyUJeMeN__D-A"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_i5EIokMfEeCCw-qiU6Z1sQ" name="NFP_Duration" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_i5EIo0MfEeCCw-qiU6Z1sQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_kMwX8BFREdyUJeMeN__D-A"/>
+              </eAnnotations>
+            </eClassifiers>
+          </contents>
+          <contents xmi:type="ecore:EPackage" xmi:id="_CUjG0UMaEeCCw-qiU6Z1sQ" name="DependableComponent" nsURI="http://CHESS.Dependability/schemas/DependableComponent/_CUjG0EMaEeCCw-qiU6Z1sQ/4" nsPrefix="DependableComponent">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CXYYYEMaEeCCw-qiU6Z1sQ" source="PapyrusVersion">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_CXYYYUMaEeCCw-qiU6Z1sQ" key="Version" value="0.0.5"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_CXYYYkMaEeCCw-qiU6Z1sQ" key="Comment" value=""/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_CXYYY0MaEeCCw-qiU6Z1sQ" key="Copyright" value=""/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_CXYYZEMaEeCCw-qiU6Z1sQ" key="Date" value="2011-02-28"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_CXYYZUMaEeCCw-qiU6Z1sQ" key="Author" value=""/>
+            </eAnnotations>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_CUjG0kMaEeCCw-qiU6Z1sQ" name="Propagation">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CUjG00MaEeCCw-qiU6Z1sQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_uoIV0LzuEd-yoLyJo0JlOg"/>
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CUjG1EMaEeCCw-qiU6Z1sQ" source="duplicates">
+                <contents xmi:type="ecore:EReference" xmi:id="_CUjG1UMaEeCCw-qiU6Z1sQ" name="base_Connector" ordered="false" lowerBound="1">
+                  <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CUjG1kMaEeCCw-qiU6Z1sQ" source="redefines" references="_CUjG3EMaEeCCw-qiU6Z1sQ"/>
+                  <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>
+                </contents>
+              </eAnnotations>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_CUjG3EMaEeCCw-qiU6Z1sQ" name="base_Connector" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_CUs30EMaEeCCw-qiU6Z1sQ" name="base_Abstraction" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Abstraction"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_CUs30kMaEeCCw-qiU6Z1sQ" name="base_Comment" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Comment"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_CUs4ZkMaEeCCw-qiU6Z1sQ" name="prob" ordered="false" lowerBound="1" eType="_CUs4aEMaEeCCw-qiU6Z1sQ"/>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_CVI8sEMaEeCCw-qiU6Z1sQ" name="propDelay" ordered="false" lowerBound="1" eType="_CVI8skMaEeCCw-qiU6Z1sQ"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_CUs4J0MaEeCCw-qiU6Z1sQ" name="MARTE_Library_MARTE_DataTypes_VSL_Expression" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CUs4KEMaEeCCw-qiU6Z1sQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_bManMBEBEdyx6M3BlUjlCQ"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_CUs4KUMaEeCCw-qiU6Z1sQ" name="MARTE_Library_BasicNFP_Types_SourceKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CUs4KkMaEeCCw-qiU6Z1sQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_oMZzEBD-EdyybZnLxHsjyA"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_CUs4K0MaEeCCw-qiU6Z1sQ" name="est"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_CUs4LEMaEeCCw-qiU6Z1sQ" name="meas" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_CUs4LUMaEeCCw-qiU6Z1sQ" name="calc" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_CUs4LkMaEeCCw-qiU6Z1sQ" name="req" value="3"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_CUs4L0MaEeCCw-qiU6Z1sQ" name="MARTE_Library_BasicNFP_Types_StatisticalQualifierKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CUs4MEMaEeCCw-qiU6Z1sQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_0N52EBD-EdyybZnLxHsjyA"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_CUs4MUMaEeCCw-qiU6Z1sQ" name="max"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_CUs4MkMaEeCCw-qiU6Z1sQ" name="min" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_CUs4M0MaEeCCw-qiU6Z1sQ" name="mean" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_CUs4NEMaEeCCw-qiU6Z1sQ" name="range" value="3"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_CUs4NUMaEeCCw-qiU6Z1sQ" name="percent" value="4"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_CUs4NkMaEeCCw-qiU6Z1sQ" name="distrib" value="5"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_CUs4N0MaEeCCw-qiU6Z1sQ" name="determ" value="6"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_CUs4OEMaEeCCw-qiU6Z1sQ" name="other" value="7"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_CUs4OUMaEeCCw-qiU6Z1sQ" name="variance" value="8"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_CUs4OkMaEeCCw-qiU6Z1sQ" name="MARTE_Library_BasicNFP_Types_DirectionKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CUs4O0MaEeCCw-qiU6Z1sQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_vvfxEBD-EdyybZnLxHsjyA"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_CUs4PEMaEeCCw-qiU6Z1sQ" name="incr"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_CUs4PUMaEeCCw-qiU6Z1sQ" name="decr" value="1"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_CUs4PkMaEeCCw-qiU6Z1sQ" name="MARTE_Library_MARTE_PrimitivesTypes_Real" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CUs4P0MaEeCCw-qiU6Z1sQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_beo90AnpEdy9WM11hWri2g"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_CUs4QEMaEeCCw-qiU6Z1sQ" name="MARTE_Library_MARTE_PrimitivesTypes_Integer" instanceClassName="int">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CUs4QUMaEeCCw-qiU6Z1sQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_HJ1zcAnfEdy9WM11hWri2g"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_CUs4T0MaEeCCw-qiU6Z1sQ" name="MARTE_Library_MeasurementUnits_TimeUnitKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CUs4UEMaEeCCw-qiU6Z1sQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_Iaa3gA4yEdysTsAUPnp57Q"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_CUs4UUMaEeCCw-qiU6Z1sQ" name="s"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_CUs4UkMaEeCCw-qiU6Z1sQ" name="tick" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_CUs4U0MaEeCCw-qiU6Z1sQ" name="ms" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_CUs4VEMaEeCCw-qiU6Z1sQ" name="us" value="3"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_CUs4VUMaEeCCw-qiU6Z1sQ" name="min" value="4"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_CUs4VkMaEeCCw-qiU6Z1sQ" name="hrs" value="5"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_CUs4V0MaEeCCw-qiU6Z1sQ" name="day" value="6"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_CUs4WEMaEeCCw-qiU6Z1sQ" name="MARTE_Library_MARTE_PrimitivesTypes_String" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CUs4WUMaEeCCw-qiU6Z1sQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_qZ3GUAnxEdy9WM11hWri2g"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_CUs4WkMaEeCCw-qiU6Z1sQ" name="DependableComponent">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CUs4W0MaEeCCw-qiU6Z1sQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_y0zvEDQ2EeC0ueejuetpgA"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_CUs4XEMaEeCCw-qiU6Z1sQ" name="base_Component" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Component"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_CUs4XkMaEeCCw-qiU6Z1sQ" name="errorModel" ordered="false" eType="_U0lJ8TRoEeCPrptoDUJcNQ"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_CUs4YEMaEeCCw-qiU6Z1sQ" name="base_Property" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_CUs4aEMaEeCCw-qiU6Z1sQ" name="NFP_Real" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CUs4aUMaEeCCw-qiU6Z1sQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_Yq-MQBFQEdyUJeMeN__D-A"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_CVI8skMaEeCCw-qiU6Z1sQ" name="NFP_Duration" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CVI8s0MaEeCCw-qiU6Z1sQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_kMwX8BFREdyUJeMeN__D-A"/>
+              </eAnnotations>
+            </eClassifiers>
+          </contents>
+          <contents xmi:type="ecore:EPackage" xmi:id="_JikCIEMZEeCCw-qiU6Z1sQ" name="DependableComponent" nsURI="http://CHESS.Dependability/schemas/DependableComponent/_JiQgIEMZEeCCw-qiU6Z1sQ/3" nsPrefix="DependableComponent">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_JlidoEMZEeCCw-qiU6Z1sQ" source="PapyrusVersion">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_JlidoUMZEeCCw-qiU6Z1sQ" key="Version" value="0.0.4"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_JlidokMZEeCCw-qiU6Z1sQ" key="Comment" value=""/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Jlido0MZEeCCw-qiU6Z1sQ" key="Copyright" value=""/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_JlidpEMZEeCCw-qiU6Z1sQ" key="Date" value="2011-02-28"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_JlidpUMZEeCCw-qiU6Z1sQ" key="Author" value=""/>
+            </eAnnotations>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_JikCIUMZEeCCw-qiU6Z1sQ" name="Propagation">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_JikCIkMZEeCCw-qiU6Z1sQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_uoIV0LzuEd-yoLyJo0JlOg"/>
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_JikCI0MZEeCCw-qiU6Z1sQ" source="duplicates">
+                <contents xmi:type="ecore:EReference" xmi:id="_JikCJEMZEeCCw-qiU6Z1sQ" name="base_Abstraction" ordered="false" unique="false" lowerBound="1">
+                  <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_JikCJUMZEeCCw-qiU6Z1sQ" source="redefines">
+                    <references xmi:type="ecore:EReference" href="http://www.eclipse.org/papyrus/MARTE/1#//Alloc/Allocate/base_Abstraction"/>
+                  </eAnnotations>
+                  <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Abstraction"/>
+                </contents>
+                <contents xmi:type="ecore:EReference" xmi:id="_JikCJ0MZEeCCw-qiU6Z1sQ" name="base_Connector" ordered="false" lowerBound="1">
+                  <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_JikCKEMZEeCCw-qiU6Z1sQ" source="redefines" references="_JikCLkMZEeCCw-qiU6Z1sQ"/>
+                  <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>
+                </contents>
+              </eAnnotations>
+              <eSuperTypes xmi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/MARTE/1#//Alloc/Allocate"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_JikCLkMZEeCCw-qiU6Z1sQ" name="base_Connector" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_JikCMEMZEeCCw-qiU6Z1sQ" name="base_Comment" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Comment"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_Ji29EUMZEeCCw-qiU6Z1sQ" name="prob" ordered="false" lowerBound="1" eType="_Ji29E0MZEeCCw-qiU6Z1sQ"/>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_JjTpAEMZEeCCw-qiU6Z1sQ" name="propDelay" ordered="false" lowerBound="1" eType="_JjTpAkMZEeCCw-qiU6Z1sQ"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_JikChkMZEeCCw-qiU6Z1sQ" name="MARTE_Library_MARTE_DataTypes_VSL_Expression" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_JikCh0MZEeCCw-qiU6Z1sQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_bManMBEBEdyx6M3BlUjlCQ"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_JikCiEMZEeCCw-qiU6Z1sQ" name="MARTE_Library_BasicNFP_Types_SourceKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_JikCiUMZEeCCw-qiU6Z1sQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_oMZzEBD-EdyybZnLxHsjyA"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_JikCikMZEeCCw-qiU6Z1sQ" name="est"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_JikCi0MZEeCCw-qiU6Z1sQ" name="meas" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_JikCjEMZEeCCw-qiU6Z1sQ" name="calc" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_JikCjUMZEeCCw-qiU6Z1sQ" name="req" value="3"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_JikCjkMZEeCCw-qiU6Z1sQ" name="MARTE_Library_BasicNFP_Types_StatisticalQualifierKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_JikCj0MZEeCCw-qiU6Z1sQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_0N52EBD-EdyybZnLxHsjyA"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_JikCkEMZEeCCw-qiU6Z1sQ" name="max"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_JikCkUMZEeCCw-qiU6Z1sQ" name="min" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_JikCkkMZEeCCw-qiU6Z1sQ" name="mean" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_JikCk0MZEeCCw-qiU6Z1sQ" name="range" value="3"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_JikClEMZEeCCw-qiU6Z1sQ" name="percent" value="4"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_JikClUMZEeCCw-qiU6Z1sQ" name="distrib" value="5"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_JikClkMZEeCCw-qiU6Z1sQ" name="determ" value="6"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_JikCl0MZEeCCw-qiU6Z1sQ" name="other" value="7"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_JikCmEMZEeCCw-qiU6Z1sQ" name="variance" value="8"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_JikCmUMZEeCCw-qiU6Z1sQ" name="MARTE_Library_BasicNFP_Types_DirectionKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_JikCmkMZEeCCw-qiU6Z1sQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_vvfxEBD-EdyybZnLxHsjyA"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_JikCm0MZEeCCw-qiU6Z1sQ" name="incr"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_JikCnEMZEeCCw-qiU6Z1sQ" name="decr" value="1"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_JikCnUMZEeCCw-qiU6Z1sQ" name="MARTE_Library_MARTE_PrimitivesTypes_Real" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_JikCnkMZEeCCw-qiU6Z1sQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_beo90AnpEdy9WM11hWri2g"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_JikCn0MZEeCCw-qiU6Z1sQ" name="MARTE_Library_MARTE_PrimitivesTypes_Integer" instanceClassName="int">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_JikCoEMZEeCCw-qiU6Z1sQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_HJ1zcAnfEdy9WM11hWri2g"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_JikCrkMZEeCCw-qiU6Z1sQ" name="MARTE_Library_MeasurementUnits_TimeUnitKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_JikCr0MZEeCCw-qiU6Z1sQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_Iaa3gA4yEdysTsAUPnp57Q"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_JikCsEMZEeCCw-qiU6Z1sQ" name="s"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_JikCsUMZEeCCw-qiU6Z1sQ" name="tick" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_JikCskMZEeCCw-qiU6Z1sQ" name="ms" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_JikCs0MZEeCCw-qiU6Z1sQ" name="us" value="3"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_JikCtEMZEeCCw-qiU6Z1sQ" name="min" value="4"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_JikCtUMZEeCCw-qiU6Z1sQ" name="hrs" value="5"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_JikCtkMZEeCCw-qiU6Z1sQ" name="day" value="6"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_JikCt0MZEeCCw-qiU6Z1sQ" name="MARTE_Library_MARTE_PrimitivesTypes_String" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_JikCuEMZEeCCw-qiU6Z1sQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_qZ3GUAnxEdy9WM11hWri2g"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_JikCuUMZEeCCw-qiU6Z1sQ" name="DependableComponent">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_JikCukMZEeCCw-qiU6Z1sQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_y0zvEDQ2EeC0ueejuetpgA"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_JikCu0MZEeCCw-qiU6Z1sQ" name="base_Component" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Component"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_JikCvUMZEeCCw-qiU6Z1sQ" name="errorModel" ordered="false" eType="_U0lJ8TRoEeCPrptoDUJcNQ"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_JikCv0MZEeCCw-qiU6Z1sQ" name="base_Property" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_Ji29E0MZEeCCw-qiU6Z1sQ" name="NFP_Real" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Ji29FEMZEeCCw-qiU6Z1sQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_Yq-MQBFQEdyUJeMeN__D-A"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_JjTpAkMZEeCCw-qiU6Z1sQ" name="NFP_Duration" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_JjTpA0MZEeCCw-qiU6Z1sQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_kMwX8BFREdyUJeMeN__D-A"/>
+              </eAnnotations>
+            </eClassifiers>
+          </contents>
+          <contents xmi:type="ecore:EPackage" xmi:id="_yiDGgEDsEeC5SOtkEXPa-w" name="DependableComponent" nsURI="http://CHESS.Dependability/schemas/DependableComponent/_yh58kEDsEeC5SOtkEXPa-w/2" nsPrefix="DependableComponent">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_yk4YEEDsEeC5SOtkEXPa-w" source="PapyrusVersion">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yk4YEUDsEeC5SOtkEXPa-w" key="Version" value="0.0.3"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yk4YEkDsEeC5SOtkEXPa-w" key="Comment" value="added extension from Propagation to Comment"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yk4YE0DsEeC5SOtkEXPa-w" key="Copyright" value=""/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yk4YFEDsEeC5SOtkEXPa-w" key="Date" value="2011-02-25"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yk4YFUDsEeC5SOtkEXPa-w" key="Author" value=""/>
+            </eAnnotations>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_yiDGgUDsEeC5SOtkEXPa-w" name="Propagation">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_yiDGgkDsEeC5SOtkEXPa-w" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_uoIV0LzuEd-yoLyJo0JlOg"/>
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_yiDGg0DsEeC5SOtkEXPa-w" source="duplicates">
+                <contents xmi:type="ecore:EReference" xmi:id="_yiDGhEDsEeC5SOtkEXPa-w" name="base_Abstraction" ordered="false" unique="false" lowerBound="1">
+                  <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_yiDGhUDsEeC5SOtkEXPa-w" source="redefines">
+                    <references xmi:type="ecore:EReference" href="http://www.eclipse.org/papyrus/MARTE/1#//Alloc/Allocate/base_Abstraction"/>
+                  </eAnnotations>
+                  <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Abstraction"/>
+                </contents>
+                <contents xmi:type="ecore:EReference" xmi:id="_yiDGh0DsEeC5SOtkEXPa-w" name="base_Connector" ordered="false" lowerBound="1">
+                  <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_yiDGiEDsEeC5SOtkEXPa-w" source="redefines" references="_yiDGjkDsEeC5SOtkEXPa-w"/>
+                  <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>
+                </contents>
+              </eAnnotations>
+              <eSuperTypes xmi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/MARTE/1#//Alloc/Allocate"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_yiDGjkDsEeC5SOtkEXPa-w" name="base_Connector" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_yiDGkEDsEeC5SOtkEXPa-w" name="base_Comment" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Comment"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_yiWogEDsEeC5SOtkEXPa-w" name="prob" ordered="false" lowerBound="1" eType="_yiWogkDsEeC5SOtkEXPa-w"/>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_yizUcEDsEeC5SOtkEXPa-w" name="propDelay" ordered="false" lowerBound="1" eType="_yi8eYEDsEeC5SOtkEXPa-w"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_yiDG5kDsEeC5SOtkEXPa-w" name="MARTE_Library_MARTE_DataTypes_VSL_Expression" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_yiDG50DsEeC5SOtkEXPa-w" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_bManMBEBEdyx6M3BlUjlCQ"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_yiDG6EDsEeC5SOtkEXPa-w" name="MARTE_Library_BasicNFP_Types_SourceKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_yiDG6UDsEeC5SOtkEXPa-w" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_oMZzEBD-EdyybZnLxHsjyA"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_yiDG6kDsEeC5SOtkEXPa-w" name="est"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_yiDG60DsEeC5SOtkEXPa-w" name="meas" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_yiDG7EDsEeC5SOtkEXPa-w" name="calc" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_yiDG7UDsEeC5SOtkEXPa-w" name="req" value="3"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_yiDG7kDsEeC5SOtkEXPa-w" name="MARTE_Library_BasicNFP_Types_StatisticalQualifierKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_yiDG70DsEeC5SOtkEXPa-w" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_0N52EBD-EdyybZnLxHsjyA"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_yiDG8EDsEeC5SOtkEXPa-w" name="max"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_yiDG8UDsEeC5SOtkEXPa-w" name="min" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_yiDG8kDsEeC5SOtkEXPa-w" name="mean" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_yiDG80DsEeC5SOtkEXPa-w" name="range" value="3"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_yiDG9EDsEeC5SOtkEXPa-w" name="percent" value="4"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_yiDG9UDsEeC5SOtkEXPa-w" name="distrib" value="5"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_yiDG9kDsEeC5SOtkEXPa-w" name="determ" value="6"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_yiDG90DsEeC5SOtkEXPa-w" name="other" value="7"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_yiDG-EDsEeC5SOtkEXPa-w" name="variance" value="8"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_yiDG-UDsEeC5SOtkEXPa-w" name="MARTE_Library_BasicNFP_Types_DirectionKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_yiDG-kDsEeC5SOtkEXPa-w" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_vvfxEBD-EdyybZnLxHsjyA"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_yiDG-0DsEeC5SOtkEXPa-w" name="incr"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_yiDG_EDsEeC5SOtkEXPa-w" name="decr" value="1"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_yiDG_UDsEeC5SOtkEXPa-w" name="MARTE_Library_MARTE_PrimitivesTypes_Real" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_yiDG_kDsEeC5SOtkEXPa-w" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_beo90AnpEdy9WM11hWri2g"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_yiDG_0DsEeC5SOtkEXPa-w" name="MARTE_Library_MARTE_PrimitivesTypes_Integer" instanceClassName="int">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_yiDHAEDsEeC5SOtkEXPa-w" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_HJ1zcAnfEdy9WM11hWri2g"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_yiDHDkDsEeC5SOtkEXPa-w" name="MARTE_Library_MeasurementUnits_TimeUnitKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_yiDHD0DsEeC5SOtkEXPa-w" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_Iaa3gA4yEdysTsAUPnp57Q"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_yiDHEEDsEeC5SOtkEXPa-w" name="s"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_yiDHEUDsEeC5SOtkEXPa-w" name="tick" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_yiDHEkDsEeC5SOtkEXPa-w" name="ms" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_yiDHE0DsEeC5SOtkEXPa-w" name="us" value="3"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_yiDHFEDsEeC5SOtkEXPa-w" name="min" value="4"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_yiDHFUDsEeC5SOtkEXPa-w" name="hrs" value="5"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_yiDHFkDsEeC5SOtkEXPa-w" name="day" value="6"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_yiDHF0DsEeC5SOtkEXPa-w" name="MARTE_Library_MARTE_PrimitivesTypes_String" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_yiDHGEDsEeC5SOtkEXPa-w" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_qZ3GUAnxEdy9WM11hWri2g"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_yiDHGUDsEeC5SOtkEXPa-w" name="DependableComponent">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_yiDHGkDsEeC5SOtkEXPa-w" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_y0zvEDQ2EeC0ueejuetpgA"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_yiDHG0DsEeC5SOtkEXPa-w" name="base_Component" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Component"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_yiDHHUDsEeC5SOtkEXPa-w" name="errorModel" ordered="false" eType="_U0lJ8TRoEeCPrptoDUJcNQ"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_yiDHH0DsEeC5SOtkEXPa-w" name="base_Property" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_yiWogkDsEeC5SOtkEXPa-w" name="NFP_Real" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_yiWog0DsEeC5SOtkEXPa-w" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_Yq-MQBFQEdyUJeMeN__D-A"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_yi8eYEDsEeC5SOtkEXPa-w" name="NFP_Duration" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_yi8eYUDsEeC5SOtkEXPa-w" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_kMwX8BFREdyUJeMeN__D-A"/>
+              </eAnnotations>
+            </eClassifiers>
+          </contents>
+          <contents xmi:type="ecore:EPackage" xmi:id="_vTM18DgaEeCE2sZUGxu35w" name="DependableComponent" nsURI="http://CHESS.Dependability/schemas/DependableComponent/_vTDE8DgaEeCE2sZUGxu35w/1" nsPrefix="DependableComponent">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_vVIvoDgaEeCE2sZUGxu35w" source="PapyrusVersion">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_vVIvoTgaEeCE2sZUGxu35w" key="Version" value="0.0.2"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_vVIvojgaEeCE2sZUGxu35w" key="Comment" value="Now StateBasedComponents derive from DependableComponent"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_vVIvozgaEeCE2sZUGxu35w" key="Copyright" value=""/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_vVIvpDgaEeCE2sZUGxu35w" key="Date" value="2011-02-14"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_vVIvpTgaEeCE2sZUGxu35w" key="Author" value=""/>
+            </eAnnotations>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_vTM18TgaEeCE2sZUGxu35w" name="Propagation">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_vTM18jgaEeCE2sZUGxu35w" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_uoIV0LzuEd-yoLyJo0JlOg"/>
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_vTM18zgaEeCE2sZUGxu35w" source="duplicates">
+                <contents xmi:type="ecore:EReference" xmi:id="_vTM19DgaEeCE2sZUGxu35w" name="base_Abstraction" ordered="false" unique="false" lowerBound="1">
+                  <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_vTM19TgaEeCE2sZUGxu35w" source="redefines">
+                    <references xmi:type="ecore:EReference" href="http://www.eclipse.org/papyrus/MARTE/1#//Alloc/Allocate/base_Abstraction"/>
+                  </eAnnotations>
+                  <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Abstraction"/>
+                </contents>
+                <contents xmi:type="ecore:EReference" xmi:id="_vTM19zgaEeCE2sZUGxu35w" name="base_Connector" ordered="false" lowerBound="1">
+                  <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_vTM1-DgaEeCE2sZUGxu35w" source="redefines" references="_vTM1_jgaEeCE2sZUGxu35w"/>
+                  <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>
+                </contents>
+              </eAnnotations>
+              <eSuperTypes xmi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/MARTE/1#//Alloc/Allocate"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_vTM1_jgaEeCE2sZUGxu35w" name="base_Connector" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_vTfw4TgaEeCE2sZUGxu35w" name="prob" ordered="false" lowerBound="1" eType="_vTfw4zgaEeCE2sZUGxu35w"/>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_vTyr0DgaEeCE2sZUGxu35w" name="propDelay" ordered="false" lowerBound="1" eType="_vTyr0jgaEeCE2sZUGxu35w"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_vTM2VDgaEeCE2sZUGxu35w" name="MARTE_Library_MARTE_DataTypes_VSL_Expression" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_vTM2VTgaEeCE2sZUGxu35w" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_bManMBEBEdyx6M3BlUjlCQ"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_vTM2VjgaEeCE2sZUGxu35w" name="MARTE_Library_BasicNFP_Types_SourceKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_vTM2VzgaEeCE2sZUGxu35w" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_oMZzEBD-EdyybZnLxHsjyA"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_vTM2WDgaEeCE2sZUGxu35w" name="est"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_vTM2WTgaEeCE2sZUGxu35w" name="meas" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_vTM2WjgaEeCE2sZUGxu35w" name="calc" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_vTM2WzgaEeCE2sZUGxu35w" name="req" value="3"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_vTM2XDgaEeCE2sZUGxu35w" name="MARTE_Library_BasicNFP_Types_StatisticalQualifierKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_vTM2XTgaEeCE2sZUGxu35w" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_0N52EBD-EdyybZnLxHsjyA"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_vTM2XjgaEeCE2sZUGxu35w" name="max"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_vTM2XzgaEeCE2sZUGxu35w" name="min" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_vTM2YDgaEeCE2sZUGxu35w" name="mean" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_vTM2YTgaEeCE2sZUGxu35w" name="range" value="3"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_vTM2YjgaEeCE2sZUGxu35w" name="percent" value="4"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_vTM2YzgaEeCE2sZUGxu35w" name="distrib" value="5"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_vTM2ZDgaEeCE2sZUGxu35w" name="determ" value="6"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_vTM2ZTgaEeCE2sZUGxu35w" name="other" value="7"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_vTM2ZjgaEeCE2sZUGxu35w" name="variance" value="8"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_vTM2ZzgaEeCE2sZUGxu35w" name="MARTE_Library_BasicNFP_Types_DirectionKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_vTM2aDgaEeCE2sZUGxu35w" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_vvfxEBD-EdyybZnLxHsjyA"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_vTM2aTgaEeCE2sZUGxu35w" name="incr"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_vTM2ajgaEeCE2sZUGxu35w" name="decr" value="1"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_vTM2azgaEeCE2sZUGxu35w" name="MARTE_Library_MARTE_PrimitivesTypes_Real" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_vTM2bDgaEeCE2sZUGxu35w" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_beo90AnpEdy9WM11hWri2g"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_vTM2bTgaEeCE2sZUGxu35w" name="MARTE_Library_MARTE_PrimitivesTypes_Integer" instanceClassName="int">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_vTM2bjgaEeCE2sZUGxu35w" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_HJ1zcAnfEdy9WM11hWri2g"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_vTM2fDgaEeCE2sZUGxu35w" name="MARTE_Library_MeasurementUnits_TimeUnitKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_vTM2fTgaEeCE2sZUGxu35w" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_Iaa3gA4yEdysTsAUPnp57Q"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_vTM2fjgaEeCE2sZUGxu35w" name="s"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_vTM2fzgaEeCE2sZUGxu35w" name="tick" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_vTM2gDgaEeCE2sZUGxu35w" name="ms" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_vTM2gTgaEeCE2sZUGxu35w" name="us" value="3"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_vTM2gjgaEeCE2sZUGxu35w" name="min" value="4"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_vTM2gzgaEeCE2sZUGxu35w" name="hrs" value="5"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_vTM2hDgaEeCE2sZUGxu35w" name="day" value="6"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_vTM2hTgaEeCE2sZUGxu35w" name="MARTE_Library_MARTE_PrimitivesTypes_String" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_vTM2hjgaEeCE2sZUGxu35w" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_qZ3GUAnxEdy9WM11hWri2g"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_vTM2hzgaEeCE2sZUGxu35w" name="DependableComponent">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_vTM2iDgaEeCE2sZUGxu35w" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_y0zvEDQ2EeC0ueejuetpgA"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_vTM2iTgaEeCE2sZUGxu35w" name="base_Component" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Component"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_vTM2izgaEeCE2sZUGxu35w" name="errorModel" ordered="false" eType="_U0lJ8TRoEeCPrptoDUJcNQ"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_vTM2jTgaEeCE2sZUGxu35w" name="base_Property" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_vTfw4zgaEeCE2sZUGxu35w" name="NFP_Real" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_vTfw5DgaEeCE2sZUGxu35w" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_Yq-MQBFQEdyUJeMeN__D-A"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_vTyr0jgaEeCE2sZUGxu35w" name="NFP_Duration" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_vTyr0zgaEeCE2sZUGxu35w" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_kMwX8BFREdyUJeMeN__D-A"/>
+              </eAnnotations>
+            </eClassifiers>
+          </contents>
+          <contents xmi:type="ecore:EPackage" xmi:id="__BchsTRPEeCPrptoDUJcNQ" name="DependableComponent" nsURI="http://CHESS.Dependability/schemas/DependableComponent/__BSwsDRPEeCPrptoDUJcNQ/0" nsPrefix="DependableComponent">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__DFgcDRPEeCPrptoDUJcNQ" source="PapyrusVersion">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__DFgcTRPEeCPrptoDUJcNQ" key="Version" value="0.0.1"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__DFgcjRPEeCPrptoDUJcNQ" key="Comment" value=""/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__DFgczRPEeCPrptoDUJcNQ" key="Copyright" value=""/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__DFgdDRPEeCPrptoDUJcNQ" key="Date" value="2011-02-09"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__DFgdTRPEeCPrptoDUJcNQ" key="Author" value=""/>
+            </eAnnotations>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="__BchsjRPEeCPrptoDUJcNQ" name="Propagation">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__BchszRPEeCPrptoDUJcNQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_uoIV0LzuEd-yoLyJo0JlOg"/>
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__BchtDRPEeCPrptoDUJcNQ" source="duplicates">
+                <contents xmi:type="ecore:EReference" xmi:id="__BchtTRPEeCPrptoDUJcNQ" name="base_Abstraction" ordered="false" unique="false" lowerBound="1">
+                  <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__BchtjRPEeCPrptoDUJcNQ" source="redefines">
+                    <references xmi:type="ecore:EReference" href="http://www.eclipse.org/papyrus/MARTE/1#//Alloc/Allocate/base_Abstraction"/>
+                  </eAnnotations>
+                  <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Abstraction"/>
+                </contents>
+                <contents xmi:type="ecore:EReference" xmi:id="__BchuDRPEeCPrptoDUJcNQ" name="base_Connector" ordered="false" lowerBound="1">
+                  <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__BchuTRPEeCPrptoDUJcNQ" source="redefines" references="__BchvzRPEeCPrptoDUJcNQ"/>
+                  <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>
+                </contents>
+              </eAnnotations>
+              <eSuperTypes xmi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/MARTE/1#//Alloc/Allocate"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="__BchvzRPEeCPrptoDUJcNQ" name="base_Connector" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="__BmSsTRPEeCPrptoDUJcNQ" name="prob" ordered="false" lowerBound="1" eType="__BmSszRPEeCPrptoDUJcNQ"/>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="__B5NoDRPEeCPrptoDUJcNQ" name="propDelay" ordered="false" lowerBound="1" eType="__B5NojRPEeCPrptoDUJcNQ"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="__BciFTRPEeCPrptoDUJcNQ" name="MARTE_Library_MARTE_DataTypes_VSL_Expression" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__BciFjRPEeCPrptoDUJcNQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_bManMBEBEdyx6M3BlUjlCQ"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="__BciFzRPEeCPrptoDUJcNQ" name="MARTE_Library_BasicNFP_Types_SourceKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__BciGDRPEeCPrptoDUJcNQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_oMZzEBD-EdyybZnLxHsjyA"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="__BciGTRPEeCPrptoDUJcNQ" name="est"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="__BciGjRPEeCPrptoDUJcNQ" name="meas" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="__BciGzRPEeCPrptoDUJcNQ" name="calc" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="__BciHDRPEeCPrptoDUJcNQ" name="req" value="3"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="__BciHTRPEeCPrptoDUJcNQ" name="MARTE_Library_BasicNFP_Types_StatisticalQualifierKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__BciHjRPEeCPrptoDUJcNQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_0N52EBD-EdyybZnLxHsjyA"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="__BciHzRPEeCPrptoDUJcNQ" name="max"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="__BciIDRPEeCPrptoDUJcNQ" name="min" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="__BciITRPEeCPrptoDUJcNQ" name="mean" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="__BciIjRPEeCPrptoDUJcNQ" name="range" value="3"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="__BciIzRPEeCPrptoDUJcNQ" name="percent" value="4"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="__BciJDRPEeCPrptoDUJcNQ" name="distrib" value="5"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="__BciJTRPEeCPrptoDUJcNQ" name="determ" value="6"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="__BciJjRPEeCPrptoDUJcNQ" name="other" value="7"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="__BciJzRPEeCPrptoDUJcNQ" name="variance" value="8"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="__BciKDRPEeCPrptoDUJcNQ" name="MARTE_Library_BasicNFP_Types_DirectionKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__BciKTRPEeCPrptoDUJcNQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_vvfxEBD-EdyybZnLxHsjyA"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="__BciKjRPEeCPrptoDUJcNQ" name="incr"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="__BciKzRPEeCPrptoDUJcNQ" name="decr" value="1"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="__BciLDRPEeCPrptoDUJcNQ" name="MARTE_Library_MARTE_PrimitivesTypes_Real" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__BciLTRPEeCPrptoDUJcNQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_beo90AnpEdy9WM11hWri2g"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="__BciLjRPEeCPrptoDUJcNQ" name="MARTE_Library_MARTE_PrimitivesTypes_Integer" instanceClassName="int">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__BciLzRPEeCPrptoDUJcNQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_HJ1zcAnfEdy9WM11hWri2g"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="__BciPTRPEeCPrptoDUJcNQ" name="MARTE_Library_MeasurementUnits_TimeUnitKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__BciPjRPEeCPrptoDUJcNQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_Iaa3gA4yEdysTsAUPnp57Q"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="__BciPzRPEeCPrptoDUJcNQ" name="s"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="__BciQDRPEeCPrptoDUJcNQ" name="tick" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="__BciQTRPEeCPrptoDUJcNQ" name="ms" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="__BciQjRPEeCPrptoDUJcNQ" name="us" value="3"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="__BciQzRPEeCPrptoDUJcNQ" name="min" value="4"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="__BciRDRPEeCPrptoDUJcNQ" name="hrs" value="5"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="__BciRTRPEeCPrptoDUJcNQ" name="day" value="6"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="__BciRjRPEeCPrptoDUJcNQ" name="MARTE_Library_MARTE_PrimitivesTypes_String" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__BciRzRPEeCPrptoDUJcNQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_qZ3GUAnxEdy9WM11hWri2g"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="__BciSDRPEeCPrptoDUJcNQ" name="DependableComponent">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__BciSTRPEeCPrptoDUJcNQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_y0zvEDQ2EeC0ueejuetpgA"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="__BciSjRPEeCPrptoDUJcNQ" name="base_Component" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Component"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="__BciTDRPEeCPrptoDUJcNQ" name="errorModel" ordered="false" eType="_ljRY0TQ8EeC0ueejuetpgA"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="__BmSszRPEeCPrptoDUJcNQ" name="NFP_Real" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__BmStDRPEeCPrptoDUJcNQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_Yq-MQBFQEdyUJeMeN__D-A"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="__B5NojRPEeCPrptoDUJcNQ" name="NFP_Duration" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__B5NozRPEeCPrptoDUJcNQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_kMwX8BFREdyUJeMeN__D-A"/>
+              </eAnnotations>
+            </eClassifiers>
+          </contents>
+        </eAnnotations>
+        <elementImport xmi:type="uml:ElementImport" xmi:id="_1TXcMDQ2EeC0ueejuetpgA" alias="Component">
+          <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Component"/>
+        </elementImport>
+        <elementImport xmi:type="uml:ElementImport" xmi:id="_vslkcDQ3EeC0ueejuetpgA" alias="Abstraction">
+          <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Abstraction"/>
+        </elementImport>
+        <elementImport xmi:type="uml:ElementImport" xmi:id="_qUQRADQ7EeC0ueejuetpgA" alias="Connector">
+          <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Connector"/>
+        </elementImport>
+        <elementImport xmi:type="uml:ElementImport" xmi:id="_lh57ADgaEeCE2sZUGxu35w" alias="Property">
+          <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+        </elementImport>
+        <elementImport xmi:type="uml:ElementImport" xmi:id="_t9O3gEDsEeC5SOtkEXPa-w" alias="Comment">
+          <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Comment"/>
+        </elementImport>
+        <elementImport xmi:type="uml:ElementImport" xmi:id="_Bxaf0E7nEeCiWfCHUearZQ" alias="InstanceSpecification">
+          <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#InstanceSpecification"/>
+        </elementImport>
+        <packagedElement xmi:type="uml:Stereotype" xmi:id="_uoIV0LzuEd-yoLyJo0JlOg" name="Propagation">
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_2sU1wLzuEd-yoLyJo0JlOg" name="prob" visibility="public">
+            <type xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_Yq-MQBFQEdyUJeMeN__D-A"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4EZb8LzuEd-yoLyJo0JlOg" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4EZb8bzuEd-yoLyJo0JlOg" value="1"/>
+            <defaultValue xmi:type="uml:LiteralString" xmi:id="_4EjM8LzuEd-yoLyJo0JlOg">
+              <value xsi:nil="true"/>
+            </defaultValue>
+          </ownedAttribute>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_4d4S8LzuEd-yoLyJo0JlOg" name="propDelay" visibility="public">
+            <type xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_kMwX8BFREdyUJeMeN__D-A"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_6WI1ELzuEd-yoLyJo0JlOg" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_6WI1EbzuEd-yoLyJo0JlOg" value="1"/>
+            <defaultValue xmi:type="uml:LiteralString" xmi:id="_6WSmELzuEd-yoLyJo0JlOg">
+              <value xsi:nil="true"/>
+            </defaultValue>
+          </ownedAttribute>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_wK1msDQ3EeC0ueejuetpgA" name="base_Abstraction" association="_wK1msTQ3EeC0ueejuetpgA">
+            <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Abstraction"/>
+          </ownedAttribute>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_IykvoEMZEeCCw-qiU6Z1sQ" name="base_Comment" association="_IykvoUMZEeCCw-qiU6Z1sQ">
+            <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Comment"/>
+          </ownedAttribute>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_iFqVwEMfEeCCw-qiU6Z1sQ" name="base_Connector" association="_iFqVwUMfEeCCw-qiU6Z1sQ">
+            <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Connector"/>
+          </ownedAttribute>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_CsbWkE7nEeCiWfCHUearZQ" name="base_InstanceSpecification" association="_CsbWkU7nEeCiWfCHUearZQ">
+            <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#InstanceSpecification"/>
+          </ownedAttribute>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_fiHokFqlEeCgwNmo13tekQ" name="transfFunct" visibility="public">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iJBZYFqlEeCgwNmo13tekQ"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iJKjUFqlEeCgwNmo13tekQ" value="*"/>
+            <defaultValue xmi:type="uml:LiteralString" xmi:id="_iJeFUFqlEeCgwNmo13tekQ">
+              <value xsi:nil="true"/>
+            </defaultValue>
+          </ownedAttribute>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_mPJhQFqlEeCgwNmo13tekQ" name="base_Transition" association="_mPJhQVqlEeCgwNmo13tekQ">
+            <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Transition"/>
+          </ownedAttribute>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_l_L0UKehEeCXsNuM83eyAA" name="weight" visibility="public">
+            <type xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_Yq-MQBFQEdyUJeMeN__D-A"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_o-TQ0KehEeCXsNuM83eyAA"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_o-dB0KehEeCXsNuM83eyAA" value="1"/>
+            <defaultValue xmi:type="uml:LiteralString" xmi:id="_o-mLwKehEeCXsNuM83eyAA">
+              <value xsi:nil="true"/>
+            </defaultValue>
+          </ownedAttribute>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Stereotype" xmi:id="_y0zvEDQ2EeC0ueejuetpgA" name="DependableComponent">
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_1n7W8DQ2EeC0ueejuetpgA" name="base_Component" association="_1n7W8TQ2EeC0ueejuetpgA">
+            <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Component"/>
+          </ownedAttribute>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_5ti_IDRPEeCPrptoDUJcNQ" name="errorModel" visibility="public" type="_90It8DQ3EeC0ueejuetpgA">
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_8KBBkDRPEeCPrptoDUJcNQ"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_8KKLgDRPEeCPrptoDUJcNQ" value="1"/>
+            <defaultValue xmi:type="uml:LiteralString" xmi:id="_8KKLgTRPEeCPrptoDUJcNQ">
+              <value xsi:nil="true"/>
+            </defaultValue>
+          </ownedAttribute>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_mJZY0DgaEeCE2sZUGxu35w" name="base_Property" association="_mJZY0TgaEeCE2sZUGxu35w">
+            <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+          </ownedAttribute>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Extension" xmi:id="_1n7W8TQ2EeC0ueejuetpgA" name="E_DependableComponent_Component0" memberEnd="_1n7W8jQ2EeC0ueejuetpgA _1n7W8DQ2EeC0ueejuetpgA">
+          <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_1n7W8jQ2EeC0ueejuetpgA" name="extension_DependableComponent" type="_y0zvEDQ2EeC0ueejuetpgA" aggregation="composite" association="_1n7W8TQ2EeC0ueejuetpgA"/>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Extension" xmi:id="_wK1msTQ3EeC0ueejuetpgA" name="E_Propagation_Abstraction0" memberEnd="_wK1msjQ3EeC0ueejuetpgA _wK1msDQ3EeC0ueejuetpgA">
+          <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_wK1msjQ3EeC0ueejuetpgA" name="extension_Propagation" type="_uoIV0LzuEd-yoLyJo0JlOg" aggregation="composite" association="_wK1msTQ3EeC0ueejuetpgA"/>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Extension" xmi:id="_mJZY0TgaEeCE2sZUGxu35w" name="E_DependableComponent_Property0" memberEnd="_mJZY0jgaEeCE2sZUGxu35w _mJZY0DgaEeCE2sZUGxu35w">
+          <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_mJZY0jgaEeCE2sZUGxu35w" name="extension_DependableComponent" type="_y0zvEDQ2EeC0ueejuetpgA" aggregation="composite" association="_mJZY0TgaEeCE2sZUGxu35w"/>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Extension" xmi:id="_IykvoUMZEeCCw-qiU6Z1sQ" name="E_Propagation_Comment0" memberEnd="_IykvokMZEeCCw-qiU6Z1sQ _IykvoEMZEeCCw-qiU6Z1sQ">
+          <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_IykvokMZEeCCw-qiU6Z1sQ" name="extension_Propagation" type="_uoIV0LzuEd-yoLyJo0JlOg" aggregation="composite" association="_IykvoUMZEeCCw-qiU6Z1sQ"/>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Extension" xmi:id="_iFqVwUMfEeCCw-qiU6Z1sQ" name="E_Propagation_Connector0" memberEnd="_iFqVwkMfEeCCw-qiU6Z1sQ _iFqVwEMfEeCCw-qiU6Z1sQ">
+          <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_iFqVwkMfEeCCw-qiU6Z1sQ" name="extension_Propagation" type="_uoIV0LzuEd-yoLyJo0JlOg" aggregation="composite" association="_iFqVwUMfEeCCw-qiU6Z1sQ"/>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Extension" xmi:id="_CsbWkU7nEeCiWfCHUearZQ" name="E_Propagation_InstanceSpecification0" memberEnd="_CsbWkk7nEeCiWfCHUearZQ _CsbWkE7nEeCiWfCHUearZQ">
+          <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_CsbWkk7nEeCiWfCHUearZQ" name="extension_Propagation" type="_uoIV0LzuEd-yoLyJo0JlOg" aggregation="composite" association="_CsbWkU7nEeCiWfCHUearZQ"/>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Extension" xmi:id="_mPJhQVqlEeCgwNmo13tekQ" name="E_Propagation_Transition0" memberEnd="_mPJhQlqlEeCgwNmo13tekQ _mPJhQFqlEeCgwNmo13tekQ">
+          <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_mPJhQlqlEeCgwNmo13tekQ" name="extension_Propagation" type="_uoIV0LzuEd-yoLyJo0JlOg" aggregation="composite" association="_mPJhQVqlEeCgwNmo13tekQ"/>
+        </packagedElement>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Profile" xmi:id="_5g4wEDQ3EeC0ueejuetpgA" name="ThreatsPropagation" URI="http://CHESS/Dependability/ThreatsPropagation" metaclassReference="_AGLpEDQ4EeC0ueejuetpgA _EsXKADQ4EeC0ueejuetpgA _YOEPEDQ4EeC0ueejuetpgA">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ljHn0DQ8EeC0ueejuetpgA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+          <contents xmi:type="ecore:EPackage" xmi:id="_aeBTcI5vEeOjpOW2pJw89Q" name="ThreatsPropagation" nsURI="http://CHESS/Dependability/ThreatsPropagation" nsPrefix="ThreatsPropagation">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ai3-QI5vEeOjpOW2pJw89Q" source="PapyrusVersion">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ai3-QY5vEeOjpOW2pJw89Q" key="Version" value="0.0.10"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ai3-Qo5vEeOjpOW2pJw89Q" key="Comment" value=""/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ai3-Q45vEeOjpOW2pJw89Q" key="Copyright" value=""/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ai3-RI5vEeOjpOW2pJw89Q" key="Date" value="2014-02-05"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ai3-RY5vEeOjpOW2pJw89Q" key="Author" value=""/>
+            </eAnnotations>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_aeBTcY5vEeOjpOW2pJw89Q" name="ErrorModel">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_aeBTco5vEeOjpOW2pJw89Q" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_90It8DQ3EeC0ueejuetpgA"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_aeBTc45vEeOjpOW2pJw89Q" name="base_StateMachine" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//StateMachine"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_aeBTdY5vEeOjpOW2pJw89Q" name="InternalFault">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_aeBTdo5vEeOjpOW2pJw89Q" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_C7ZisDQ4EeC0ueejuetpgA"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_aeBTd45vEeOjpOW2pJw89Q" name="base_Transition" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_aeBTe45vEeOjpOW2pJw89Q" name="transfFunct" ordered="false">
+                <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_aeBTfY5vEeOjpOW2pJw89Q" name="property" ordered="false">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_aeBTf45vEeOjpOW2pJw89Q" name="childFailure" ordered="false">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_aeBTgY5vEeOjpOW2pJw89Q" name="occurrence" ordered="false">
+                <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_aeBTg45vEeOjpOW2pJw89Q" name="transientDuration" ordered="false">
+                <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_aeXRsI5vEeOjpOW2pJw89Q" name="permanentProb" ordered="false" lowerBound="1" eType="_aeXRso5vEeOjpOW2pJw89Q"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_aeBT2I5vEeOjpOW2pJw89Q" name="MARTE_Library_MARTE_DataTypes_VSL_Expression" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_aeBT2Y5vEeOjpOW2pJw89Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_bManMBEBEdyx6M3BlUjlCQ"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_aeBT2o5vEeOjpOW2pJw89Q" name="MARTE_Library_BasicNFP_Types_SourceKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_aeBT245vEeOjpOW2pJw89Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_oMZzEBD-EdyybZnLxHsjyA"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_aeBT3I5vEeOjpOW2pJw89Q" name="est"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_aeBT3Y5vEeOjpOW2pJw89Q" name="meas" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_aeBT3o5vEeOjpOW2pJw89Q" name="calc" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_aeBT345vEeOjpOW2pJw89Q" name="req" value="3"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_aeBT4I5vEeOjpOW2pJw89Q" name="MARTE_Library_BasicNFP_Types_StatisticalQualifierKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_aeBT4Y5vEeOjpOW2pJw89Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_0N52EBD-EdyybZnLxHsjyA"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_aeBT4o5vEeOjpOW2pJw89Q" name="max"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_aeBT445vEeOjpOW2pJw89Q" name="min" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_aeBT5I5vEeOjpOW2pJw89Q" name="mean" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_aeBT5Y5vEeOjpOW2pJw89Q" name="range" value="3"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_aeBT5o5vEeOjpOW2pJw89Q" name="percent" value="4"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_aeBT545vEeOjpOW2pJw89Q" name="distrib" value="5"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_aeBT6I5vEeOjpOW2pJw89Q" name="determ" value="6"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_aeBT6Y5vEeOjpOW2pJw89Q" name="other" value="7"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_aeBT6o5vEeOjpOW2pJw89Q" name="variance" value="8"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_aeBT645vEeOjpOW2pJw89Q" name="MARTE_Library_BasicNFP_Types_DirectionKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_aeBT7I5vEeOjpOW2pJw89Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_vvfxEBD-EdyybZnLxHsjyA"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_aeBT7Y5vEeOjpOW2pJw89Q" name="incr"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_aeBT7o5vEeOjpOW2pJw89Q" name="decr" value="1"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_aeBT745vEeOjpOW2pJw89Q" name="MARTE_Library_MARTE_PrimitivesTypes_Real" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_aeBT8I5vEeOjpOW2pJw89Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_beo90AnpEdy9WM11hWri2g"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_aeBT8Y5vEeOjpOW2pJw89Q" name="MARTE_Library_MARTE_PrimitivesTypes_Integer" instanceClassName="int">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_aeBT8o5vEeOjpOW2pJw89Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_HJ1zcAnfEdy9WM11hWri2g"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_aeBT845vEeOjpOW2pJw89Q" name="ExternalFault">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_aeBT9I5vEeOjpOW2pJw89Q" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_OKTEEDQ4EeC0ueejuetpgA"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_aeBT9Y5vEeOjpOW2pJw89Q" name="base_Transition" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_aeBT945vEeOjpOW2pJw89Q" name="fromPort" ordered="false" lowerBound="1" upperBound="-1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_aeBT-Y5vEeOjpOW2pJw89Q" name="propagationCondition" ordered="false">
+                <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_aeBT_Y5vEeOjpOW2pJw89Q" name="unit" ordered="false">
+                <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_aeBT_45vEeOjpOW2pJw89Q" name="type" ordered="false" lowerBound="1" eType="_aeBUA45vEeOjpOW2pJw89Q"/>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_aeBUAY5vEeOjpOW2pJw89Q" name="transfFunct" ordered="false" upperBound="-1">
+                <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_afXXQI5vEeOjpOW2pJw89Q" name="probability" ordered="false" lowerBound="1" eType="_aeXRso5vEeOjpOW2pJw89Q"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_aeBUA45vEeOjpOW2pJw89Q" name="DurationType">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_aeBUBI5vEeOjpOW2pJw89Q" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_hh4TEKcTEeCLJKy7uMU5GA"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_aeBUBY5vEeOjpOW2pJw89Q" name="transient"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_aeBUBo5vEeOjpOW2pJw89Q" name="permanent" value="1"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_aeBUB45vEeOjpOW2pJw89Q" name="Error" eSuperTypes="_aeBUDo5vEeOjpOW2pJw89Q">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_aeBUCI5vEeOjpOW2pJw89Q" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_W3CKsDQ4EeC0ueejuetpgA"/>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_aeBUCY5vEeOjpOW2pJw89Q" name="type" ordered="false" lowerBound="1" eType="_aeBUA45vEeOjpOW2pJw89Q"/>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_aeBUC45vEeOjpOW2pJw89Q" name="vanishingTime" ordered="false">
+                <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_aeBUDo5vEeOjpOW2pJw89Q" name="ThreatState">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_aeBUD45vEeOjpOW2pJw89Q" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_C-dwsL9UEeCOtecSzivGvQ"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_aeBUEI5vEeOjpOW2pJw89Q" name="base_State" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_aeBUFI5vEeOjpOW2pJw89Q" name="unit" ordered="false">
+                <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_agCFoI5vEeOjpOW2pJw89Q" name="probability" ordered="false" lowerBound="1" eType="_aeXRso5vEeOjpOW2pJw89Q"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_aeBUFo5vEeOjpOW2pJw89Q" name="ErrorFree" eSuperTypes="_aeBUDo5vEeOjpOW2pJw89Q">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_aeBUF45vEeOjpOW2pJw89Q" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_cUpC4DQ4EeC0ueejuetpgA"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_aeBUGY5vEeOjpOW2pJw89Q" name="UnclassifiedError" eSuperTypes="_aeBUDo5vEeOjpOW2pJw89Q">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_aeBUGo5vEeOjpOW2pJw89Q" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_eg3C0DQ4EeC0ueejuetpgA"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_aeBUHI5vEeOjpOW2pJw89Q" name="FailureMode" eSuperTypes="_aeBUDo5vEeOjpOW2pJw89Q">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_aeBUHY5vEeOjpOW2pJw89Q" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_gtsGwDQ4EeC0ueejuetpgA"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_aeBUHo5vEeOjpOW2pJw89Q" name="affectedPorts" ordered="false" upperBound="-1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_aeBUII5vEeOjpOW2pJw89Q" name="type" ordered="false" lowerBound="1" eType="_aeBUA45vEeOjpOW2pJw89Q"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_aeBUI45vEeOjpOW2pJw89Q" name="FailureFree" eSuperTypes="_aeBUDo5vEeOjpOW2pJw89Q">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_aeBUJI5vEeOjpOW2pJw89Q" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_-BcuMKcXEeCLJKy7uMU5GA"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_aeBUJo5vEeOjpOW2pJw89Q" name="UnclassifiedFailure" eSuperTypes="_aeBUDo5vEeOjpOW2pJw89Q">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_aeBUJ45vEeOjpOW2pJw89Q" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_WsXTUKcZEeCLJKy7uMU5GA"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_aeBUKY5vEeOjpOW2pJw89Q" name="StuckAt">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_aeBUKo5vEeOjpOW2pJw89Q" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_yQjfEImOEeODrcgAiMzRCg"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_aeBUK45vEeOjpOW2pJw89Q" name="property" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_aeBULY5vEeOjpOW2pJw89Q" name="value" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_aeBUL45vEeOjpOW2pJw89Q" name="base_State" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_aeBUMY5vEeOjpOW2pJw89Q" name="StuckAtFixed">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_aeBUMo5vEeOjpOW2pJw89Q" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_Et5L0I5rEeOCpeH37jWMhw"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_aeBUM45vEeOjpOW2pJw89Q" name="base_State" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_aeBUNY5vEeOjpOW2pJw89Q" name="property" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_aeBUN45vEeOjpOW2pJw89Q" name="Inverted">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_aeBUOI5vEeOjpOW2pJw89Q" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_F1BL8I5rEeOCpeH37jWMhw"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_aeBUOY5vEeOjpOW2pJw89Q" name="base_State" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_aeBUO45vEeOjpOW2pJw89Q" name="property" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_aeBUPY5vEeOjpOW2pJw89Q" name="RampDown">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_aeBUPo5vEeOjpOW2pJw89Q" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_GdDcUI5rEeOCpeH37jWMhw"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_aeBUP45vEeOjpOW2pJw89Q" name="base_State" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_aeBUQY5vEeOjpOW2pJw89Q" name="property" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_aeBUQ45vEeOjpOW2pJw89Q" name="decr" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_aeBURY5vEeOjpOW2pJw89Q" name="endValue" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_aeXRso5vEeOjpOW2pJw89Q" name="NFP_Real" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_aeXRs45vEeOjpOW2pJw89Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_Yq-MQBFQEdyUJeMeN__D-A"/>
+              </eAnnotations>
+            </eClassifiers>
+          </contents>
+          <contents xmi:type="ecore:EPackage" xmi:id="_CEv30I2FEeOAr5SJygOCbw" name="ThreatsPropagation" nsURI="http://CHESS/Dependability/ThreatsPropagation" nsPrefix="ThreatsPropagation">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CO6gcI2FEeOAr5SJygOCbw" source="PapyrusVersion">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_CO6gcY2FEeOAr5SJygOCbw" key="Version" value="0.0.9"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_CO6gco2FEeOAr5SJygOCbw" key="Comment" value=""/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_CO6gc42FEeOAr5SJygOCbw" key="Copyright" value=""/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_CO6gdI2FEeOAr5SJygOCbw" key="Date" value="2014-02-04"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_CO6gdY2FEeOAr5SJygOCbw" key="Author" value=""/>
+            </eAnnotations>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_CEv30Y2FEeOAr5SJygOCbw" name="ErrorModel">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CEv30o2FEeOAr5SJygOCbw" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_90It8DQ3EeC0ueejuetpgA"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_CEv3042FEeOAr5SJygOCbw" name="base_StateMachine" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//StateMachine"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_CEv31Y2FEeOAr5SJygOCbw" name="InternalFault">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CEv31o2FEeOAr5SJygOCbw" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_C7ZisDQ4EeC0ueejuetpgA"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_CEv3142FEeOAr5SJygOCbw" name="base_Transition" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_CEv3242FEeOAr5SJygOCbw" name="transfFunct" ordered="false">
+                <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_CEv33Y2FEeOAr5SJygOCbw" name="property" ordered="false">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_CEv3342FEeOAr5SJygOCbw" name="childFailure" ordered="false">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_CEv34Y2FEeOAr5SJygOCbw" name="occurrence" ordered="false">
+                <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_CEv3442FEeOAr5SJygOCbw" name="transientDuration" ordered="false">
+                <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_CFeQkI2FEeOAr5SJygOCbw" name="permanentProb" ordered="false" lowerBound="1" eType="_CFeQko2FEeOAr5SJygOCbw"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_CEv4OI2FEeOAr5SJygOCbw" name="MARTE_Library_MARTE_DataTypes_VSL_Expression" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CEv4OY2FEeOAr5SJygOCbw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_bManMBEBEdyx6M3BlUjlCQ"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_CEv4Oo2FEeOAr5SJygOCbw" name="MARTE_Library_BasicNFP_Types_SourceKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CEv4O42FEeOAr5SJygOCbw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_oMZzEBD-EdyybZnLxHsjyA"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_CEv4PI2FEeOAr5SJygOCbw" name="est"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_CEv4PY2FEeOAr5SJygOCbw" name="meas" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_CEv4Po2FEeOAr5SJygOCbw" name="calc" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_CEv4P42FEeOAr5SJygOCbw" name="req" value="3"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_CEv4QI2FEeOAr5SJygOCbw" name="MARTE_Library_BasicNFP_Types_StatisticalQualifierKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CEv4QY2FEeOAr5SJygOCbw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_0N52EBD-EdyybZnLxHsjyA"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_CEv4Qo2FEeOAr5SJygOCbw" name="max"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_CEv4Q42FEeOAr5SJygOCbw" name="min" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_CEv4RI2FEeOAr5SJygOCbw" name="mean" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_CEv4RY2FEeOAr5SJygOCbw" name="range" value="3"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_CEv4Ro2FEeOAr5SJygOCbw" name="percent" value="4"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_CEv4R42FEeOAr5SJygOCbw" name="distrib" value="5"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_CEv4SI2FEeOAr5SJygOCbw" name="determ" value="6"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_CEv4SY2FEeOAr5SJygOCbw" name="other" value="7"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_CEv4So2FEeOAr5SJygOCbw" name="variance" value="8"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_CEv4S42FEeOAr5SJygOCbw" name="MARTE_Library_BasicNFP_Types_DirectionKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CEv4TI2FEeOAr5SJygOCbw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_vvfxEBD-EdyybZnLxHsjyA"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_CEv4TY2FEeOAr5SJygOCbw" name="incr"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_CEv4To2FEeOAr5SJygOCbw" name="decr" value="1"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_CEv4T42FEeOAr5SJygOCbw" name="MARTE_Library_MARTE_PrimitivesTypes_Real" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CEv4UI2FEeOAr5SJygOCbw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_beo90AnpEdy9WM11hWri2g"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_CEv4UY2FEeOAr5SJygOCbw" name="MARTE_Library_MARTE_PrimitivesTypes_Integer" instanceClassName="int">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CEv4Uo2FEeOAr5SJygOCbw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_HJ1zcAnfEdy9WM11hWri2g"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_CEv4U42FEeOAr5SJygOCbw" name="ExternalFault">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CEv4VI2FEeOAr5SJygOCbw" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_OKTEEDQ4EeC0ueejuetpgA"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_CEv4VY2FEeOAr5SJygOCbw" name="base_Transition" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_CEv4V42FEeOAr5SJygOCbw" name="fromPort" ordered="false" lowerBound="1" upperBound="-1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_CEv4WY2FEeOAr5SJygOCbw" name="propagationCondition" ordered="false">
+                <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_CEwe4I2FEeOAr5SJygOCbw" name="unit" ordered="false">
+                <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_CEwe4o2FEeOAr5SJygOCbw" name="type" ordered="false" lowerBound="1" eType="_CEwe5o2FEeOAr5SJygOCbw"/>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_CEwe5I2FEeOAr5SJygOCbw" name="transfFunct" ordered="false" upperBound="-1">
+                <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_CH3dQI2FEeOAr5SJygOCbw" name="probability" ordered="false" lowerBound="1" eType="_CFeQko2FEeOAr5SJygOCbw"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_CEwe5o2FEeOAr5SJygOCbw" name="DurationType">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CEwe542FEeOAr5SJygOCbw" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_hh4TEKcTEeCLJKy7uMU5GA"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_CEwe6I2FEeOAr5SJygOCbw" name="transient"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_CEwe6Y2FEeOAr5SJygOCbw" name="permanent" value="1"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_CEwe6o2FEeOAr5SJygOCbw" name="Error" eSuperTypes="_CEwe8Y2FEeOAr5SJygOCbw">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CEwe642FEeOAr5SJygOCbw" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_W3CKsDQ4EeC0ueejuetpgA"/>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_CEwe7I2FEeOAr5SJygOCbw" name="type" ordered="false" lowerBound="1" eType="_CEwe5o2FEeOAr5SJygOCbw"/>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_CEwe7o2FEeOAr5SJygOCbw" name="vanishingTime" ordered="false">
+                <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_CEwe8Y2FEeOAr5SJygOCbw" name="ThreatState">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CEwe8o2FEeOAr5SJygOCbw" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_C-dwsL9UEeCOtecSzivGvQ"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_CEwe842FEeOAr5SJygOCbw" name="base_State" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_CEwe942FEeOAr5SJygOCbw" name="unit" ordered="false">
+                <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_CJt3YI2FEeOAr5SJygOCbw" name="probability" ordered="false" lowerBound="1" eType="_CFeQko2FEeOAr5SJygOCbw"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_CEwe-Y2FEeOAr5SJygOCbw" name="ErrorFree" eSuperTypes="_CEwe8Y2FEeOAr5SJygOCbw">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CEwe-o2FEeOAr5SJygOCbw" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_cUpC4DQ4EeC0ueejuetpgA"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_CEwe_I2FEeOAr5SJygOCbw" name="UnclassifiedError" eSuperTypes="_CEwe8Y2FEeOAr5SJygOCbw">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CEwe_Y2FEeOAr5SJygOCbw" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_eg3C0DQ4EeC0ueejuetpgA"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_CEwe_42FEeOAr5SJygOCbw" name="FailureMode" eSuperTypes="_CEwe8Y2FEeOAr5SJygOCbw">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CEwfAI2FEeOAr5SJygOCbw" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_gtsGwDQ4EeC0ueejuetpgA"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_CEwfAY2FEeOAr5SJygOCbw" name="affectedPorts" ordered="false" upperBound="-1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_CEwfA42FEeOAr5SJygOCbw" name="type" ordered="false" lowerBound="1" eType="_CEwe5o2FEeOAr5SJygOCbw"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_CEwfBo2FEeOAr5SJygOCbw" name="FailureFree" eSuperTypes="_CEwe8Y2FEeOAr5SJygOCbw">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CEwfB42FEeOAr5SJygOCbw" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_-BcuMKcXEeCLJKy7uMU5GA"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_CEwfCY2FEeOAr5SJygOCbw" name="UnclassifiedFailure" eSuperTypes="_CEwe8Y2FEeOAr5SJygOCbw">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CEwfCo2FEeOAr5SJygOCbw" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_WsXTUKcZEeCLJKy7uMU5GA"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_CEwfDI2FEeOAr5SJygOCbw" name="EffectMode">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CEwfDY2FEeOAr5SJygOCbw" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_yQjfEImOEeODrcgAiMzRCg"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_CEwfDo2FEeOAr5SJygOCbw" name="property" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_CEwfEI2FEeOAr5SJygOCbw" name="value" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_CEwfEo2FEeOAr5SJygOCbw" name="effectType" ordered="false" lowerBound="1" eType="_CEwfFo2FEeOAr5SJygOCbw"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_CEwfFI2FEeOAr5SJygOCbw" name="base_State" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_CEwfFo2FEeOAr5SJygOCbw" name="EffectModesEnum">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CEwfF42FEeOAr5SJygOCbw" source="http://www.eclipse.org/uml2/2.0.0/UML"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_CEwfGI2FEeOAr5SJygOCbw" name="StuckAt"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_CEwfGY2FEeOAr5SJygOCbw" name="StuckAtFixed" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_CEwfGo2FEeOAr5SJygOCbw" name="Inverted" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_CEwfG42FEeOAr5SJygOCbw" name="RampDown" value="3"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_CFeQko2FEeOAr5SJygOCbw" name="NFP_Real" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CFeQk42FEeOAr5SJygOCbw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_Yq-MQBFQEdyUJeMeN__D-A"/>
+              </eAnnotations>
+            </eClassifiers>
+          </contents>
+          <contents xmi:type="ecore:EPackage" xmi:id="_G6dRQI1_EeOAr5SJygOCbw" name="ThreatsPropagation" nsURI="http://CHESS/Dependability/ThreatsPropagation" nsPrefix="ThreatsPropagation">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_G-VrsI1_EeOAr5SJygOCbw" source="PapyrusVersion">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_G-VrsY1_EeOAr5SJygOCbw" key="Version" value="0.0.8"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_G-Vrso1_EeOAr5SJygOCbw" key="Comment" value=""/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_G-Vrs41_EeOAr5SJygOCbw" key="Copyright" value=""/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_G-VrtI1_EeOAr5SJygOCbw" key="Date" value="2014-02-04"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_G-VrtY1_EeOAr5SJygOCbw" key="Author" value=""/>
+            </eAnnotations>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_G6dRQY1_EeOAr5SJygOCbw" name="ErrorModel">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_G6dRQo1_EeOAr5SJygOCbw" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_90It8DQ3EeC0ueejuetpgA"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_G6dRQ41_EeOAr5SJygOCbw" name="base_StateMachine" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//StateMachine"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_G6dRRY1_EeOAr5SJygOCbw" name="InternalFault">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_G6dRRo1_EeOAr5SJygOCbw" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_C7ZisDQ4EeC0ueejuetpgA"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_G6dRR41_EeOAr5SJygOCbw" name="base_Transition" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_G6dRS41_EeOAr5SJygOCbw" name="transfFunct" ordered="false">
+                <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_G6dRTY1_EeOAr5SJygOCbw" name="property" ordered="false">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_G6dRT41_EeOAr5SJygOCbw" name="childFailure" ordered="false">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_G6dRUY1_EeOAr5SJygOCbw" name="occurrence" ordered="false">
+                <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_G6dRU41_EeOAr5SJygOCbw" name="transientDuration" ordered="false">
+                <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_G6xaUI1_EeOAr5SJygOCbw" name="permanentProb" ordered="false" lowerBound="1" eType="_G6xaUo1_EeOAr5SJygOCbw"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_G6dRqI1_EeOAr5SJygOCbw" name="MARTE_Library_MARTE_DataTypes_VSL_Expression" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_G6dRqY1_EeOAr5SJygOCbw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_bManMBEBEdyx6M3BlUjlCQ"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_G6dRqo1_EeOAr5SJygOCbw" name="MARTE_Library_BasicNFP_Types_SourceKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_G6dRq41_EeOAr5SJygOCbw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_oMZzEBD-EdyybZnLxHsjyA"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_G6dRrI1_EeOAr5SJygOCbw" name="est"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_G6dRrY1_EeOAr5SJygOCbw" name="meas" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_G6dRro1_EeOAr5SJygOCbw" name="calc" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_G6dRr41_EeOAr5SJygOCbw" name="req" value="3"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_G6dRsI1_EeOAr5SJygOCbw" name="MARTE_Library_BasicNFP_Types_StatisticalQualifierKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_G6dRsY1_EeOAr5SJygOCbw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_0N52EBD-EdyybZnLxHsjyA"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_G6dRso1_EeOAr5SJygOCbw" name="max"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_G6dRs41_EeOAr5SJygOCbw" name="min" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_G6dRtI1_EeOAr5SJygOCbw" name="mean" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_G6dRtY1_EeOAr5SJygOCbw" name="range" value="3"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_G6dRto1_EeOAr5SJygOCbw" name="percent" value="4"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_G6dRt41_EeOAr5SJygOCbw" name="distrib" value="5"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_G6dRuI1_EeOAr5SJygOCbw" name="determ" value="6"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_G6dRuY1_EeOAr5SJygOCbw" name="other" value="7"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_G6dRuo1_EeOAr5SJygOCbw" name="variance" value="8"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_G6dRu41_EeOAr5SJygOCbw" name="MARTE_Library_BasicNFP_Types_DirectionKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_G6dRvI1_EeOAr5SJygOCbw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_vvfxEBD-EdyybZnLxHsjyA"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_G6dRvY1_EeOAr5SJygOCbw" name="incr"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_G6dRvo1_EeOAr5SJygOCbw" name="decr" value="1"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_G6dRv41_EeOAr5SJygOCbw" name="MARTE_Library_MARTE_PrimitivesTypes_Real" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_G6dRwI1_EeOAr5SJygOCbw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_beo90AnpEdy9WM11hWri2g"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_G6dRwY1_EeOAr5SJygOCbw" name="MARTE_Library_MARTE_PrimitivesTypes_Integer" instanceClassName="int">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_G6dRwo1_EeOAr5SJygOCbw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_HJ1zcAnfEdy9WM11hWri2g"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_G6dRw41_EeOAr5SJygOCbw" name="ExternalFault">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_G6dRxI1_EeOAr5SJygOCbw" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_OKTEEDQ4EeC0ueejuetpgA"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_G6dRxY1_EeOAr5SJygOCbw" name="base_Transition" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_G6dRx41_EeOAr5SJygOCbw" name="fromPort" ordered="false" lowerBound="1" upperBound="-1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_G6dRyY1_EeOAr5SJygOCbw" name="propagationCondition" ordered="false">
+                <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_G6dRzY1_EeOAr5SJygOCbw" name="unit" ordered="false">
+                <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_G6dRz41_EeOAr5SJygOCbw" name="type" ordered="false" lowerBound="1" eType="_G6dR041_EeOAr5SJygOCbw"/>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_G6dR0Y1_EeOAr5SJygOCbw" name="transfFunct" ordered="false" upperBound="-1">
+                <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_G7o9AI1_EeOAr5SJygOCbw" name="probability" ordered="false" lowerBound="1" eType="_G6xaUo1_EeOAr5SJygOCbw"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_G6dR041_EeOAr5SJygOCbw" name="DurationType">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_G6dR1I1_EeOAr5SJygOCbw" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_hh4TEKcTEeCLJKy7uMU5GA"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_G6dR1Y1_EeOAr5SJygOCbw" name="transient"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_G6dR1o1_EeOAr5SJygOCbw" name="permanent" value="1"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_G6dR141_EeOAr5SJygOCbw" name="Error" eSuperTypes="_G6dR3o1_EeOAr5SJygOCbw">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_G6dR2I1_EeOAr5SJygOCbw" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_W3CKsDQ4EeC0ueejuetpgA"/>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_G6dR2Y1_EeOAr5SJygOCbw" name="type" ordered="false" lowerBound="1" eType="_G6dR041_EeOAr5SJygOCbw"/>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_G6dR241_EeOAr5SJygOCbw" name="vanishingTime" ordered="false">
+                <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_G6dR3o1_EeOAr5SJygOCbw" name="ThreatState">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_G6dR341_EeOAr5SJygOCbw" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_C-dwsL9UEeCOtecSzivGvQ"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_G6dR4I1_EeOAr5SJygOCbw" name="base_State" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_G6d4UY1_EeOAr5SJygOCbw" name="unit" ordered="false">
+                <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_G6d4U41_EeOAr5SJygOCbw" name="effectModel" ordered="false" eType="_G6d4VY1_EeOAr5SJygOCbw"/>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_G8VgkI1_EeOAr5SJygOCbw" name="probability" ordered="false" lowerBound="1" eType="_G6xaUo1_EeOAr5SJygOCbw"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_G6d4VY1_EeOAr5SJygOCbw" name="EffectMode">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_G6d4Vo1_EeOAr5SJygOCbw" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_yQjfEImOEeODrcgAiMzRCg"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_G6d4V41_EeOAr5SJygOCbw" name="property" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_G6d4WY1_EeOAr5SJygOCbw" name="value" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_G6d4W41_EeOAr5SJygOCbw" name="effectType" ordered="false" lowerBound="1" eType="_G6d4X41_EeOAr5SJygOCbw"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_G6d4XY1_EeOAr5SJygOCbw" name="base_State" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_G6d4X41_EeOAr5SJygOCbw" name="EffectModesEnum">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_G6d4YI1_EeOAr5SJygOCbw" source="http://www.eclipse.org/uml2/2.0.0/UML"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_G6d4YY1_EeOAr5SJygOCbw" name="StuckAt"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_G6d4Yo1_EeOAr5SJygOCbw" name="StuckAtFixed" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_G6d4Y41_EeOAr5SJygOCbw" name="Inverted" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_G6d4ZI1_EeOAr5SJygOCbw" name="RampDown" value="3"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_G6d4ZY1_EeOAr5SJygOCbw" name="ErrorFree" eSuperTypes="_G6dR3o1_EeOAr5SJygOCbw">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_G6d4Zo1_EeOAr5SJygOCbw" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_cUpC4DQ4EeC0ueejuetpgA"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_G6d4aI1_EeOAr5SJygOCbw" name="UnclassifiedError" eSuperTypes="_G6dR3o1_EeOAr5SJygOCbw">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_G6d4aY1_EeOAr5SJygOCbw" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_eg3C0DQ4EeC0ueejuetpgA"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_G6d4a41_EeOAr5SJygOCbw" name="FailureMode" eSuperTypes="_G6dR3o1_EeOAr5SJygOCbw">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_G6d4bI1_EeOAr5SJygOCbw" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_gtsGwDQ4EeC0ueejuetpgA"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_G6d4bY1_EeOAr5SJygOCbw" name="affectedPorts" ordered="false" upperBound="-1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_G6d4b41_EeOAr5SJygOCbw" name="type" ordered="false" lowerBound="1" eType="_G6dR041_EeOAr5SJygOCbw"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_G6d4co1_EeOAr5SJygOCbw" name="FailureFree" eSuperTypes="_G6dR3o1_EeOAr5SJygOCbw">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_G6d4c41_EeOAr5SJygOCbw" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_-BcuMKcXEeCLJKy7uMU5GA"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_G6d4dY1_EeOAr5SJygOCbw" name="UnclassifiedFailure" eSuperTypes="_G6dR3o1_EeOAr5SJygOCbw">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_G6d4do1_EeOAr5SJygOCbw" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_WsXTUKcZEeCLJKy7uMU5GA"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_G6xaUo1_EeOAr5SJygOCbw" name="NFP_Real" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_G6xaU41_EeOAr5SJygOCbw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_Yq-MQBFQEdyUJeMeN__D-A"/>
+              </eAnnotations>
+            </eClassifiers>
+          </contents>
+          <contents xmi:type="ecore:EPackage" xmi:id="_PJWkcImREeOqf4JlfFwBNg" name="ThreatsPropagation" nsURI="http://CHESS/Dependability/ThreatsPropagation" nsPrefix="ThreatsPropagation">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_PMzhEImREeOqf4JlfFwBNg" source="PapyrusVersion">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_PMzhEYmREeOqf4JlfFwBNg" key="Version" value="0.0.7"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_PMzhEomREeOqf4JlfFwBNg" key="Comment" value=""/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_PMzhE4mREeOqf4JlfFwBNg" key="Copyright" value=""/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_PMzhFImREeOqf4JlfFwBNg" key="Date" value="2014-01-30"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_PMzhFYmREeOqf4JlfFwBNg" key="Author" value=""/>
+            </eAnnotations>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_PJWkcYmREeOqf4JlfFwBNg" name="ErrorModel">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_PJWkcomREeOqf4JlfFwBNg" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_90It8DQ3EeC0ueejuetpgA"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_PJWkc4mREeOqf4JlfFwBNg" name="base_StateMachine" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//StateMachine"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_PJWkdYmREeOqf4JlfFwBNg" name="InternalFault">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_PJWkdomREeOqf4JlfFwBNg" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_C7ZisDQ4EeC0ueejuetpgA"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_PJWkd4mREeOqf4JlfFwBNg" name="base_Transition" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_PJWke4mREeOqf4JlfFwBNg" name="transfFunct" ordered="false">
+                <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_PJWkfYmREeOqf4JlfFwBNg" name="property" ordered="false">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_PJWkf4mREeOqf4JlfFwBNg" name="childFailure" ordered="false">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_PJWkgYmREeOqf4JlfFwBNg" name="occurrence" ordered="false">
+                <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_PJWkg4mREeOqf4JlfFwBNg" name="transientDuration" ordered="false">
+                <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_PJoRQImREeOqf4JlfFwBNg" name="permanentProb" ordered="false" lowerBound="1" eType="_PJoRQomREeOqf4JlfFwBNg"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_PJWk2ImREeOqf4JlfFwBNg" name="MARTE_Library_MARTE_DataTypes_VSL_Expression" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_PJWk2YmREeOqf4JlfFwBNg" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_bManMBEBEdyx6M3BlUjlCQ"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_PJWk2omREeOqf4JlfFwBNg" name="MARTE_Library_BasicNFP_Types_SourceKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_PJWk24mREeOqf4JlfFwBNg" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_oMZzEBD-EdyybZnLxHsjyA"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_PJWk3ImREeOqf4JlfFwBNg" name="est"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_PJWk3YmREeOqf4JlfFwBNg" name="meas" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_PJWk3omREeOqf4JlfFwBNg" name="calc" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_PJWk34mREeOqf4JlfFwBNg" name="req" value="3"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_PJWk4ImREeOqf4JlfFwBNg" name="MARTE_Library_BasicNFP_Types_StatisticalQualifierKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_PJWk4YmREeOqf4JlfFwBNg" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_0N52EBD-EdyybZnLxHsjyA"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_PJWk4omREeOqf4JlfFwBNg" name="max"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_PJWk44mREeOqf4JlfFwBNg" name="min" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_PJWk5ImREeOqf4JlfFwBNg" name="mean" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_PJWk5YmREeOqf4JlfFwBNg" name="range" value="3"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_PJWk5omREeOqf4JlfFwBNg" name="percent" value="4"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_PJWk54mREeOqf4JlfFwBNg" name="distrib" value="5"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_PJWk6ImREeOqf4JlfFwBNg" name="determ" value="6"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_PJWk6YmREeOqf4JlfFwBNg" name="other" value="7"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_PJWk6omREeOqf4JlfFwBNg" name="variance" value="8"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_PJWk64mREeOqf4JlfFwBNg" name="MARTE_Library_BasicNFP_Types_DirectionKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_PJWk7ImREeOqf4JlfFwBNg" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_vvfxEBD-EdyybZnLxHsjyA"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_PJWk7YmREeOqf4JlfFwBNg" name="incr"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_PJWk7omREeOqf4JlfFwBNg" name="decr" value="1"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_PJWk74mREeOqf4JlfFwBNg" name="MARTE_Library_MARTE_PrimitivesTypes_Real" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_PJWk8ImREeOqf4JlfFwBNg" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_beo90AnpEdy9WM11hWri2g"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_PJWk8YmREeOqf4JlfFwBNg" name="MARTE_Library_MARTE_PrimitivesTypes_Integer" instanceClassName="int">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_PJWk8omREeOqf4JlfFwBNg" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_HJ1zcAnfEdy9WM11hWri2g"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_PJWk84mREeOqf4JlfFwBNg" name="ExternalFault">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_PJWk9ImREeOqf4JlfFwBNg" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_OKTEEDQ4EeC0ueejuetpgA"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_PJWk9YmREeOqf4JlfFwBNg" name="base_Transition" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_PJWk94mREeOqf4JlfFwBNg" name="fromPort" ordered="false" lowerBound="1" upperBound="-1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_PJWk-YmREeOqf4JlfFwBNg" name="propagationCondition" ordered="false">
+                <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_PJWk_YmREeOqf4JlfFwBNg" name="unit" ordered="false">
+                <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_PJWk_4mREeOqf4JlfFwBNg" name="type" ordered="false" lowerBound="1" eType="_PJWlA4mREeOqf4JlfFwBNg"/>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_PJWlAYmREeOqf4JlfFwBNg" name="transfFunct" ordered="false" upperBound="-1">
+                <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_PKaUYImREeOqf4JlfFwBNg" name="probability" ordered="false" lowerBound="1" eType="_PJoRQomREeOqf4JlfFwBNg"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_PJWlA4mREeOqf4JlfFwBNg" name="DurationType">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_PJWlBImREeOqf4JlfFwBNg" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_hh4TEKcTEeCLJKy7uMU5GA"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_PJWlBYmREeOqf4JlfFwBNg" name="transient"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_PJWlBomREeOqf4JlfFwBNg" name="permanent" value="1"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_PJWlB4mREeOqf4JlfFwBNg" name="Error" eSuperTypes="_PJWlDomREeOqf4JlfFwBNg">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_PJWlCImREeOqf4JlfFwBNg" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_W3CKsDQ4EeC0ueejuetpgA"/>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_PJWlCYmREeOqf4JlfFwBNg" name="type" ordered="false" lowerBound="1" eType="_PJWlA4mREeOqf4JlfFwBNg"/>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_PJWlC4mREeOqf4JlfFwBNg" name="vanishingTime" ordered="false">
+                <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_PJWlDomREeOqf4JlfFwBNg" name="ThreatState">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_PJWlD4mREeOqf4JlfFwBNg" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_C-dwsL9UEeCOtecSzivGvQ"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_PJWlEImREeOqf4JlfFwBNg" name="base_State" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_PJWlFImREeOqf4JlfFwBNg" name="unit" ordered="false">
+                <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_PJWlFomREeOqf4JlfFwBNg" name="effectModel" ordered="false" eType="_PJWlGImREeOqf4JlfFwBNg"/>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_PLB_cImREeOqf4JlfFwBNg" name="probability" ordered="false" lowerBound="1" eType="_PJoRQomREeOqf4JlfFwBNg"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_PJWlGImREeOqf4JlfFwBNg" name="EffectMode">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_PJWlGYmREeOqf4JlfFwBNg" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_yQjfEImOEeODrcgAiMzRCg"/>
+              <eSuperTypes xmi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/MARTE/1#//NFPs/NfpType"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_PJWlGomREeOqf4JlfFwBNg" name="property" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_PJWlHImREeOqf4JlfFwBNg" name="value" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_PJWlHomREeOqf4JlfFwBNg" name="effectType" ordered="false" lowerBound="1" eType="_PJWlIYmREeOqf4JlfFwBNg"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_PJWlIYmREeOqf4JlfFwBNg" name="EffectModesEnum">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_PJWlIomREeOqf4JlfFwBNg" source="http://www.eclipse.org/uml2/2.0.0/UML"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_PJWlI4mREeOqf4JlfFwBNg" name="StuckAt"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_PJWlJImREeOqf4JlfFwBNg" name="StuckAtFixed" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_PJWlJYmREeOqf4JlfFwBNg" name="Inverted" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_PJWlJomREeOqf4JlfFwBNg" name="RampDown" value="3"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_PJWlJ4mREeOqf4JlfFwBNg" name="ErrorFree" eSuperTypes="_PJWlDomREeOqf4JlfFwBNg">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_PJWlKImREeOqf4JlfFwBNg" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_cUpC4DQ4EeC0ueejuetpgA"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_PJWlKomREeOqf4JlfFwBNg" name="UnclassifiedError" eSuperTypes="_PJWlDomREeOqf4JlfFwBNg">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_PJWlK4mREeOqf4JlfFwBNg" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_eg3C0DQ4EeC0ueejuetpgA"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_PJWlLYmREeOqf4JlfFwBNg" name="FailureMode" eSuperTypes="_PJWlDomREeOqf4JlfFwBNg">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_PJWlLomREeOqf4JlfFwBNg" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_gtsGwDQ4EeC0ueejuetpgA"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_PJWlL4mREeOqf4JlfFwBNg" name="affectedPorts" ordered="false" upperBound="-1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_PJWlMYmREeOqf4JlfFwBNg" name="type" ordered="false" lowerBound="1" eType="_PJWlA4mREeOqf4JlfFwBNg"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_PJWlNImREeOqf4JlfFwBNg" name="FailureFree" eSuperTypes="_PJWlDomREeOqf4JlfFwBNg">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_PJWlNYmREeOqf4JlfFwBNg" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_-BcuMKcXEeCLJKy7uMU5GA"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_PJWlN4mREeOqf4JlfFwBNg" name="UnclassifiedFailure" eSuperTypes="_PJWlDomREeOqf4JlfFwBNg">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_PJWlOImREeOqf4JlfFwBNg" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_WsXTUKcZEeCLJKy7uMU5GA"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_PJoRQomREeOqf4JlfFwBNg" name="NFP_Real" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_PJoRQ4mREeOqf4JlfFwBNg" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_Yq-MQBFQEdyUJeMeN__D-A"/>
+              </eAnnotations>
+            </eClassifiers>
+          </contents>
+          <contents xmi:type="ecore:EPackage" xmi:id="_SWZ04Ke3EeCfNM3HjUZ3Ag" name="ThreatsPropagation" nsURI="http://CHESS/Dependability/ThreatsPropagation" nsPrefix="ThreatsPropagation">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Sc9I0Ke3EeCfNM3HjUZ3Ag" source="PapyrusVersion">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Sc9I0ae3EeCfNM3HjUZ3Ag" key="Version" value="0.0.6"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Sc9I0qe3EeCfNM3HjUZ3Ag" key="Comment" value=""/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Sc9I06e3EeCfNM3HjUZ3Ag" key="Copyright" value=""/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Sc9I1Ke3EeCfNM3HjUZ3Ag" key="Date" value="2011-07-06"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Sc9I1ae3EeCfNM3HjUZ3Ag" key="Author" value=""/>
+            </eAnnotations>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_SWZ04ae3EeCfNM3HjUZ3Ag" name="ErrorModel">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_SWZ04qe3EeCfNM3HjUZ3Ag" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_90It8DQ3EeC0ueejuetpgA"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_SWZ046e3EeCfNM3HjUZ3Ag" name="base_StateMachine" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//StateMachine"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_SWZ05ae3EeCfNM3HjUZ3Ag" name="InternalFault">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_SWZ05qe3EeCfNM3HjUZ3Ag" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_C7ZisDQ4EeC0ueejuetpgA"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_SWZ056e3EeCfNM3HjUZ3Ag" name="base_Transition" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_SWZ066e3EeCfNM3HjUZ3Ag" name="transfFunct" ordered="false">
+                <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_SWZ07ae3EeCfNM3HjUZ3Ag" name="property" ordered="false">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_SWZ076e3EeCfNM3HjUZ3Ag" name="childFailure" ordered="false">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_SW2g0Ke3EeCfNM3HjUZ3Ag" name="permanentProb" ordered="false" lowerBound="1" eType="_SW2g0qe3EeCfNM3HjUZ3Ag"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_SWZ1RKe3EeCfNM3HjUZ3Ag" name="MARTE_Library_MARTE_DataTypes_VSL_Expression" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_SWZ1Rae3EeCfNM3HjUZ3Ag" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_bManMBEBEdyx6M3BlUjlCQ"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_SWZ1Rqe3EeCfNM3HjUZ3Ag" name="MARTE_Library_BasicNFP_Types_SourceKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_SWZ1R6e3EeCfNM3HjUZ3Ag" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_oMZzEBD-EdyybZnLxHsjyA"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_SWZ1SKe3EeCfNM3HjUZ3Ag" name="est"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_SWZ1Sae3EeCfNM3HjUZ3Ag" name="meas" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_SWZ1Sqe3EeCfNM3HjUZ3Ag" name="calc" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_SWZ1S6e3EeCfNM3HjUZ3Ag" name="req" value="3"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_SWZ1TKe3EeCfNM3HjUZ3Ag" name="MARTE_Library_BasicNFP_Types_StatisticalQualifierKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_SWZ1Tae3EeCfNM3HjUZ3Ag" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_0N52EBD-EdyybZnLxHsjyA"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_SWZ1Tqe3EeCfNM3HjUZ3Ag" name="max"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_SWZ1T6e3EeCfNM3HjUZ3Ag" name="min" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_SWZ1UKe3EeCfNM3HjUZ3Ag" name="mean" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_SWZ1Uae3EeCfNM3HjUZ3Ag" name="range" value="3"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_SWZ1Uqe3EeCfNM3HjUZ3Ag" name="percent" value="4"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_SWZ1U6e3EeCfNM3HjUZ3Ag" name="distrib" value="5"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_SWZ1VKe3EeCfNM3HjUZ3Ag" name="determ" value="6"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_SWZ1Vae3EeCfNM3HjUZ3Ag" name="other" value="7"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_SWZ1Vqe3EeCfNM3HjUZ3Ag" name="variance" value="8"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_SWZ1V6e3EeCfNM3HjUZ3Ag" name="MARTE_Library_BasicNFP_Types_DirectionKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_SWZ1WKe3EeCfNM3HjUZ3Ag" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_vvfxEBD-EdyybZnLxHsjyA"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_SWZ1Wae3EeCfNM3HjUZ3Ag" name="incr"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_SWZ1Wqe3EeCfNM3HjUZ3Ag" name="decr" value="1"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_SWZ1W6e3EeCfNM3HjUZ3Ag" name="MARTE_Library_MARTE_PrimitivesTypes_Real" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_SWZ1XKe3EeCfNM3HjUZ3Ag" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_beo90AnpEdy9WM11hWri2g"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_SWZ1Xae3EeCfNM3HjUZ3Ag" name="MARTE_Library_MARTE_PrimitivesTypes_Integer" instanceClassName="int">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_SWZ1Xqe3EeCfNM3HjUZ3Ag" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_HJ1zcAnfEdy9WM11hWri2g"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_SWZ1X6e3EeCfNM3HjUZ3Ag" name="ExternalFault">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_SWZ1YKe3EeCfNM3HjUZ3Ag" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_OKTEEDQ4EeC0ueejuetpgA"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_SWZ1Yae3EeCfNM3HjUZ3Ag" name="base_Transition" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_SWZ1Y6e3EeCfNM3HjUZ3Ag" name="fromPort" ordered="false" lowerBound="1" upperBound="-1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_SWZ1Zae3EeCfNM3HjUZ3Ag" name="propagationCondition" ordered="false">
+                <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_SWZ1Z6e3EeCfNM3HjUZ3Ag" name="Error">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_SWZ1aKe3EeCfNM3HjUZ3Ag" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_W3CKsDQ4EeC0ueejuetpgA"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_SWZ1aae3EeCfNM3HjUZ3Ag" name="base_State" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_SWZ1a6e3EeCfNM3HjUZ3Ag" name="unit" ordered="false">
+                <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_SWZ1b6e3EeCfNM3HjUZ3Ag" name="type" ordered="false" lowerBound="1" eType="_SWZ1cae3EeCfNM3HjUZ3Ag"/>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_SYL9kKe3EeCfNM3HjUZ3Ag" name="probability" ordered="false" lowerBound="1" eType="_SW2g0qe3EeCfNM3HjUZ3Ag"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_SWZ1cae3EeCfNM3HjUZ3Ag" name="DurationType">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_SWZ1cqe3EeCfNM3HjUZ3Ag" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_hh4TEKcTEeCLJKy7uMU5GA"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_SWZ1c6e3EeCfNM3HjUZ3Ag" name="transient"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_SWZ1dKe3EeCfNM3HjUZ3Ag" name="permanent" value="1"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_SWZ1dae3EeCfNM3HjUZ3Ag" name="ErrorFree">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_SWZ1dqe3EeCfNM3HjUZ3Ag" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_cUpC4DQ4EeC0ueejuetpgA"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_SWZ1d6e3EeCfNM3HjUZ3Ag" name="base_State" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_SWZ1e6e3EeCfNM3HjUZ3Ag" name="unit" ordered="false">
+                <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_SY7kcKe3EeCfNM3HjUZ3Ag" name="probability" ordered="false" lowerBound="1" eType="_SW2g0qe3EeCfNM3HjUZ3Ag"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_SWZ1fae3EeCfNM3HjUZ3Ag" name="UnclassifiedError">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_SWZ1fqe3EeCfNM3HjUZ3Ag" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_eg3C0DQ4EeC0ueejuetpgA"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_SWZ1f6e3EeCfNM3HjUZ3Ag" name="base_State" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_SWZ1g6e3EeCfNM3HjUZ3Ag" name="unit" ordered="false">
+                <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_SZ-tUKe3EeCfNM3HjUZ3Ag" name="probability" ordered="false" lowerBound="1" eType="_SW2g0qe3EeCfNM3HjUZ3Ag"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_SWZ1hae3EeCfNM3HjUZ3Ag" name="FailureMode">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_SWZ1hqe3EeCfNM3HjUZ3Ag" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_gtsGwDQ4EeC0ueejuetpgA"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_SWZ1h6e3EeCfNM3HjUZ3Ag" name="base_State" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_SWZ1i6e3EeCfNM3HjUZ3Ag" name="affectedPorts" ordered="false" upperBound="-1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_SWZ1jae3EeCfNM3HjUZ3Ag" name="unit" ordered="false">
+                <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_SWZ1j6e3EeCfNM3HjUZ3Ag" name="type" ordered="false" lowerBound="1" eType="_SWZ1cae3EeCfNM3HjUZ3Ag"/>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_Sa3eIKe3EeCfNM3HjUZ3Ag" name="probability" ordered="false" lowerBound="1" eType="_SW2g0qe3EeCfNM3HjUZ3Ag"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_SWZ1kae3EeCfNM3HjUZ3Ag" name="FailureFree">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_SWZ1kqe3EeCfNM3HjUZ3Ag" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_-BcuMKcXEeCLJKy7uMU5GA"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_SWZ1k6e3EeCfNM3HjUZ3Ag" name="base_State" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_SWZ1l6e3EeCfNM3HjUZ3Ag" name="unit" ordered="false">
+                <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_SbnFAae3EeCfNM3HjUZ3Ag" name="probability" ordered="false" lowerBound="1" eType="_SW2g0qe3EeCfNM3HjUZ3Ag"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_SWZ1mae3EeCfNM3HjUZ3Ag" name="UnclassifiedFailure">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_SWZ1mqe3EeCfNM3HjUZ3Ag" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_WsXTUKcZEeCLJKy7uMU5GA"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_SWZ1m6e3EeCfNM3HjUZ3Ag" name="base_State" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_SWZ1n6e3EeCfNM3HjUZ3Ag" name="unit" ordered="false">
+                <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_Scgc4Ke3EeCfNM3HjUZ3Ag" name="probability" ordered="false" lowerBound="1" eType="_SW2g0qe3EeCfNM3HjUZ3Ag"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_SW2g0qe3EeCfNM3HjUZ3Ag" name="NFP_Real" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_SW2g06e3EeCfNM3HjUZ3Ag" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_Yq-MQBFQEdyUJeMeN__D-A"/>
+              </eAnnotations>
+            </eClassifiers>
+          </contents>
+          <contents xmi:type="ecore:EPackage" xmi:id="_G6-koFquEeCgwNmo13tekQ" name="ThreatsPropagation" nsURI="http://CHESS/Dependability/ThreatsPropagation" nsPrefix="ThreatsPropagation">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_HBYuoFquEeCgwNmo13tekQ" source="PapyrusVersion">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_HBYuoVquEeCgwNmo13tekQ" key="Version" value="0.0.5"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_HBYuolquEeCgwNmo13tekQ" key="Comment" value="removed unnecessary Extension from the model"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_HBYuo1quEeCgwNmo13tekQ" key="Copyright" value=""/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_HBYupFquEeCgwNmo13tekQ" key="Date" value="2011-03-30"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_HBYupVquEeCgwNmo13tekQ" key="Author" value=""/>
+            </eAnnotations>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_G6-koVquEeCgwNmo13tekQ" name="ErrorModel">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_G6-kolquEeCgwNmo13tekQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_90It8DQ3EeC0ueejuetpgA"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_G6-ko1quEeCgwNmo13tekQ" name="base_StateMachine" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//StateMachine"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_G6-kpVquEeCgwNmo13tekQ" name="InternalFault">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_G6-kplquEeCgwNmo13tekQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_C7ZisDQ4EeC0ueejuetpgA"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_G6-kp1quEeCgwNmo13tekQ" name="base_Transition" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_G7uLgFquEeCgwNmo13tekQ" name="permanentProb" ordered="false" lowerBound="1" eType="_G7uLglquEeCgwNmo13tekQ"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_G6-k_lquEeCgwNmo13tekQ" name="MARTE_Library_MARTE_DataTypes_VSL_Expression" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_G6-k_1quEeCgwNmo13tekQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_bManMBEBEdyx6M3BlUjlCQ"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_G6-lAFquEeCgwNmo13tekQ" name="MARTE_Library_BasicNFP_Types_SourceKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_G6-lAVquEeCgwNmo13tekQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_oMZzEBD-EdyybZnLxHsjyA"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_G6-lAlquEeCgwNmo13tekQ" name="est"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_G6-lA1quEeCgwNmo13tekQ" name="meas" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_G6-lBFquEeCgwNmo13tekQ" name="calc" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_G6-lBVquEeCgwNmo13tekQ" name="req" value="3"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_G6-lBlquEeCgwNmo13tekQ" name="MARTE_Library_BasicNFP_Types_StatisticalQualifierKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_G6-lB1quEeCgwNmo13tekQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_0N52EBD-EdyybZnLxHsjyA"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_G6-lCFquEeCgwNmo13tekQ" name="max"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_G6-lCVquEeCgwNmo13tekQ" name="min" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_G6-lClquEeCgwNmo13tekQ" name="mean" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_G6-lC1quEeCgwNmo13tekQ" name="range" value="3"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_G6-lDFquEeCgwNmo13tekQ" name="percent" value="4"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_G6-lDVquEeCgwNmo13tekQ" name="distrib" value="5"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_G6-lDlquEeCgwNmo13tekQ" name="determ" value="6"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_G6-lD1quEeCgwNmo13tekQ" name="other" value="7"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_G6-lEFquEeCgwNmo13tekQ" name="variance" value="8"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_G6-lEVquEeCgwNmo13tekQ" name="MARTE_Library_BasicNFP_Types_DirectionKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_G6-lElquEeCgwNmo13tekQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_vvfxEBD-EdyybZnLxHsjyA"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_G6-lE1quEeCgwNmo13tekQ" name="incr"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_G6-lFFquEeCgwNmo13tekQ" name="decr" value="1"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_G6-lFVquEeCgwNmo13tekQ" name="MARTE_Library_MARTE_PrimitivesTypes_Real" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_G6-lFlquEeCgwNmo13tekQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_beo90AnpEdy9WM11hWri2g"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_G6-lF1quEeCgwNmo13tekQ" name="MARTE_Library_MARTE_PrimitivesTypes_Integer" instanceClassName="int">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_G6-lGFquEeCgwNmo13tekQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_HJ1zcAnfEdy9WM11hWri2g"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_G6-lGVquEeCgwNmo13tekQ" name="ExternalFault">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_G6-lGlquEeCgwNmo13tekQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_OKTEEDQ4EeC0ueejuetpgA"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_G6-lG1quEeCgwNmo13tekQ" name="base_Transition" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_G6-lHVquEeCgwNmo13tekQ" name="fromPort" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_G6-lH1quEeCgwNmo13tekQ" name="logic" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_G6-lIVquEeCgwNmo13tekQ" name="Error">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_G6-lIlquEeCgwNmo13tekQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_W3CKsDQ4EeC0ueejuetpgA"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_G6-lI1quEeCgwNmo13tekQ" name="base_State" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_G6-lJVquEeCgwNmo13tekQ" name="ErrorFree">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_G6-lJlquEeCgwNmo13tekQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_cUpC4DQ4EeC0ueejuetpgA"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_G6-lJ1quEeCgwNmo13tekQ" name="base_State" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_G9qsQFquEeCgwNmo13tekQ" name="probability" ordered="false" lowerBound="1" eType="_G7uLglquEeCgwNmo13tekQ"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_G6-lK1quEeCgwNmo13tekQ" name="Unclassified">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_G6-lLFquEeCgwNmo13tekQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_eg3C0DQ4EeC0ueejuetpgA"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_G6-lLVquEeCgwNmo13tekQ" name="base_State" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_G-2_EFquEeCgwNmo13tekQ" name="probability" ordered="false" lowerBound="1" eType="_G7uLglquEeCgwNmo13tekQ"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_G6-lMVquEeCgwNmo13tekQ" name="FailureMode">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_G6-lMlquEeCgwNmo13tekQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_gtsGwDQ4EeC0ueejuetpgA"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_G6-lM1quEeCgwNmo13tekQ" name="base_State" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_G6-lN1quEeCgwNmo13tekQ" name="affectedPorts" ordered="false" upperBound="-1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_HAMb0FquEeCgwNmo13tekQ" name="probability" ordered="false" lowerBound="1" eType="_G7uLglquEeCgwNmo13tekQ"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_G7uLglquEeCgwNmo13tekQ" name="NFP_Real" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_G7uLg1quEeCgwNmo13tekQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_Yq-MQBFQEdyUJeMeN__D-A"/>
+              </eAnnotations>
+            </eClassifiers>
+          </contents>
+          <contents xmi:type="ecore:EPackage" xmi:id="_-YopwFqlEeCgwNmo13tekQ" name="ThreatsPropagation" nsURI="http://CHESS.Dependability/schemas/ThreatsPropagation/_-YVu0FqlEeCgwNmo13tekQ/3" nsPrefix="ThreatsPropagation">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-fCzwFqlEeCgwNmo13tekQ" source="PapyrusVersion">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-fCzwVqlEeCgwNmo13tekQ" key="Version" value="0.0.4"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-fCzwlqlEeCgwNmo13tekQ" key="Comment" value="Merged DependableComponent::Propagation and ThreatsPropagation::Propagation"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-fCzw1qlEeCgwNmo13tekQ" key="Copyright" value=""/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-fCzxFqlEeCgwNmo13tekQ" key="Date" value="2011-03-30"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-fCzxVqlEeCgwNmo13tekQ" key="Author" value="Stefano"/>
+            </eAnnotations>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_-YopwVqlEeCgwNmo13tekQ" name="ErrorModel">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-YopwlqlEeCgwNmo13tekQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_90It8DQ3EeC0ueejuetpgA"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_-Yopw1qlEeCgwNmo13tekQ" name="base_StateMachine" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//StateMachine"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_-YopxVqlEeCgwNmo13tekQ" name="InternalFault">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-YopxlqlEeCgwNmo13tekQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_C7ZisDQ4EeC0ueejuetpgA"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_-Yopx1qlEeCgwNmo13tekQ" name="base_Transition" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-ZYQoFqlEeCgwNmo13tekQ" name="permanentProb" ordered="false" lowerBound="1" eType="_-ZYQolqlEeCgwNmo13tekQ"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_-YoqHlqlEeCgwNmo13tekQ" name="MARTE_Library_MARTE_DataTypes_VSL_Expression" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-YoqH1qlEeCgwNmo13tekQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_bManMBEBEdyx6M3BlUjlCQ"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_-YoqIFqlEeCgwNmo13tekQ" name="MARTE_Library_BasicNFP_Types_SourceKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-YoqIVqlEeCgwNmo13tekQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_oMZzEBD-EdyybZnLxHsjyA"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_-YoqIlqlEeCgwNmo13tekQ" name="est"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_-YoqI1qlEeCgwNmo13tekQ" name="meas" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_-YoqJFqlEeCgwNmo13tekQ" name="calc" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_-YoqJVqlEeCgwNmo13tekQ" name="req" value="3"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_-YoqJlqlEeCgwNmo13tekQ" name="MARTE_Library_BasicNFP_Types_StatisticalQualifierKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-YoqJ1qlEeCgwNmo13tekQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_0N52EBD-EdyybZnLxHsjyA"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_-YoqKFqlEeCgwNmo13tekQ" name="max"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_-YoqKVqlEeCgwNmo13tekQ" name="min" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_-YoqKlqlEeCgwNmo13tekQ" name="mean" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_-YoqK1qlEeCgwNmo13tekQ" name="range" value="3"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_-YoqLFqlEeCgwNmo13tekQ" name="percent" value="4"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_-YoqLVqlEeCgwNmo13tekQ" name="distrib" value="5"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_-YoqLlqlEeCgwNmo13tekQ" name="determ" value="6"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_-YoqL1qlEeCgwNmo13tekQ" name="other" value="7"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_-YoqMFqlEeCgwNmo13tekQ" name="variance" value="8"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_-YoqMVqlEeCgwNmo13tekQ" name="MARTE_Library_BasicNFP_Types_DirectionKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-YoqMlqlEeCgwNmo13tekQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_vvfxEBD-EdyybZnLxHsjyA"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_-YoqM1qlEeCgwNmo13tekQ" name="incr"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_-YoqNFqlEeCgwNmo13tekQ" name="decr" value="1"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_-YoqNVqlEeCgwNmo13tekQ" name="MARTE_Library_MARTE_PrimitivesTypes_Real" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-YoqNlqlEeCgwNmo13tekQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_beo90AnpEdy9WM11hWri2g"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_-YoqN1qlEeCgwNmo13tekQ" name="MARTE_Library_MARTE_PrimitivesTypes_Integer" instanceClassName="int">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-YoqOFqlEeCgwNmo13tekQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_HJ1zcAnfEdy9WM11hWri2g"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_-YoqOVqlEeCgwNmo13tekQ" name="ExternalFault">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-YoqOlqlEeCgwNmo13tekQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_OKTEEDQ4EeC0ueejuetpgA"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_-YoqO1qlEeCgwNmo13tekQ" name="base_Transition" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_-YoqPVqlEeCgwNmo13tekQ" name="fromPort" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-YoqP1qlEeCgwNmo13tekQ" name="logic" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_-YoqQVqlEeCgwNmo13tekQ" name="Error">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-YoqQlqlEeCgwNmo13tekQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_W3CKsDQ4EeC0ueejuetpgA"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_-YoqQ1qlEeCgwNmo13tekQ" name="base_State" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_-YoqRVqlEeCgwNmo13tekQ" name="ErrorFree">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-YoqRlqlEeCgwNmo13tekQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_cUpC4DQ4EeC0ueejuetpgA"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_-YoqR1qlEeCgwNmo13tekQ" name="base_State" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-bKZUFqlEeCgwNmo13tekQ" name="probability" ordered="false" lowerBound="1" eType="_-ZYQolqlEeCgwNmo13tekQ"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_-YoqS1qlEeCgwNmo13tekQ" name="Unclassified">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-YoqTFqlEeCgwNmo13tekQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_eg3C0DQ4EeC0ueejuetpgA"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_-YoqTVqlEeCgwNmo13tekQ" name="base_State" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-cgdIFqlEeCgwNmo13tekQ" name="probability" ordered="false" lowerBound="1" eType="_-ZYQolqlEeCgwNmo13tekQ"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_-YoqUVqlEeCgwNmo13tekQ" name="FailureMode">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-YoqUlqlEeCgwNmo13tekQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_gtsGwDQ4EeC0ueejuetpgA"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_-YoqU1qlEeCgwNmo13tekQ" name="base_State" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_-YoqV1qlEeCgwNmo13tekQ" name="affectedPorts" ordered="false" upperBound="-1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-dsv8FqlEeCgwNmo13tekQ" name="probability" ordered="false" lowerBound="1" eType="_-ZYQolqlEeCgwNmo13tekQ"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_-ZYQolqlEeCgwNmo13tekQ" name="NFP_Real" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-ZYQo1qlEeCgwNmo13tekQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_Yq-MQBFQEdyUJeMeN__D-A"/>
+              </eAnnotations>
+            </eClassifiers>
+          </contents>
+          <contents xmi:type="ecore:EPackage" xmi:id="_2F5QYEQQEeCQRfAVtSc0sw" name="ThreatsPropagation" nsURI="http://CHESS.Dependability/schemas/ThreatsPropagation/_2FwGcEQQEeCQRfAVtSc0sw/2" nsPrefix="ThreatsPropagation">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_2gHuQEQQEeCQRfAVtSc0sw" source="PapyrusVersion">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_2gHuQUQQEeCQRfAVtSc0sw" key="Version" value="0.0.3"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_2gHuQkQQEeCQRfAVtSc0sw" key="Comment" value="addedt target type for dependableMeasure"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_2gHuQ0QQEeCQRfAVtSc0sw" key="Copyright" value=""/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_2gHuREQQEeCQRfAVtSc0sw" key="Date" value="2011-03-01"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_2gHuRUQQEeCQRfAVtSc0sw" key="Author" value=""/>
+            </eAnnotations>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_2F5QYUQQEeCQRfAVtSc0sw" name="ErrorModel">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_2F5QYkQQEeCQRfAVtSc0sw" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_90It8DQ3EeC0ueejuetpgA"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_2F5QY0QQEeCQRfAVtSc0sw" name="base_StateMachine" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//StateMachine"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_2F5QZUQQEeCQRfAVtSc0sw" name="InternalFault">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_2F5QZkQQEeCQRfAVtSc0sw" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_C7ZisDQ4EeC0ueejuetpgA"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_2F5QZ0QQEeCQRfAVtSc0sw" name="base_Transition" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_2aBGQEQQEeCQRfAVtSc0sw" name="permanentProb" ordered="false" lowerBound="1" eType="_2aBGQkQQEeCQRfAVtSc0sw"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_2F5QvkQQEeCQRfAVtSc0sw" name="MARTE_Library_MARTE_DataTypes_VSL_Expression" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_2F5Qv0QQEeCQRfAVtSc0sw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_bManMBEBEdyx6M3BlUjlCQ"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_2F5QwEQQEeCQRfAVtSc0sw" name="MARTE_Library_BasicNFP_Types_SourceKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_2F5QwUQQEeCQRfAVtSc0sw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_oMZzEBD-EdyybZnLxHsjyA"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_2F5QwkQQEeCQRfAVtSc0sw" name="est"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_2F5Qw0QQEeCQRfAVtSc0sw" name="meas" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_2F5QxEQQEeCQRfAVtSc0sw" name="calc" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_2F5QxUQQEeCQRfAVtSc0sw" name="req" value="3"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_2F5QxkQQEeCQRfAVtSc0sw" name="MARTE_Library_BasicNFP_Types_StatisticalQualifierKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_2F5Qx0QQEeCQRfAVtSc0sw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_0N52EBD-EdyybZnLxHsjyA"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_2F5QyEQQEeCQRfAVtSc0sw" name="max"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_2F5QyUQQEeCQRfAVtSc0sw" name="min" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_2F5QykQQEeCQRfAVtSc0sw" name="mean" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_2F5Qy0QQEeCQRfAVtSc0sw" name="range" value="3"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_2F5QzEQQEeCQRfAVtSc0sw" name="percent" value="4"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_2F5QzUQQEeCQRfAVtSc0sw" name="distrib" value="5"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_2F5QzkQQEeCQRfAVtSc0sw" name="determ" value="6"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_2F5Qz0QQEeCQRfAVtSc0sw" name="other" value="7"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_2F5Q0EQQEeCQRfAVtSc0sw" name="variance" value="8"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_2F5Q0UQQEeCQRfAVtSc0sw" name="MARTE_Library_BasicNFP_Types_DirectionKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_2F5Q0kQQEeCQRfAVtSc0sw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_vvfxEBD-EdyybZnLxHsjyA"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_2F5Q00QQEeCQRfAVtSc0sw" name="incr"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_2F5Q1EQQEeCQRfAVtSc0sw" name="decr" value="1"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_2F5Q1UQQEeCQRfAVtSc0sw" name="MARTE_Library_MARTE_PrimitivesTypes_Real" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_2F5Q1kQQEeCQRfAVtSc0sw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_beo90AnpEdy9WM11hWri2g"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_2F5Q10QQEeCQRfAVtSc0sw" name="MARTE_Library_MARTE_PrimitivesTypes_Integer" instanceClassName="int">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_2F5Q2EQQEeCQRfAVtSc0sw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_HJ1zcAnfEdy9WM11hWri2g"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_2F5Q2UQQEeCQRfAVtSc0sw" name="ExternalFault">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_2F5Q2kQQEeCQRfAVtSc0sw" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_OKTEEDQ4EeC0ueejuetpgA"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_2F5Q20QQEeCQRfAVtSc0sw" name="base_Transition" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_2F5Q3UQQEeCQRfAVtSc0sw" name="fromPort" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_2F5Q30QQEeCQRfAVtSc0sw" name="logic" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_2F5Q4UQQEeCQRfAVtSc0sw" name="Error">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_2F5Q4kQQEeCQRfAVtSc0sw" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_W3CKsDQ4EeC0ueejuetpgA"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_2F5Q40QQEeCQRfAVtSc0sw" name="base_State" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_2F5Q5UQQEeCQRfAVtSc0sw" name="ErrorFree">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_2F5Q5kQQEeCQRfAVtSc0sw" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_cUpC4DQ4EeC0ueejuetpgA"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_2F5Q50QQEeCQRfAVtSc0sw" name="base_State" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_2bqFAEQQEeCQRfAVtSc0sw" name="probability" ordered="false" lowerBound="1" eType="_2aBGQkQQEeCQRfAVtSc0sw"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_2F5Q60QQEeCQRfAVtSc0sw" name="Unclassified">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_2F5Q7EQQEeCQRfAVtSc0sw" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_eg3C0DQ4EeC0ueejuetpgA"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_2F5Q7UQQEeCQRfAVtSc0sw" name="base_State" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_2csm0EQQEeCQRfAVtSc0sw" name="probability" ordered="false" lowerBound="1" eType="_2aBGQkQQEeCQRfAVtSc0sw"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_2F5Q8UQQEeCQRfAVtSc0sw" name="FailureMode">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_2F5Q8kQQEeCQRfAVtSc0sw" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_gtsGwDQ4EeC0ueejuetpgA"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_2F5Q80QQEeCQRfAVtSc0sw" name="base_State" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_2F5Q90QQEeCQRfAVtSc0sw" name="affectedPorts" ordered="false" upperBound="-1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_2d45oEQQEeCQRfAVtSc0sw" name="probability" ordered="false" lowerBound="1" eType="_2aBGQkQQEeCQRfAVtSc0sw"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_2F5Q-UQQEeCQRfAVtSc0sw" name="Propagation">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_2F5Q-kQQEeCQRfAVtSc0sw" source="http://www.eclipse.org/uml2/2.0.0/UML"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_2F5Q-0QQEeCQRfAVtSc0sw" name="base_Transition" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_2F5Q_0QQEeCQRfAVtSc0sw" name="tf" ordered="false" upperBound="-1">
+                <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_2fYHYEQQEeCQRfAVtSc0sw" name="probability" ordered="false" lowerBound="1" eType="_2aBGQkQQEeCQRfAVtSc0sw"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_2aBGQkQQEeCQRfAVtSc0sw" name="NFP_Real" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_2aBGQ0QQEeCQRfAVtSc0sw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_Yq-MQBFQEdyUJeMeN__D-A"/>
+              </eAnnotations>
+            </eClassifiers>
+          </contents>
+          <contents xmi:type="ecore:EPackage" xmi:id="_U0lJ8DRoEeCPrptoDUJcNQ" name="ThreatsPropagation" nsURI="http://CHESS.Dependability/schemas/ThreatsPropagation/_U0bY8DRoEeCPrptoDUJcNQ/1" nsPrefix="ThreatsPropagation">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_U5CzMDRoEeCPrptoDUJcNQ" source="PapyrusVersion">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_U5CzMTRoEeCPrptoDUJcNQ" key="Version" value="0.0.2"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_U5CzMjRoEeCPrptoDUJcNQ" key="Comment" value=""/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_U5CzMzRoEeCPrptoDUJcNQ" key="Copyright" value=""/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_U5CzNDRoEeCPrptoDUJcNQ" key="Date" value="2011-02-09"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_U5CzNTRoEeCPrptoDUJcNQ" key="Author" value=""/>
+            </eAnnotations>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_U0lJ8TRoEeCPrptoDUJcNQ" name="ErrorModel">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_U0lJ8jRoEeCPrptoDUJcNQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_90It8DQ3EeC0ueejuetpgA"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_U0lJ8zRoEeCPrptoDUJcNQ" name="base_StateMachine" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//StateMachine"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_U0lJ9TRoEeCPrptoDUJcNQ" name="InternalFault">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_U0lJ9jRoEeCPrptoDUJcNQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_C7ZisDQ4EeC0ueejuetpgA"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_U0lJ9zRoEeCPrptoDUJcNQ" name="base_Transition" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_U04E4DRoEeCPrptoDUJcNQ" name="permanentProb" ordered="false" lowerBound="1" eType="_U04E4jRoEeCPrptoDUJcNQ"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_U0lKTjRoEeCPrptoDUJcNQ" name="MARTE_Library_MARTE_DataTypes_VSL_Expression" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_U0lKTzRoEeCPrptoDUJcNQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_bManMBEBEdyx6M3BlUjlCQ"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_U0lKUDRoEeCPrptoDUJcNQ" name="MARTE_Library_BasicNFP_Types_SourceKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_U0lKUTRoEeCPrptoDUJcNQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_oMZzEBD-EdyybZnLxHsjyA"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_U0lKUjRoEeCPrptoDUJcNQ" name="est"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_U0lKUzRoEeCPrptoDUJcNQ" name="meas" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_U0lKVDRoEeCPrptoDUJcNQ" name="calc" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_U0lKVTRoEeCPrptoDUJcNQ" name="req" value="3"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_U0lKVjRoEeCPrptoDUJcNQ" name="MARTE_Library_BasicNFP_Types_StatisticalQualifierKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_U0lKVzRoEeCPrptoDUJcNQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_0N52EBD-EdyybZnLxHsjyA"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_U0lKWDRoEeCPrptoDUJcNQ" name="max"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_U0lKWTRoEeCPrptoDUJcNQ" name="min" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_U0lKWjRoEeCPrptoDUJcNQ" name="mean" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_U0lKWzRoEeCPrptoDUJcNQ" name="range" value="3"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_U0lKXDRoEeCPrptoDUJcNQ" name="percent" value="4"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_U0lKXTRoEeCPrptoDUJcNQ" name="distrib" value="5"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_U0lKXjRoEeCPrptoDUJcNQ" name="determ" value="6"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_U0lKXzRoEeCPrptoDUJcNQ" name="other" value="7"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_U0lKYDRoEeCPrptoDUJcNQ" name="variance" value="8"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_U0lKYTRoEeCPrptoDUJcNQ" name="MARTE_Library_BasicNFP_Types_DirectionKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_U0lKYjRoEeCPrptoDUJcNQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_vvfxEBD-EdyybZnLxHsjyA"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_U0lKYzRoEeCPrptoDUJcNQ" name="incr"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_U0lKZDRoEeCPrptoDUJcNQ" name="decr" value="1"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_U0lKZTRoEeCPrptoDUJcNQ" name="MARTE_Library_MARTE_PrimitivesTypes_Real" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_U0lKZjRoEeCPrptoDUJcNQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_beo90AnpEdy9WM11hWri2g"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_U0lKZzRoEeCPrptoDUJcNQ" name="MARTE_Library_MARTE_PrimitivesTypes_Integer" instanceClassName="int">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_U0lKaDRoEeCPrptoDUJcNQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_HJ1zcAnfEdy9WM11hWri2g"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_U0lKaTRoEeCPrptoDUJcNQ" name="ExternalFault">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_U0lKajRoEeCPrptoDUJcNQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_OKTEEDQ4EeC0ueejuetpgA"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_U0lKazRoEeCPrptoDUJcNQ" name="base_Transition" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_U0lKbTRoEeCPrptoDUJcNQ" name="fromPort" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_U0lKbzRoEeCPrptoDUJcNQ" name="logic" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_U0lKcTRoEeCPrptoDUJcNQ" name="Error">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_U0lKcjRoEeCPrptoDUJcNQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_W3CKsDQ4EeC0ueejuetpgA"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_U0lKczRoEeCPrptoDUJcNQ" name="base_State" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_U0lKdTRoEeCPrptoDUJcNQ" name="ErrorFree">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_U0lKdjRoEeCPrptoDUJcNQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_cUpC4DQ4EeC0ueejuetpgA"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_U0lKdzRoEeCPrptoDUJcNQ" name="base_State" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_U16msDRoEeCPrptoDUJcNQ" name="probability" ordered="false" lowerBound="1" eType="_U04E4jRoEeCPrptoDUJcNQ"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_U0lKezRoEeCPrptoDUJcNQ" name="Unclassified">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_U0lKfDRoEeCPrptoDUJcNQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_eg3C0DQ4EeC0ueejuetpgA"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_U0lKfTRoEeCPrptoDUJcNQ" name="base_State" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_U2qNkDRoEeCPrptoDUJcNQ" name="probability" ordered="false" lowerBound="1" eType="_U04E4jRoEeCPrptoDUJcNQ"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_U0lKgTRoEeCPrptoDUJcNQ" name="FailureMode">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_U0lKgjRoEeCPrptoDUJcNQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_gtsGwDQ4EeC0ueejuetpgA"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_U0lKgzRoEeCPrptoDUJcNQ" name="base_State" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_U0lKhzRoEeCPrptoDUJcNQ" name="affectedPorts" ordered="false" upperBound="-1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_U3abgDRoEeCPrptoDUJcNQ" name="probability" ordered="false" lowerBound="1" eType="_U04E4jRoEeCPrptoDUJcNQ"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_U0lKiTRoEeCPrptoDUJcNQ" name="Propagation">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_U0lKijRoEeCPrptoDUJcNQ" source="http://www.eclipse.org/uml2/2.0.0/UML"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_U0lKizRoEeCPrptoDUJcNQ" name="base_Transition" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_U0lKjzRoEeCPrptoDUJcNQ" name="tf" ordered="false" upperBound="-1">
+                <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_U4TMUDRoEeCPrptoDUJcNQ" name="probability" ordered="false" lowerBound="1" eType="_U04E4jRoEeCPrptoDUJcNQ"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_U04E4jRoEeCPrptoDUJcNQ" name="NFP_Real" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_U04E4zRoEeCPrptoDUJcNQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_Yq-MQBFQEdyUJeMeN__D-A"/>
+              </eAnnotations>
+            </eClassifiers>
+          </contents>
+          <contents xmi:type="ecore:EPackage" xmi:id="_ljRY0DQ8EeC0ueejuetpgA" name="ThreatsPropagation" nsURI="http://CHESS.Dependability/schemas/ThreatsPropagation/_li0s4DQ8EeC0ueejuetpgA/0" nsPrefix="ThreatsPropagation">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_lncHIDQ8EeC0ueejuetpgA" source="PapyrusVersion">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_lncHITQ8EeC0ueejuetpgA" key="Version" value="0.0.1"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_lncHIjQ8EeC0ueejuetpgA" key="Comment" value="New Dependability Profile"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_lncHIzQ8EeC0ueejuetpgA" key="Copyright" value=""/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_lncHJDQ8EeC0ueejuetpgA" key="Date" value="2011-02-09"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_lncHJTQ8EeC0ueejuetpgA" key="Author" value=""/>
+            </eAnnotations>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_ljRY0TQ8EeC0ueejuetpgA" name="ErrorModel">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ljRY0jQ8EeC0ueejuetpgA" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_90It8DQ3EeC0ueejuetpgA"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_ljRY0zQ8EeC0ueejuetpgA" name="base_StateMachine" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//StateMachine"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_ljRY1TQ8EeC0ueejuetpgA" name="InternalFault">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ljRY1jQ8EeC0ueejuetpgA" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_C7ZisDQ4EeC0ueejuetpgA"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_ljRY1zQ8EeC0ueejuetpgA" name="base_Transition" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_lj3OsDQ8EeC0ueejuetpgA" name="permanentProb" ordered="false" lowerBound="1" eType="_lj3OsjQ8EeC0ueejuetpgA"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_ljRZLjQ8EeC0ueejuetpgA" name="MARTE_Library_MARTE_DataTypes_VSL_Expression" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ljRZLzQ8EeC0ueejuetpgA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_bManMBEBEdyx6M3BlUjlCQ"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_ljRZMDQ8EeC0ueejuetpgA" name="MARTE_Library_BasicNFP_Types_SourceKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ljRZMTQ8EeC0ueejuetpgA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_oMZzEBD-EdyybZnLxHsjyA"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_ljRZMjQ8EeC0ueejuetpgA" name="est"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_ljRZMzQ8EeC0ueejuetpgA" name="meas" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_ljRZNDQ8EeC0ueejuetpgA" name="calc" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_ljRZNTQ8EeC0ueejuetpgA" name="req" value="3"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_ljRZNjQ8EeC0ueejuetpgA" name="MARTE_Library_BasicNFP_Types_StatisticalQualifierKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ljRZNzQ8EeC0ueejuetpgA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_0N52EBD-EdyybZnLxHsjyA"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_ljRZODQ8EeC0ueejuetpgA" name="max"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_ljRZOTQ8EeC0ueejuetpgA" name="min" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_ljRZOjQ8EeC0ueejuetpgA" name="mean" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_ljRZOzQ8EeC0ueejuetpgA" name="range" value="3"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_ljRZPDQ8EeC0ueejuetpgA" name="percent" value="4"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_ljRZPTQ8EeC0ueejuetpgA" name="distrib" value="5"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_ljRZPjQ8EeC0ueejuetpgA" name="determ" value="6"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_ljRZPzQ8EeC0ueejuetpgA" name="other" value="7"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_ljRZQDQ8EeC0ueejuetpgA" name="variance" value="8"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_ljRZQTQ8EeC0ueejuetpgA" name="MARTE_Library_BasicNFP_Types_DirectionKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ljRZQjQ8EeC0ueejuetpgA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_vvfxEBD-EdyybZnLxHsjyA"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_ljRZQzQ8EeC0ueejuetpgA" name="incr"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_ljRZRDQ8EeC0ueejuetpgA" name="decr" value="1"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_ljRZRTQ8EeC0ueejuetpgA" name="MARTE_Library_MARTE_PrimitivesTypes_Real" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ljRZRjQ8EeC0ueejuetpgA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_beo90AnpEdy9WM11hWri2g"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_ljRZRzQ8EeC0ueejuetpgA" name="MARTE_Library_MARTE_PrimitivesTypes_Integer" instanceClassName="int">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ljRZSDQ8EeC0ueejuetpgA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_HJ1zcAnfEdy9WM11hWri2g"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_ljRZSTQ8EeC0ueejuetpgA" name="ExternalFault">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ljRZSjQ8EeC0ueejuetpgA" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_OKTEEDQ4EeC0ueejuetpgA"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_ljRZSzQ8EeC0ueejuetpgA" name="base_Transition" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_ljRZTTQ8EeC0ueejuetpgA" name="fromPort" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_ljRZTzQ8EeC0ueejuetpgA" name="logic" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_ljRZUTQ8EeC0ueejuetpgA" name="Error">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ljRZUjQ8EeC0ueejuetpgA" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_W3CKsDQ4EeC0ueejuetpgA"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_ljRZUzQ8EeC0ueejuetpgA" name="base_State" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_ljRZVTQ8EeC0ueejuetpgA" name="ErrorFree">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ljRZVjQ8EeC0ueejuetpgA" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_cUpC4DQ4EeC0ueejuetpgA"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_ljRZVzQ8EeC0ueejuetpgA" name="base_State" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_lk6XkDQ8EeC0ueejuetpgA" name="probability" ordered="false" lowerBound="1" eType="_lj3OsjQ8EeC0ueejuetpgA"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_ljRZWzQ8EeC0ueejuetpgA" name="Unclassified">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ljRZXDQ8EeC0ueejuetpgA" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_eg3C0DQ4EeC0ueejuetpgA"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_ljRZXTQ8EeC0ueejuetpgA" name="base_State" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_llgNcDQ8EeC0ueejuetpgA" name="probability" ordered="false" lowerBound="1" eType="_lj3OsjQ8EeC0ueejuetpgA"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_ljRZYTQ8EeC0ueejuetpgA" name="FailureMode">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ljRZYjQ8EeC0ueejuetpgA" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_gtsGwDQ4EeC0ueejuetpgA"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_ljRZYzQ8EeC0ueejuetpgA" name="base_State" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_lmGqYDQ8EeC0ueejuetpgA" name="probability" ordered="false" lowerBound="1" eType="_lj3OsjQ8EeC0ueejuetpgA"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_ljRZZzQ8EeC0ueejuetpgA" name="Propagation">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ljRZaDQ8EeC0ueejuetpgA" source="http://www.eclipse.org/uml2/2.0.0/UML"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_ljRZaTQ8EeC0ueejuetpgA" name="base_Transition" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_ljRZbTQ8EeC0ueejuetpgA" name="tf" ordered="false" upperBound="-1">
+                <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_lmsgQTQ8EeC0ueejuetpgA" name="probability" ordered="false" lowerBound="1" eType="_lj3OsjQ8EeC0ueejuetpgA"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_lj3OsjQ8EeC0ueejuetpgA" name="NFP_Real" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_lj3OszQ8EeC0ueejuetpgA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_Yq-MQBFQEdyUJeMeN__D-A"/>
+              </eAnnotations>
+            </eClassifiers>
+          </contents>
+        </eAnnotations>
+        <elementImport xmi:type="uml:ElementImport" xmi:id="_AGLpEDQ4EeC0ueejuetpgA" alias="StateMachine">
+          <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#StateMachine"/>
+        </elementImport>
+        <elementImport xmi:type="uml:ElementImport" xmi:id="_EsXKADQ4EeC0ueejuetpgA" alias="Transition">
+          <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Transition"/>
+        </elementImport>
+        <elementImport xmi:type="uml:ElementImport" xmi:id="_YOEPEDQ4EeC0ueejuetpgA" alias="State">
+          <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#State"/>
+        </elementImport>
+        <packagedElement xmi:type="uml:Stereotype" xmi:id="_90It8DQ3EeC0ueejuetpgA" name="ErrorModel">
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_Ag2y4DQ4EeC0ueejuetpgA" name="base_StateMachine" association="_Ag2y4TQ4EeC0ueejuetpgA">
+            <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#StateMachine"/>
+          </ownedAttribute>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Extension" xmi:id="_Ag2y4TQ4EeC0ueejuetpgA" name="E_ErrorModel_StateMachine0" memberEnd="_Ag2y4jQ4EeC0ueejuetpgA _Ag2y4DQ4EeC0ueejuetpgA">
+          <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_Ag2y4jQ4EeC0ueejuetpgA" name="extension_ErrorModel" type="_90It8DQ3EeC0ueejuetpgA" aggregation="composite" association="_Ag2y4TQ4EeC0ueejuetpgA"/>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Stereotype" xmi:id="_C7ZisDQ4EeC0ueejuetpgA" name="InternalFault">
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_FDw9YDQ4EeC0ueejuetpgA" name="base_Transition" association="_FDw9YTQ4EeC0ueejuetpgA">
+            <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Transition"/>
+          </ownedAttribute>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_lWF1QDQ4EeC0ueejuetpgA" name="permanentProb" visibility="public">
+            <type xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_Yq-MQBFQEdyUJeMeN__D-A"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_o3QO4DQ4EeC0ueejuetpgA" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_o3Z_4DQ4EeC0ueejuetpgA" value="1"/>
+            <defaultValue xmi:type="uml:LiteralString" xmi:id="_o3jJ0DQ4EeC0ueejuetpgA">
+              <value xsi:nil="true"/>
+            </defaultValue>
+          </ownedAttribute>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_pa1bEKcNEeCLJKy7uMU5GA" name="transfFunct">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_BGlesKcOEeCLJKy7uMU5GA"/>
+          </ownedAttribute>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_GrVgsKcOEeCLJKy7uMU5GA" name="property">
+            <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_JZ5YsKcOEeCLJKy7uMU5GA"/>
+          </ownedAttribute>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_qvPMwKcOEeCLJKy7uMU5GA" name="childFailure">
+            <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#State"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_vhVCwKcOEeCLJKy7uMU5GA"/>
+          </ownedAttribute>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_by45QNiSEeCzEZgzjRUzHw" name="occurrence">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_eFX5QNiSEeCzEZgzjRUzHw"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_eFhDMNiSEeCzEZgzjRUzHw" value="1"/>
+          </ownedAttribute>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_iOecoNiSEeCzEZgzjRUzHw" name="transientDuration">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_jsf50NiSEeCzEZgzjRUzHw"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_jspq0NiSEeCzEZgzjRUzHw" value="1"/>
+          </ownedAttribute>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Extension" xmi:id="_FDw9YTQ4EeC0ueejuetpgA" name="E_InternalFault_Transition0" memberEnd="_FDw9YjQ4EeC0ueejuetpgA _FDw9YDQ4EeC0ueejuetpgA">
+          <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_FDw9YjQ4EeC0ueejuetpgA" name="extension_InternalFault" type="_C7ZisDQ4EeC0ueejuetpgA" aggregation="composite" association="_FDw9YTQ4EeC0ueejuetpgA"/>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Stereotype" xmi:id="_OKTEEDQ4EeC0ueejuetpgA" name="ExternalFault">
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_PTxNkDQ4EeC0ueejuetpgA" name="base_Transition" association="_PTxNkTQ4EeC0ueejuetpgA">
+            <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Transition"/>
+          </ownedAttribute>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_QsSfsDQ4EeC0ueejuetpgA" name="fromPort" visibility="public">
+            <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Port"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_RumRQDQ4EeC0ueejuetpgA" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RumRQTQ4EeC0ueejuetpgA" value="*"/>
+            <defaultValue xmi:type="uml:LiteralString" xmi:id="_RuwCQDQ4EeC0ueejuetpgA">
+              <value xsi:nil="true"/>
+            </defaultValue>
+          </ownedAttribute>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_AWlvsKcPEeCLJKy7uMU5GA" name="propagationCondition">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_BuFHEKcPEeCLJKy7uMU5GA"/>
+          </ownedAttribute>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_Lmr1oL9SEeCOtecSzivGvQ" name="probability" visibility="public">
+            <type xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_Yq-MQBFQEdyUJeMeN__D-A"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Lmr1or9SEeCOtecSzivGvQ" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Lmr1ob9SEeCOtecSzivGvQ" value="1"/>
+            <defaultValue xmi:type="uml:LiteralString" xmi:id="_Lmr1o79SEeCOtecSzivGvQ">
+              <value xsi:nil="true"/>
+            </defaultValue>
+          </ownedAttribute>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_W5kfIL9SEeCOtecSzivGvQ" name="unit">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_W5kfIb9SEeCOtecSzivGvQ"/>
+          </ownedAttribute>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_Y-fkQL9SEeCOtecSzivGvQ" name="type" visibility="public" type="_hh4TEKcTEeCLJKy7uMU5GA">
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Y-fkQr9SEeCOtecSzivGvQ" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Y-fkQb9SEeCOtecSzivGvQ" value="1"/>
+            <defaultValue xmi:type="uml:LiteralString" xmi:id="_Y-fkQ79SEeCOtecSzivGvQ">
+              <value xsi:nil="true"/>
+            </defaultValue>
+          </ownedAttribute>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_gsoUoL9SEeCOtecSzivGvQ" name="transfFunct" visibility="public">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gsoUor9SEeCOtecSzivGvQ"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gsoUob9SEeCOtecSzivGvQ" value="*"/>
+            <defaultValue xmi:type="uml:LiteralString" xmi:id="_gsoUo79SEeCOtecSzivGvQ">
+              <value xsi:nil="true"/>
+            </defaultValue>
+          </ownedAttribute>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Extension" xmi:id="_PTxNkTQ4EeC0ueejuetpgA" name="E_ExternalFault_Transition0" memberEnd="_PTxNkjQ4EeC0ueejuetpgA _PTxNkDQ4EeC0ueejuetpgA">
+          <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_PTxNkjQ4EeC0ueejuetpgA" name="extension_ExternalFault" type="_OKTEEDQ4EeC0ueejuetpgA" aggregation="composite" association="_PTxNkTQ4EeC0ueejuetpgA"/>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Stereotype" xmi:id="_W3CKsDQ4EeC0ueejuetpgA" name="Error">
+          <generalization xmi:type="uml:Generalization" xmi:id="_Me6MML9UEeCOtecSzivGvQ" general="_C-dwsL9UEeCOtecSzivGvQ"/>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_Ea0LYKcVEeCLJKy7uMU5GA" name="type" visibility="public" type="_hh4TEKcTEeCLJKy7uMU5GA">
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_I2_bwKcVEeCLJKy7uMU5GA" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_I3IlsKcVEeCLJKy7uMU5GA" value="1"/>
+            <defaultValue xmi:type="uml:LiteralString" xmi:id="_I3RIkKcVEeCLJKy7uMU5GA">
+              <value xsi:nil="true"/>
+            </defaultValue>
+          </ownedAttribute>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_DT-TUNiSEeCzEZgzjRUzHw" name="vanishingTime">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_XswxYNiSEeCzEZgzjRUzHw"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Xs6iYNiSEeCzEZgzjRUzHw" value="1"/>
+          </ownedAttribute>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Stereotype" xmi:id="_cUpC4DQ4EeC0ueejuetpgA" name="ErrorFree">
+          <generalization xmi:type="uml:Generalization" xmi:id="_XA6yYL9UEeCOtecSzivGvQ" general="_C-dwsL9UEeCOtecSzivGvQ"/>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Stereotype" xmi:id="_eg3C0DQ4EeC0ueejuetpgA" name="UnclassifiedError">
+          <generalization xmi:type="uml:Generalization" xmi:id="_ZRUHsL9UEeCOtecSzivGvQ" general="_C-dwsL9UEeCOtecSzivGvQ"/>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Stereotype" xmi:id="_gtsGwDQ4EeC0ueejuetpgA" name="FailureMode">
+          <generalization xmi:type="uml:Generalization" xmi:id="_as9mUL9UEeCOtecSzivGvQ" general="_C-dwsL9UEeCOtecSzivGvQ"/>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_PrP4oDRoEeCPrptoDUJcNQ" name="affectedPorts" visibility="public">
+            <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Port"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_RJR84DRoEeCPrptoDUJcNQ"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RJbt4DRoEeCPrptoDUJcNQ" value="*"/>
+            <defaultValue xmi:type="uml:LiteralString" xmi:id="_RJk30DRoEeCPrptoDUJcNQ">
+              <value xsi:nil="true"/>
+            </defaultValue>
+          </ownedAttribute>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_tsLI4KcXEeCLJKy7uMU5GA" name="type" visibility="public" type="_hh4TEKcTEeCLJKy7uMU5GA">
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_veqaMKcXEeCLJKy7uMU5GA" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_vey9EKcXEeCLJKy7uMU5GA" value="1"/>
+            <defaultValue xmi:type="uml:LiteralString" xmi:id="_ve7f8KcXEeCLJKy7uMU5GA">
+              <value xsi:nil="true"/>
+            </defaultValue>
+          </ownedAttribute>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Stereotype" xmi:id="_-BcuMKcXEeCLJKy7uMU5GA" name="FailureFree">
+          <generalization xmi:type="uml:Generalization" xmi:id="_cK15kL9UEeCOtecSzivGvQ" general="_C-dwsL9UEeCOtecSzivGvQ"/>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Stereotype" xmi:id="_WsXTUKcZEeCLJKy7uMU5GA" name="UnclassifiedFailure">
+          <generalization xmi:type="uml:Generalization" xmi:id="_decPcL9UEeCOtecSzivGvQ" general="_C-dwsL9UEeCOtecSzivGvQ"/>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Enumeration" xmi:id="_hh4TEKcTEeCLJKy7uMU5GA" name="DurationType">
+          <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_jBoOkKcTEeCLJKy7uMU5GA" name="transient"/>
+          <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_jP5UEKcTEeCLJKy7uMU5GA" name="permanent"/>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Stereotype" xmi:id="_C-dwsL9UEeCOtecSzivGvQ" name="ThreatState">
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_FwZFwL9UEeCOtecSzivGvQ" name="base_State" association="_FwZFwb9UEeCOtecSzivGvQ">
+            <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#State"/>
+          </ownedAttribute>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_O6e2wL9UEeCOtecSzivGvQ" name="probability">
+            <type xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_Yq-MQBFQEdyUJeMeN__D-A"/>
+          </ownedAttribute>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_KEuMQL9VEeCOtecSzivGvQ" name="unit">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_KEuMQb9VEeCOtecSzivGvQ"/>
+          </ownedAttribute>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Extension" xmi:id="_FwZFwb9UEeCOtecSzivGvQ" name="E_ThreatState_State0" memberEnd="_FwZFwr9UEeCOtecSzivGvQ _FwZFwL9UEeCOtecSzivGvQ">
+          <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_FwZFwr9UEeCOtecSzivGvQ" name="extension_ThreatState" type="_C-dwsL9UEeCOtecSzivGvQ" aggregation="composite" association="_FwZFwb9UEeCOtecSzivGvQ"/>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Stereotype" xmi:id="_yQjfEImOEeODrcgAiMzRCg" name="StuckAt">
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_tuF6IImGEeODrcgAiMzRCg" name="property">
+            <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+          </ownedAttribute>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_7ABDMImGEeODrcgAiMzRCg" name="value">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+          </ownedAttribute>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_lSG3EI19EeOAr5SJygOCbw" name="base_State" association="_lSIFMI19EeOAr5SJygOCbw">
+            <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#State"/>
+          </ownedAttribute>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Extension" xmi:id="_lSIFMI19EeOAr5SJygOCbw" name="E_StuckAt_State1" memberEnd="_lSIFMY19EeOAr5SJygOCbw _lSG3EI19EeOAr5SJygOCbw">
+          <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_lSIFMY19EeOAr5SJygOCbw" name="extension_StuckAt" type="_yQjfEImOEeODrcgAiMzRCg" aggregation="composite" association="_lSIFMI19EeOAr5SJygOCbw"/>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Stereotype" xmi:id="_Et5L0I5rEeOCpeH37jWMhw" name="StuckAtFixed">
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_xlMnMI5rEeOCpeH37jWMhw" name="base_State" association="_xlNOQI5rEeOCpeH37jWMhw">
+            <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#State"/>
+          </ownedAttribute>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_FUyFUI5uEeOjpOW2pJw89Q" name="property">
+            <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+          </ownedAttribute>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Stereotype" xmi:id="_F1BL8I5rEeOCpeH37jWMhw" name="Inverted">
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_x_xDUI5rEeOCpeH37jWMhw" name="base_State" association="_x_xDUY5rEeOCpeH37jWMhw">
+            <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#State"/>
+          </ownedAttribute>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_Fx2b0I5uEeOjpOW2pJw89Q" name="property">
+            <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+          </ownedAttribute>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Stereotype" xmi:id="_GdDcUI5rEeOCpeH37jWMhw" name="RampDown">
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_yaNjoI5rEeOCpeH37jWMhw" name="base_State" association="_yaOKsI5rEeOCpeH37jWMhw">
+            <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#State"/>
+          </ownedAttribute>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_eN93UI5sEeOCpeH37jWMhw" name="property">
+            <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+          </ownedAttribute>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_fkMDYI5sEeOCpeH37jWMhw" name="decr">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+          </ownedAttribute>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_glHU4I5sEeOCpeH37jWMhw" name="endValue">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+          </ownedAttribute>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Extension" xmi:id="_xlNOQI5rEeOCpeH37jWMhw" name="E_StuckAtFixed_State1" memberEnd="_xlNOQY5rEeOCpeH37jWMhw _xlMnMI5rEeOCpeH37jWMhw">
+          <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_xlNOQY5rEeOCpeH37jWMhw" name="extension_StuckAtFixed" type="_Et5L0I5rEeOCpeH37jWMhw" aggregation="composite" association="_xlNOQI5rEeOCpeH37jWMhw"/>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Extension" xmi:id="_x_xDUY5rEeOCpeH37jWMhw" name="E_Inverted_State1" memberEnd="_x_xDUo5rEeOCpeH37jWMhw _x_xDUI5rEeOCpeH37jWMhw">
+          <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_x_xDUo5rEeOCpeH37jWMhw" name="extension_Inverted" type="_F1BL8I5rEeOCpeH37jWMhw" aggregation="composite" association="_x_xDUY5rEeOCpeH37jWMhw"/>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Extension" xmi:id="_yaOKsI5rEeOCpeH37jWMhw" name="E_RampDown_State1" memberEnd="_yaOKsY5rEeOCpeH37jWMhw _yaNjoI5rEeOCpeH37jWMhw">
+          <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_yaOKsY5rEeOCpeH37jWMhw" name="extension_RampDown" type="_GdDcUI5rEeOCpeH37jWMhw" aggregation="composite" association="_yaOKsI5rEeOCpeH37jWMhw"/>
+        </packagedElement>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Profile" xmi:id="_kJICMFiIEeGbwa2cK55fPQ" name="MitigationMeans" URI="http://CHESS.Dependability/MitigationMeans" metaclassReference="_YoYtcFiJEeG7ipvuc3Lqcg">
+        <elementImport xmi:type="uml:ElementImport" xmi:id="_YoYtcFiJEeG7ipvuc3Lqcg" alias="Connector">
+          <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Connector"/>
+        </elementImport>
+        <packagedElement xmi:type="uml:Stereotype" xmi:id="_VD3d0FiJEeG7ipvuc3Lqcg" name="TransmissionWithProtocol">
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_ZSzjcFiJEeG7ipvuc3Lqcg" name="base_Connector" association="_ZS0xkFiJEeG7ipvuc3Lqcg">
+            <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Connector"/>
+          </ownedAttribute>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_bnimMFiJEeG7ipvuc3Lqcg" name="CRC">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+          </ownedAttribute>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_cicIMFiJEeG7ipvuc3Lqcg" name="UseSeqID">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+          </ownedAttribute>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Extension" xmi:id="_ZS0xkFiJEeG7ipvuc3Lqcg" name="E_TransmissionWithProtocol_Connector0" memberEnd="_ZS0xkViJEeG7ipvuc3Lqcg _ZSzjcFiJEeG7ipvuc3Lqcg">
+          <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_ZS0xkViJEeG7ipvuc3Lqcg" name="extension_TransmissionWithProtocol" type="_VD3d0FiJEeG7ipvuc3Lqcg" aggregation="composite" association="_ZS0xkFiJEeG7ipvuc3Lqcg"/>
+        </packagedElement>
+      </packagedElement>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Package" xmi:id="_ioSQkMGMEd--atLXXafOiQ" name="Predictability">
+      <packagedElement xmi:type="uml:Profile" xmi:id="_u88ZMLwzEd-CDNLmLgazUQ" name="TimingAnalysis" URI="http://CHESS.Predictability/schemas/TimingAnaylsis/_SGMOYMe6Ed-7etIj5eTw0Q/8">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_JJyfIMGbEd--atLXXafOiQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+          <contents xmi:type="ecore:EPackage" xmi:id="_ShBJMMe6Ed-7etIj5eTw0Q" name="TimingAnaylsis" nsURI="http://CHESS.Predictability/schemas/TimingAnaylsis/_SGMOYMe6Ed-7etIj5eTw0Q/8" nsPrefix="TimingAnaylsis">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_XqyfZMe6Ed-7etIj5eTw0Q" source="PapyrusVersion">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XqyfZce6Ed-7etIj5eTw0Q" key="Version" value="0.1.8"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XqyfZse6Ed-7etIj5eTw0Q" key="Comment" value=""/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XqyfZ8e6Ed-7etIj5eTw0Q" key="Copyright" value=""/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XqyfaMe6Ed-7etIj5eTw0Q" key="Date" value="2010-09-24"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Xqyface6Ed-7etIj5eTw0Q" key="Author" value=""/>
+            </eAnnotations>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_ShBJMce6Ed-7etIj5eTw0Q" name="SimulationBasedTimingAnalysis">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ShBJMse6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_-HubwMDdEd-RT45s8cwWMg"/>
+              <eSuperTypes xmi:type="ecore:EClass" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_329vLZi4Ed-m0Oaexd_lJA"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_ShBJpse6Ed-7etIj5eTw0Q" name="MARTE_Library_MARTE_DataTypes_VSL_Expression" instanceClassName="MARTE_Library_MARTE_DataTypes_VSL_Expression">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ShBJp8e6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_bManMBEBEdyx6M3BlUjlCQ"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_ShBJqMe6Ed-7etIj5eTw0Q" name="MARTE_Library_BasicNFP_Types_SourceKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ShBJqce6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_oMZzEBD-EdyybZnLxHsjyA"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_ShBJqse6Ed-7etIj5eTw0Q" name="est"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_ShBJq8e6Ed-7etIj5eTw0Q" name="meas" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_ShBJrMe6Ed-7etIj5eTw0Q" name="calc" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_ShBJrce6Ed-7etIj5eTw0Q" name="req" value="3"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_ShBJrse6Ed-7etIj5eTw0Q" name="MARTE_Library_BasicNFP_Types_StatisticalQualifierKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ShBJr8e6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_0N52EBD-EdyybZnLxHsjyA"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_ShBJsMe6Ed-7etIj5eTw0Q" name="max"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_ShBJsce6Ed-7etIj5eTw0Q" name="min" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_ShBJsse6Ed-7etIj5eTw0Q" name="mean" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_ShBJs8e6Ed-7etIj5eTw0Q" name="range" value="3"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_ShBJtMe6Ed-7etIj5eTw0Q" name="percent" value="4"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_ShBJtce6Ed-7etIj5eTw0Q" name="distrib" value="5"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_ShBJtse6Ed-7etIj5eTw0Q" name="determ" value="6"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_ShBJt8e6Ed-7etIj5eTw0Q" name="other" value="7"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_ShBJuMe6Ed-7etIj5eTw0Q" name="variance" value="8"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_ShBJuce6Ed-7etIj5eTw0Q" name="MARTE_Library_BasicNFP_Types_DirectionKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ShBJuse6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_vvfxEBD-EdyybZnLxHsjyA"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_ShBJu8e6Ed-7etIj5eTw0Q" name="incr"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_ShBJvMe6Ed-7etIj5eTw0Q" name="decr" value="1"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_ShBJvce6Ed-7etIj5eTw0Q" name="MARTE_Library_MARTE_PrimitivesTypes_Real" instanceClassName="MARTE_Library_MARTE_PrimitivesTypes_Real">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ShBJvse6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_beo90AnpEdy9WM11hWri2g"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_ShBJv8e6Ed-7etIj5eTw0Q" name="MARTE_Library_MARTE_PrimitivesTypes_Integer" instanceClassName="MARTE_Library_MARTE_PrimitivesTypes_Integer">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ShBJwMe6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_HJ1zcAnfEdy9WM11hWri2g"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_ShBJwce6Ed-7etIj5eTw0Q" name="MARTE_Library_MARTE_PrimitivesTypes_String" instanceClassName="MARTE_Library_MARTE_PrimitivesTypes_String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ShBJwse6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_qZ3GUAnxEdy9WM11hWri2g"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_ShBKCce6Ed-7etIj5eTw0Q" name="MARTE_Library_MeasurementUnits_TimeUnitKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ShBKCse6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_Iaa3gA4yEdysTsAUPnp57Q"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_ShBKC8e6Ed-7etIj5eTw0Q" name="s"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_ShBKDMe6Ed-7etIj5eTw0Q" name="tick" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_ShBKDce6Ed-7etIj5eTw0Q" name="ms" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_ShBKDse6Ed-7etIj5eTw0Q" name="us" value="3"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_ShBKD8e6Ed-7etIj5eTw0Q" name="min" value="4"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_ShBKEMe6Ed-7etIj5eTw0Q" name="hrs" value="5"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_ShBKEce6Ed-7etIj5eTw0Q" name="day" value="6"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_ShBKGce6Ed-7etIj5eTw0Q" name="MARTE_Library_MeasurementUnits_DataSizeUnitKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ShBKGse6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_2pVmEA4yEdysTsAUPnp57Q"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_ShBKG8e6Ed-7etIj5eTw0Q" name="bit"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_ShBKHMe6Ed-7etIj5eTw0Q" name="Byte" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_ShBKHce6Ed-7etIj5eTw0Q" name="KB" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_ShBKHse6Ed-7etIj5eTw0Q" name="MB" value="3"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_ShBKH8e6Ed-7etIj5eTw0Q" name="GB" value="4"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_ShBKJ8e6Ed-7etIj5eTw0Q" name="MARTE_Library_MeasurementUnits_PowerUnitKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ShBKKMe6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_ijhHUA4yEdysTsAUPnp57Q"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_ShBKKce6Ed-7etIj5eTw0Q" name="W"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_ShBKKse6Ed-7etIj5eTw0Q" name="mW" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_ShBKK8e6Ed-7etIj5eTw0Q" name="KW" value="2"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_ShBKM8e6Ed-7etIj5eTw0Q" name="MARTE_Library_MeasurementUnits_EnergyUnitKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ShBKNMe6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_UaKKgA4zEdysTsAUPnp57Q"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_ShBKNce6Ed-7etIj5eTw0Q" name="J"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_ShBKNse6Ed-7etIj5eTw0Q" name="KJ" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_ShBKN8e6Ed-7etIj5eTw0Q" name="Wh" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_ShBKOMe6Ed-7etIj5eTw0Q" name="KWh" value="3"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_ShBKOce6Ed-7etIj5eTw0Q" name="mWh" value="4"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_ShBKUce6Ed-7etIj5eTw0Q" name="MARTE_Library_MARTE_PrimitivesTypes_Boolean" instanceClassName="MARTE_Library_MARTE_PrimitivesTypes_Boolean">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ShBKUse6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_Ddte8AnqEdy9WM11hWri2g"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_ShBKcse6Ed-7etIj5eTw0Q" name="MARTE_Library_TimeTypesLibrary_TimeStandardKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ShBKc8e6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_MDyyoA-KEdyNj8xzjk-DoA"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_ShBKdMe6Ed-7etIj5eTw0Q" name="TAI"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_ShBKdce6Ed-7etIj5eTw0Q" name="UT0" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_ShBKdse6Ed-7etIj5eTw0Q" name="UT1" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_ShBKd8e6Ed-7etIj5eTw0Q" name="UTC" value="3"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_ShBKeMe6Ed-7etIj5eTw0Q" name="Local" value="4"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_ShBKece6Ed-7etIj5eTw0Q" name="TT" value="5"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_ShBKese6Ed-7etIj5eTw0Q" name="TBD" value="6"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_ShBKe8e6Ed-7etIj5eTw0Q" name="TCG" value="7"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_ShBKfMe6Ed-7etIj5eTw0Q" name="TCB" value="8"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_ShBKfce6Ed-7etIj5eTw0Q" name="Sidereal" value="9"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_ShBKfse6Ed-7etIj5eTw0Q" name="GPS" value="10"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_ShBKlce6Ed-7etIj5eTw0Q" name="MARTE_Library_TimeTypesLibrary_TimeNatureKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ShBKlse6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_WAvb0A75EdyML4mHwjNDrw"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_ShBKl8e6Ed-7etIj5eTw0Q" name="discrete"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_ShBKmMe6Ed-7etIj5eTw0Q" name="dense" value="1"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_ShBLAce6Ed-7etIj5eTw0Q" name="MARTE_Library_MeasurementUnits_FrequencyUnitKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ShBLAse6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_qFaygA4yEdysTsAUPnp57Q"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_ShBLA8e6Ed-7etIj5eTw0Q" name="Hz"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_ShBLBMe6Ed-7etIj5eTw0Q" name="KHz" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_ShBLBce6Ed-7etIj5eTw0Q" name="MHz" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_ShBLBse6Ed-7etIj5eTw0Q" name="GHz" value="3"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_ShBLB8e6Ed-7etIj5eTw0Q" name="rpm" value="4"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_ShBLZ8e6Ed-7etIj5eTw0Q" name="MARTE_Library_GRM_BasicTypes_PeriodicServerKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ShBLaMe6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_UP5HEBFbEdyUJeMeN__D-A"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_ShBLace6Ed-7etIj5eTw0Q" name="Sporadic"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_ShBLase6Ed-7etIj5eTw0Q" name="Deferrable" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_ShBLa8e6Ed-7etIj5eTw0Q" name="Undef" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_ShBLbMe6Ed-7etIj5eTw0Q" name="Other" value="3"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_ShBLgMe6Ed-7etIj5eTw0Q" name="MARTE_Library_GRM_BasicTypes_SchedPolicyKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ShBLgce6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_4GfMYBFaEdyUJeMeN__D-A"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_ShBLgse6Ed-7etIj5eTw0Q" name="EarliestDeadlineFirst"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_ShBLg8e6Ed-7etIj5eTw0Q" name="FIFO" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_ShBLhMe6Ed-7etIj5eTw0Q" name="FixedPriority" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_ShBLhce6Ed-7etIj5eTw0Q" name="LeastLaxityFirst" value="3"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_ShBLhse6Ed-7etIj5eTw0Q" name="RoundRobin" value="4"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_ShBLh8e6Ed-7etIj5eTw0Q" name="TimeTableDriven" value="5"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_ShBLiMe6Ed-7etIj5eTw0Q" name="Undef" value="6"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_ShBLice6Ed-7etIj5eTw0Q" name="Other" value="7"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_ShBLn8e6Ed-7etIj5eTw0Q" name="MARTE_Library_GRM_BasicTypes_ProtectProtocolKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ShBLoMe6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_HkE7wBFbEdyUJeMeN__D-A"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_ShBLoce6Ed-7etIj5eTw0Q" name="FIFO"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_ShBLose6Ed-7etIj5eTw0Q" name="NoPreemption" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_ShBLo8e6Ed-7etIj5eTw0Q" name="PriorityCeiling" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_ShBLpMe6Ed-7etIj5eTw0Q" name="PriorityInheritance" value="3"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_ShBLpce6Ed-7etIj5eTw0Q" name="StackBased" value="4"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_ShBLpse6Ed-7etIj5eTw0Q" name="Undef" value="5"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_ShBLp8e6Ed-7etIj5eTw0Q" name="Other" value="6"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_ShBL28e6Ed-7etIj5eTw0Q" name="MARTE_MARTE_Foundations_NFPs_ConstraintKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ShBL3Me6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_ZCtm0A4vEdysTsAUPnp57Q"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_ShBL3ce6Ed-7etIj5eTw0Q" name="required"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_ShBL3se6Ed-7etIj5eTw0Q" name="offered" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_ShBL38e6Ed-7etIj5eTw0Q" name="contract" value="2"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_ShBL4Me6Ed-7etIj5eTw0Q" name="MARTE_MARTE_AnalysisModel_GQAM_LaxityKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ShBL4ce6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_Gs3fEBKcEdymP89M8JXkzA"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_ShBL4se6Ed-7etIj5eTw0Q" name="hard"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_ShBL48e6Ed-7etIj5eTw0Q" name="soft" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_ShBL5Me6Ed-7etIj5eTw0Q" name="other" value="2"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_XqyfYce6Ed-7etIj5eTw0Q" name="NFP_String" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_XqyfYse6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_B5VngBFQEdyUJeMeN__D-A"/>
+              </eAnnotations>
+            </eClassifiers>
+          </contents>
+        </eAnnotations>
+        <packagedElement xmi:type="uml:Stereotype" xmi:id="_-HubwMDdEd-RT45s8cwWMg" name="SimulationBasedTimingAnalysis">
+          <generalization xmi:type="uml:Generalization" xmi:id="_ENHssMDeEd-RT45s8cwWMg">
+            <general xmi:type="uml:Stereotype" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_9gc2ABKfEdyaWJN1BYon3A"/>
+          </generalization>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Profile" xmi:id="_dyWJQMF0Ed--atLXXafOiQ" name="TimingConstraints" URI="http://CHESS.Predictability.TimingAnaylsis/schemas/TimingConstraints/_ShUEIMe6Ed-7etIj5eTw0Q/8">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_JSST0MGbEd--atLXXafOiQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+            <contents xmi:type="ecore:EPackage" xmi:id="_S2Bv4Me6Ed-7etIj5eTw0Q" name="TimingConstraints" nsURI="http://CHESS.Predictability.TimingAnaylsis/schemas/TimingConstraints/_ShUEIMe6Ed-7etIj5eTw0Q/8" nsPrefix="TimingConstraints">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ZlbnIMe6Ed-7etIj5eTw0Q" source="PapyrusVersion">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ZlbnIce6Ed-7etIj5eTw0Q" key="Version" value="0.1.8"/>
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ZlbnIse6Ed-7etIj5eTw0Q" key="Comment" value=""/>
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ZlbnI8e6Ed-7etIj5eTw0Q" key="Copyright" value=""/>
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ZlbnJMe6Ed-7etIj5eTw0Q" key="Date" value="2010-09-24"/>
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ZlbnJce6Ed-7etIj5eTw0Q" key="Author" value=""/>
+              </eAnnotations>
+              <eClassifiers xmi:type="ecore:EClass" xmi:id="_S2Bv4ce6Ed-7etIj5eTw0Q" name="AgeTimingConstraint">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_S2Bv4se6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML"/>
+                <eSuperTypes xmi:type="ecore:EClass" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_0smpFpi4Ed-m0Oaexd_lJA"/>
+                <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_S2Bv58e6Ed-7etIj5eTw0Q" name="scope" ordered="false" lowerBound="1">
+                  <eType xmi:type="ecore:EClass" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_4DUv9pi4Ed-m0Oaexd_lJA"/>
+                </eStructuralFeatures>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_Xr-yMMe6Ed-7etIj5eTw0Q" name="jitter" ordered="false" lowerBound="1" eType="_Xr-yMse6Ed-7etIj5eTw0Q"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_XuXX0Me6Ed-7etIj5eTw0Q" name="nominal" ordered="false" lowerBound="1" eType="_Xr-yMse6Ed-7etIj5eTw0Q"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_S2Lg58e6Ed-7etIj5eTw0Q" name="MARTE_MARTE_Foundations_NFPs_ConstraintKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_S2Lg6Me6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_ZCtm0A4vEdysTsAUPnp57Q"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_S2Lg6ce6Ed-7etIj5eTw0Q" name="required"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_S2Lg6se6Ed-7etIj5eTw0Q" name="offered" value="1"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_S2Lg68e6Ed-7etIj5eTw0Q" name="contract" value="2"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_S2LhVce6Ed-7etIj5eTw0Q" name="MARTE_Library_MARTE_DataTypes_VSL_Expression" instanceClassName="MARTE_Library_MARTE_DataTypes_VSL_Expression">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_S2LhVse6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_bManMBEBEdyx6M3BlUjlCQ"/>
+                </eAnnotations>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_S2LhV8e6Ed-7etIj5eTw0Q" name="MARTE_Library_BasicNFP_Types_SourceKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_S2LhWMe6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_oMZzEBD-EdyybZnLxHsjyA"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_S2LhWce6Ed-7etIj5eTw0Q" name="est"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_S2LhWse6Ed-7etIj5eTw0Q" name="meas" value="1"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_S2LhW8e6Ed-7etIj5eTw0Q" name="calc" value="2"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_S2LhXMe6Ed-7etIj5eTw0Q" name="req" value="3"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_S2LhXce6Ed-7etIj5eTw0Q" name="MARTE_Library_BasicNFP_Types_StatisticalQualifierKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_S2LhXse6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_0N52EBD-EdyybZnLxHsjyA"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_S2LhX8e6Ed-7etIj5eTw0Q" name="max"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_S2LhYMe6Ed-7etIj5eTw0Q" name="min" value="1"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_S2LhYce6Ed-7etIj5eTw0Q" name="mean" value="2"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_S2LhYse6Ed-7etIj5eTw0Q" name="range" value="3"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_S2LhY8e6Ed-7etIj5eTw0Q" name="percent" value="4"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_S2LhZMe6Ed-7etIj5eTw0Q" name="distrib" value="5"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_S2LhZce6Ed-7etIj5eTw0Q" name="determ" value="6"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_S2LhZse6Ed-7etIj5eTw0Q" name="other" value="7"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_S2LhZ8e6Ed-7etIj5eTw0Q" name="variance" value="8"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_S2LhaMe6Ed-7etIj5eTw0Q" name="MARTE_Library_BasicNFP_Types_DirectionKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_S2Lhace6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_vvfxEBD-EdyybZnLxHsjyA"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_S2Lhase6Ed-7etIj5eTw0Q" name="incr"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_S2Lha8e6Ed-7etIj5eTw0Q" name="decr" value="1"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_S2LhbMe6Ed-7etIj5eTw0Q" name="MARTE_Library_MARTE_PrimitivesTypes_Real" instanceClassName="MARTE_Library_MARTE_PrimitivesTypes_Real">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_S2Lhbce6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_beo90AnpEdy9WM11hWri2g"/>
+                </eAnnotations>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_S2Lhbse6Ed-7etIj5eTw0Q" name="MARTE_Library_MARTE_PrimitivesTypes_Integer" instanceClassName="MARTE_Library_MARTE_PrimitivesTypes_Integer">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_S2Lhb8e6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_HJ1zcAnfEdy9WM11hWri2g"/>
+                </eAnnotations>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_S2LhcMe6Ed-7etIj5eTw0Q" name="MARTE_Library_MeasurementUnits_TimeUnitKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_S2Lhcce6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_Iaa3gA4yEdysTsAUPnp57Q"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_S2Lhcse6Ed-7etIj5eTw0Q" name="s"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_S2Lhc8e6Ed-7etIj5eTw0Q" name="tick" value="1"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_S2LhdMe6Ed-7etIj5eTw0Q" name="ms" value="2"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_S2Lhdce6Ed-7etIj5eTw0Q" name="us" value="3"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_S2Lhdse6Ed-7etIj5eTw0Q" name="min" value="4"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_S2Lhd8e6Ed-7etIj5eTw0Q" name="hrs" value="5"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_S2LheMe6Ed-7etIj5eTw0Q" name="day" value="6"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_S2Lhece6Ed-7etIj5eTw0Q" name="MARTE_Library_MARTE_PrimitivesTypes_String" instanceClassName="MARTE_Library_MARTE_PrimitivesTypes_String">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_S2Lhese6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_qZ3GUAnxEdy9WM11hWri2g"/>
+                </eAnnotations>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_S2Lhjse6Ed-7etIj5eTw0Q" name="MARTE_Library_MARTE_PrimitivesTypes_Boolean" instanceClassName="MARTE_Library_MARTE_PrimitivesTypes_Boolean">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_S2Lhj8e6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_Ddte8AnqEdy9WM11hWri2g"/>
+                </eAnnotations>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_S2Lhmce6Ed-7etIj5eTw0Q" name="MARTE_MARTE_AnalysisModel_GQAM_LaxityKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_S2Lhmse6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_Gs3fEBKcEdymP89M8JXkzA"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_S2Lhm8e6Ed-7etIj5eTw0Q" name="hard"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_S2LhnMe6Ed-7etIj5eTw0Q" name="soft" value="1"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_S2Lhnce6Ed-7etIj5eTw0Q" name="other" value="2"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EClass" xmi:id="_S2Lhnse6Ed-7etIj5eTw0Q" name="ArbitraryEventConstraint">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_S2Lhn8e6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_q2Ja8MFtEd--atLXXafOiQ"/>
+                <eSuperTypes xmi:type="ecore:EClass" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_0smpFpi4Ed-m0Oaexd_lJA"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_X23MgMe6Ed-7etIj5eTw0Q" name="offset" ordered="false" lowerBound="1" eType="_Xr-yMse6Ed-7etIj5eTw0Q"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_X6Ii8Me6Ed-7etIj5eTw0Q" name="maximumInterarrivalTime" ordered="false" upperBound="-1" eType="_Xr-yMse6Ed-7etIj5eTw0Q"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_X9RWgMe6Ed-7etIj5eTw0Q" name="minimumInterarrivalTime" ordered="false" upperBound="-1" eType="_Xr-yMse6Ed-7etIj5eTw0Q"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EClass" xmi:id="_S2Lhp8e6Ed-7etIj5eTw0Q" name="InputSynchronizationConstraint" eSuperTypes="_S2Bv4ce6Ed-7etIj5eTw0Q">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_S2LhqMe6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_YFT4MMe6Ed-7etIj5eTw0Q" name="width" ordered="false" lowerBound="1" eType="_Xr-yMse6Ed-7etIj5eTw0Q"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EClass" xmi:id="_S2LhrMe6Ed-7etIj5eTw0Q" name="OutputSynchronizationConstraint" eSuperTypes="_S2Lhsce6Ed-7etIj5eTw0Q">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_S2Lhrce6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_YNgx8Me6Ed-7etIj5eTw0Q" name="width" ordered="false" lowerBound="1" eType="_Xr-yMse6Ed-7etIj5eTw0Q"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EClass" xmi:id="_S2Lhsce6Ed-7etIj5eTw0Q" name="ReactionConstraint">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_S2Lhsse6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML"/>
+                <eSuperTypes xmi:type="ecore:EClass" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_0smpFpi4Ed-m0Oaexd_lJA"/>
+                <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_S2Lht8e6Ed-7etIj5eTw0Q" name="scope" ordered="false" lowerBound="1">
+                  <eType xmi:type="ecore:EClass" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_4DUv9pi4Ed-m0Oaexd_lJA"/>
+                </eStructuralFeatures>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_YTLVEMe6Ed-7etIj5eTw0Q" name="jitter" ordered="false" lowerBound="1" eType="_Xr-yMse6Ed-7etIj5eTw0Q"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_YWcrgMe6Ed-7etIj5eTw0Q" name="nominal" ordered="false" lowerBound="1" eType="_Xr-yMse6Ed-7etIj5eTw0Q"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EClass" xmi:id="_S2Lhuse6Ed-7etIj5eTw0Q" name="PatternEventConstraint">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_S2Lhu8e6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_jShG4MFsEd--atLXXafOiQ"/>
+                <eSuperTypes xmi:type="ecore:EClass" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_0smpFpi4Ed-m0Oaexd_lJA"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_Ye8gMMe6Ed-7etIj5eTw0Q" name="offset" ordered="false" lowerBound="1" eType="_Xr-yMse6Ed-7etIj5eTw0Q"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_YiOdsMe6Ed-7etIj5eTw0Q" name="jitter" ordered="false" lowerBound="1" eType="_Xr-yMse6Ed-7etIj5eTw0Q"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_YlplIMe6Ed-7etIj5eTw0Q" name="minimumInterarrivalTime" ordered="false" lowerBound="1" eType="_Xr-yMse6Ed-7etIj5eTw0Q"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_YoxxoMe6Ed-7etIj5eTw0Q" name="occurrence" ordered="false" lowerBound="1" eType="_Xr-yMse6Ed-7etIj5eTw0Q"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_YsDvIMe6Ed-7etIj5eTw0Q" name="period" ordered="false" lowerBound="1" eType="_Xr-yMse6Ed-7etIj5eTw0Q"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EClass" xmi:id="_S2Lhx8e6Ed-7etIj5eTw0Q" name="PeriodicEventConstraint">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_S2LhyMe6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_kma0MMFrEd--atLXXafOiQ"/>
+                <eSuperTypes xmi:type="ecore:EClass" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_0smpFpi4Ed-m0Oaexd_lJA"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_Y5BNEMe6Ed-7etIj5eTw0Q" name="offset" ordered="false" lowerBound="1" eType="_Xr-yMse6Ed-7etIj5eTw0Q"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_Y8TKkMe6Ed-7etIj5eTw0Q" name="jitter" ordered="false" lowerBound="1" eType="_Xr-yMse6Ed-7etIj5eTw0Q"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_Y_lIEMe6Ed-7etIj5eTw0Q" name="minimumInterarrivalTime" ordered="false" lowerBound="1" eType="_Xr-yMse6Ed-7etIj5eTw0Q"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_ZC3FkMe6Ed-7etIj5eTw0Q" name="period" ordered="false" lowerBound="1" eType="_Xr-yMse6Ed-7etIj5eTw0Q"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EClass" xmi:id="_S2Lh0se6Ed-7etIj5eTw0Q" name="SporadicEventConstraint">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_S2Lh08e6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_-4xtsMFrEd--atLXXafOiQ"/>
+                <eSuperTypes xmi:type="ecore:EClass" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_0smpFpi4Ed-m0Oaexd_lJA"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_ZNlu4Me6Ed-7etIj5eTw0Q" name="offset" ordered="false" lowerBound="1" eType="_Xr-yMse6Ed-7etIj5eTw0Q"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_ZQt7YMe6Ed-7etIj5eTw0Q" name="jitter" ordered="false" eType="_Xr-yMse6Ed-7etIj5eTw0Q"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_ZT_44Me6Ed-7etIj5eTw0Q" name="maximumInterarrivalTime" ordered="false" eType="_Xr-yMse6Ed-7etIj5eTw0Q"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_ZXIFYMe6Ed-7etIj5eTw0Q" name="minimumInterarrivalTime" ordered="false" lowerBound="1" eType="_Xr-yMse6Ed-7etIj5eTw0Q"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_ZaZb0Me6Ed-7etIj5eTw0Q" name="period" ordered="false" lowerBound="1" eType="_Xr-yMse6Ed-7etIj5eTw0Q"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_Xr-yMse6Ed-7etIj5eTw0Q" name="NFP_Duration" instanceClassName="java.lang.String">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Xr-yM8e6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_kMwX8BFREdyUJeMeN__D-A"/>
+                </eAnnotations>
+              </eClassifiers>
+            </contents>
+          </eAnnotations>
+          <packagedElement xmi:type="uml:Stereotype" xmi:id="_q2Ja8MFtEd--atLXXafOiQ" name="ArbitraryEventConstraint">
+            <generalization xmi:type="uml:Generalization" xmi:id="_uUyFAMFtEd--atLXXafOiQ">
+              <general xmi:type="uml:Stereotype" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_P9c2AA4wEdysTsAUPnp57Q"/>
+            </generalization>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_viaVwMFtEd--atLXXafOiQ" name="offset" visibility="public">
+              <type xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_kMwX8BFREdyUJeMeN__D-A"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_xSLqQMFtEd--atLXXafOiQ" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_xSU0MMFtEd--atLXXafOiQ" value="1"/>
+              <defaultValue xmi:type="uml:LiteralString" xmi:id="_xSelMMFtEd--atLXXafOiQ">
+                <value xsi:nil="true"/>
+              </defaultValue>
+            </ownedAttribute>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_yYz7IMFtEd--atLXXafOiQ" name="maximumInterarrivalTime" visibility="public">
+              <type xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_kMwX8BFREdyUJeMeN__D-A"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_0_HPAMFtEd--atLXXafOiQ"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_0_RAAMFtEd--atLXXafOiQ" value="*"/>
+              <defaultValue xmi:type="uml:LiteralString" xmi:id="_0_RAAcFtEd--atLXXafOiQ">
+                <value xsi:nil="true"/>
+              </defaultValue>
+            </ownedAttribute>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_4p9wIMFtEd--atLXXafOiQ" name="minimumInterarrivalTime" visibility="public">
+              <type xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_kMwX8BFREdyUJeMeN__D-A"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_7uqQMMFtEd--atLXXafOiQ"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_7u0BMMFtEd--atLXXafOiQ" value="*"/>
+              <defaultValue xmi:type="uml:LiteralString" xmi:id="_7u0BMcFtEd--atLXXafOiQ">
+                <value xsi:nil="true"/>
+              </defaultValue>
+            </ownedAttribute>
+          </packagedElement>
+          <packagedElement xmi:type="uml:Stereotype" xmi:id="_jShG4MFsEd--atLXXafOiQ" name="PatternEventConstraint">
+            <generalization xmi:type="uml:Generalization" xmi:id="_lD7aIMFsEd--atLXXafOiQ">
+              <general xmi:type="uml:Stereotype" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_P9c2AA4wEdysTsAUPnp57Q"/>
+            </generalization>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_nwMzIMFsEd--atLXXafOiQ" name="offset" visibility="public">
+              <type xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_kMwX8BFREdyUJeMeN__D-A"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_pbDLYMFsEd--atLXXafOiQ" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_pbM8YMFsEd--atLXXafOiQ" value="1"/>
+              <defaultValue xmi:type="uml:LiteralString" xmi:id="_pbWtYMFsEd--atLXXafOiQ">
+                <value xsi:nil="true"/>
+              </defaultValue>
+            </ownedAttribute>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_p1SQUMFsEd--atLXXafOiQ" name="jitter" visibility="public">
+              <type xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_kMwX8BFREdyUJeMeN__D-A"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_rR1G0MFsEd--atLXXafOiQ" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_rR1G0cFsEd--atLXXafOiQ" value="1"/>
+              <defaultValue xmi:type="uml:LiteralString" xmi:id="_rR-QwMFsEd--atLXXafOiQ">
+                <value xsi:nil="true"/>
+              </defaultValue>
+            </ownedAttribute>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_r6qBYMFsEd--atLXXafOiQ" name="minimumInterarrivalTime" visibility="public">
+              <type xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_kMwX8BFREdyUJeMeN__D-A"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_uRUWwMFsEd--atLXXafOiQ" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_uRdgsMFsEd--atLXXafOiQ" value="1"/>
+              <defaultValue xmi:type="uml:LiteralString" xmi:id="_uRdgscFsEd--atLXXafOiQ">
+                <value xsi:nil="true"/>
+              </defaultValue>
+            </ownedAttribute>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_wKA9wMFsEd--atLXXafOiQ" name="occurrence" visibility="public">
+              <type xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_kMwX8BFREdyUJeMeN__D-A"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_zaM8IMFsEd--atLXXafOiQ" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_zaM8IcFsEd--atLXXafOiQ" value="1"/>
+              <defaultValue xmi:type="uml:LiteralString" xmi:id="_zaf3EMFsEd--atLXXafOiQ">
+                <value xsi:nil="true"/>
+              </defaultValue>
+            </ownedAttribute>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_2tpp4MFsEd--atLXXafOiQ" name="period" visibility="public">
+              <type xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_kMwX8BFREdyUJeMeN__D-A"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4ULi0MFsEd--atLXXafOiQ" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4ULi0cFsEd--atLXXafOiQ" value="1"/>
+              <defaultValue xmi:type="uml:LiteralString" xmi:id="_4UUswMFsEd--atLXXafOiQ">
+                <value xsi:nil="true"/>
+              </defaultValue>
+            </ownedAttribute>
+          </packagedElement>
+          <packagedElement xmi:type="uml:Stereotype" xmi:id="_kma0MMFrEd--atLXXafOiQ" name="PeriodicEventConstraint">
+            <generalization xmi:type="uml:Generalization" xmi:id="_rSiG4MFrEd--atLXXafOiQ">
+              <general xmi:type="uml:Stereotype" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_P9c2AA4wEdysTsAUPnp57Q"/>
+            </generalization>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_tuP7YMFrEd--atLXXafOiQ" name="offset" visibility="public">
+              <type xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_kMwX8BFREdyUJeMeN__D-A"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_vRWF0MFrEd--atLXXafOiQ" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_vRWF0cFrEd--atLXXafOiQ" value="1"/>
+              <defaultValue xmi:type="uml:LiteralString" xmi:id="_vRf20MFrEd--atLXXafOiQ">
+                <value xsi:nil="true"/>
+              </defaultValue>
+            </ownedAttribute>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_wH4sQMFrEd--atLXXafOiQ" name="jitter" visibility="public">
+              <type xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_kMwX8BFREdyUJeMeN__D-A"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_x2Aa8MFrEd--atLXXafOiQ" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_x2KL8MFrEd--atLXXafOiQ" value="1"/>
+              <defaultValue xmi:type="uml:LiteralString" xmi:id="_x2TV4MFrEd--atLXXafOiQ">
+                <value xsi:nil="true"/>
+              </defaultValue>
+            </ownedAttribute>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_45N_AMFrEd--atLXXafOiQ" name="minimumInterarrivalTime" visibility="public">
+              <type xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_kMwX8BFREdyUJeMeN__D-A"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_68feUMFrEd--atLXXafOiQ" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_68feUcFrEd--atLXXafOiQ" value="1"/>
+              <defaultValue xmi:type="uml:LiteralString" xmi:id="_68pPUMFrEd--atLXXafOiQ">
+                <value xsi:nil="true"/>
+              </defaultValue>
+            </ownedAttribute>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_8Yb34MFrEd--atLXXafOiQ" name="period" visibility="public">
+              <type xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_kMwX8BFREdyUJeMeN__D-A"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_9iyyMMFrEd--atLXXafOiQ" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_9i8jMMFrEd--atLXXafOiQ" value="1"/>
+              <defaultValue xmi:type="uml:LiteralString" xmi:id="_9jFtIMFrEd--atLXXafOiQ">
+                <value xsi:nil="true"/>
+              </defaultValue>
+            </ownedAttribute>
+          </packagedElement>
+          <packagedElement xmi:type="uml:Stereotype" xmi:id="_-4xtsMFrEd--atLXXafOiQ" name="SporadicEventConstraint">
+            <generalization xmi:type="uml:Generalization" xmi:id="_CHByYMFsEd--atLXXafOiQ">
+              <general xmi:type="uml:Stereotype" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_P9c2AA4wEdysTsAUPnp57Q"/>
+            </generalization>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_Ow_jkMFsEd--atLXXafOiQ" name="offset" visibility="public">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_beo90AnpEdy9WM11hWri2g"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_QSAqYMFsEd--atLXXafOiQ" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_QSKbYMFsEd--atLXXafOiQ" value="1"/>
+              <defaultValue xmi:type="uml:LiteralString" xmi:id="_QSKbYcFsEd--atLXXafOiQ">
+                <value xsi:nil="true"/>
+              </defaultValue>
+            </ownedAttribute>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_RGUcMMFsEd--atLXXafOiQ" name="jitter" visibility="public">
+              <type xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_kMwX8BFREdyUJeMeN__D-A"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_SdfqgMFsEd--atLXXafOiQ"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_SdpbgMFsEd--atLXXafOiQ" value="1"/>
+              <defaultValue xmi:type="uml:LiteralString" xmi:id="_SdzMgMFsEd--atLXXafOiQ">
+                <value xsi:nil="true"/>
+              </defaultValue>
+            </ownedAttribute>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_WuqkwMFsEd--atLXXafOiQ" name="maximumInterarrivalTime" visibility="public">
+              <type xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_kMwX8BFREdyUJeMeN__D-A"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_ZK2TUMFsEd--atLXXafOiQ"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_ZK_dQMFsEd--atLXXafOiQ" value="1"/>
+              <defaultValue xmi:type="uml:LiteralString" xmi:id="_ZK_dQcFsEd--atLXXafOiQ">
+                <value xsi:nil="true"/>
+              </defaultValue>
+            </ownedAttribute>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_ckuZMMFsEd--atLXXafOiQ" name="minimumInterarrivalTime" visibility="public">
+              <type xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_kMwX8BFREdyUJeMeN__D-A"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_etYHwMFsEd--atLXXafOiQ" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_eth4wMFsEd--atLXXafOiQ" value="1"/>
+              <defaultValue xmi:type="uml:LiteralString" xmi:id="_etrpwMFsEd--atLXXafOiQ">
+                <value xsi:nil="true"/>
+              </defaultValue>
+            </ownedAttribute>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_e9LeUMFsEd--atLXXafOiQ" name="period" visibility="public">
+              <type xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_kMwX8BFREdyUJeMeN__D-A"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hIqecMFsEd--atLXXafOiQ" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_hI0PcMFsEd--atLXXafOiQ" value="1"/>
+              <defaultValue xmi:type="uml:LiteralString" xmi:id="_hI-AcMFsEd--atLXXafOiQ">
+                <value xsi:nil="true"/>
+              </defaultValue>
+            </ownedAttribute>
+          </packagedElement>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Stereotype" xmi:id="_70y0ABQxEeG5-4hJIdbexA" name="AgeTimingConstraint">
+          <generalization xmi:type="uml:Generalization" xmi:id="_EWWlYBQyEeG5-4hJIdbexA">
+            <general xmi:type="uml:Stereotype" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_a6Ls8BKcEdymP89M8JXkzA"/>
+          </generalization>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Stereotype" xmi:id="_MiVvYBQyEeG5-4hJIdbexA" name="ReactionConstraint">
+          <generalization xmi:type="uml:Generalization" xmi:id="_Qd4X4BQyEeG5-4hJIdbexA">
+            <general xmi:type="uml:Stereotype" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_a6Ls8BKcEdymP89M8JXkzA"/>
+          </generalization>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Stereotype" xmi:id="_Xmag0BQyEeG5-4hJIdbexA" name="OutputSynchronizationConstraint">
+          <generalization xmi:type="uml:Generalization" xmi:id="_aiQm4BQyEeG5-4hJIdbexA">
+            <general xmi:type="uml:Stereotype" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_a6Ls8BKcEdymP89M8JXkzA"/>
+          </generalization>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_f5M2YBQyEeG5-4hJIdbexA" name="width">
+            <type xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_kMwX8BFREdyUJeMeN__D-A"/>
+          </ownedAttribute>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Stereotype" xmi:id="_2H7iYBQyEeG5-4hJIdbexA" name="InputSynchronizationConstraint">
+          <generalization xmi:type="uml:Generalization" xmi:id="_2H7iYRQyEeG5-4hJIdbexA">
+            <general xmi:type="uml:Stereotype" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_a6Ls8BKcEdymP89M8JXkzA"/>
+          </generalization>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_2H7iYhQyEeG5-4hJIdbexA" name="width">
+            <type xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_kMwX8BFREdyUJeMeN__D-A"/>
+          </ownedAttribute>
+        </packagedElement>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Profile" xmi:id="_nyQ7MLwzEd-CDNLmLgazUQ" name="DeploymentConfiguration" URI="http://CHESS/Predictability/DeploymentConfiguration">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_JScF28GbEd--atLXXafOiQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+          <contents xmi:type="ecore:EPackage" xmi:id="_S2Uq0ce6Ed-7etIj5eTw0Q" name="DeploymentConfiguration" nsURI="http://CHESS/Predictability/DeploymentConfiguration" nsPrefix="DeploymentConfiguration">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ZlbnJse6Ed-7etIj5eTw0Q" source="PapyrusVersion">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ZlbnJ8e6Ed-7etIj5eTw0Q" key="Version" value="0.1.8"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ZlbnKMe6Ed-7etIj5eTw0Q" key="Comment" value=""/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ZlbnKce6Ed-7etIj5eTw0Q" key="Copyright" value=""/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ZlbnKse6Ed-7etIj5eTw0Q" key="Date" value="2010-09-24"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ZlbnK8e6Ed-7etIj5eTw0Q" key="Author" value=""/>
+            </eAnnotations>
+          </contents>
+        </eAnnotations>
+        <packagedElement xmi:type="uml:Profile" xmi:id="_1TsX8MCpEd-RT45s8cwWMg" name="HardwareBaseline" URI="http://CHESS/Predictability/DeploymentConfiguration/HardwareBaseline" metaclassReference="_6F2tEKlhEeC6PYeyk6yc0A _Y4qjsKu3EeCQLtqIc6Ik6Q _wlZ-cKu6EeCQLtqIc6Ik6Q _4T7iMCZBEeGlQNX6ViU5DA">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Je820MGbEd--atLXXafOiQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+            <contents xmi:type="ecore:EPackage" xmi:id="_m5QdsKvEEeCQLtqIc6Ik6Q" name="HardwareBaseline" nsURI="http://CHESS/Predictability/DeploymentConfiguration/HardwareBaseline" nsPrefix="HardwareBaseline">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_m-NPIKvEEeCQLtqIc6Ik6Q" source="PapyrusVersion">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_m-NPIavEEeCQLtqIc6Ik6Q" key="Version" value="0.1.13"/>
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_m-NPIqvEEeCQLtqIc6Ik6Q" key="Comment" value=""/>
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_m-NPI6vEEeCQLtqIc6Ik6Q" key="Copyright" value=""/>
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_m-NPJKvEEeCQLtqIc6Ik6Q" key="Date" value="2011-07-11"/>
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_m-NPJavEEeCQLtqIc6Ik6Q" key="Author" value=""/>
+              </eAnnotations>
+              <eClassifiers xmi:type="ecore:EClass" xmi:id="_m5QdsavEEeCQLtqIc6Ik6Q" name="CH_HwProcessor">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_m5QdsqvEEeCQLtqIc6Ik6Q" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_7_W-sMCpEd-RT45s8cwWMg"/>
+                <eSuperTypes xmi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/MARTE/1#//HwComputing/HwProcessor"/>
+                <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_m5Qds6vEEeCQLtqIc6Ik6Q" name="dataType" ordered="false" lowerBound="1" eType="_m5QduqvEEeCQLtqIc6Ik6Q"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_m5QdtavEEeCQLtqIc6Ik6Q" name="operation" ordered="false" lowerBound="1" eType="_m5QdxqvEEeCQLtqIc6Ik6Q"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_m5u-0KvEEeCQLtqIc6Ik6Q" name="executionCycles" ordered="false" lowerBound="1" eType="_m5u-0qvEEeCQLtqIc6Ik6Q"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EClass" xmi:id="_m5QduqvEEeCQLtqIc6Ik6Q" name="HWDataType">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_m5Qdu6vEEeCQLtqIc6Ik6Q" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_FeV_YKu_EeCQLtqIc6Ik6Q"/>
+                <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_m5QdvKvEEeCQLtqIc6Ik6Q" name="base_DataType" ordered="false" lowerBound="1">
+                  <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//DataType"/>
+                </eStructuralFeatures>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_m5QdvqvEEeCQLtqIc6Ik6Q" name="bitLength" ordered="false">
+                  <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
+                </eStructuralFeatures>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_m5QdwKvEEeCQLtqIc6Ik6Q" name="operation" ordered="false" lowerBound="1" eType="_m5QdxqvEEeCQLtqIc6Ik6Q"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_m5QdwqvEEeCQLtqIc6Ik6Q" name="executionCylces" ordered="false" lowerBound="1">
+                  <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
+                </eStructuralFeatures>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_m5QdxKvEEeCQLtqIc6Ik6Q" name="type" ordered="false" lowerBound="1" eType="_m5QdzavEEeCQLtqIc6Ik6Q"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_m5QdxqvEEeCQLtqIc6Ik6Q" name="BasicOperation">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_m5Qdx6vEEeCQLtqIc6Ik6Q" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_o6wVAKu8EeCQLtqIc6Ik6Q"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_m5QdyKvEEeCQLtqIc6Ik6Q" name="add"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_m5QdyavEEeCQLtqIc6Ik6Q" name="mul" value="1"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_m5QdyqvEEeCQLtqIc6Ik6Q" name="div" value="2"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_m5Qdy6vEEeCQLtqIc6Ik6Q" name="mod" value="3"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_m5QdzKvEEeCQLtqIc6Ik6Q" name="shift" value="4"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_m5QdzavEEeCQLtqIc6Ik6Q" name="BasicDataType">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_m5QdzqvEEeCQLtqIc6Ik6Q" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_ImkfIKvAEeCQLtqIc6Ik6Q"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_m5Qdz6vEEeCQLtqIc6Ik6Q" name="Signed"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_m5Qd0KvEEeCQLtqIc6Ik6Q" name="Integer" value="1"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_m5Qd0avEEeCQLtqIc6Ik6Q" name="Fixed_Point" value="2"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_m5Qd0qvEEeCQLtqIc6Ik6Q" name="Float" value="3"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_m5QeJqvEEeCQLtqIc6Ik6Q" name="MARTE_Library_MARTE_DataTypes_VSL_Expression" instanceClassName="java.lang.String">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_m5QeJ6vEEeCQLtqIc6Ik6Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_bManMBEBEdyx6M3BlUjlCQ"/>
+                </eAnnotations>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_m5QeKKvEEeCQLtqIc6Ik6Q" name="MARTE_Library_BasicNFP_Types_SourceKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_m5QeKavEEeCQLtqIc6Ik6Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_oMZzEBD-EdyybZnLxHsjyA"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_m5QeKqvEEeCQLtqIc6Ik6Q" name="est"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_m5QeK6vEEeCQLtqIc6Ik6Q" name="meas" value="1"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_m5QeLKvEEeCQLtqIc6Ik6Q" name="calc" value="2"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_m5QeLavEEeCQLtqIc6Ik6Q" name="req" value="3"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_m5QeLqvEEeCQLtqIc6Ik6Q" name="MARTE_Library_BasicNFP_Types_StatisticalQualifierKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_m5QeL6vEEeCQLtqIc6Ik6Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_0N52EBD-EdyybZnLxHsjyA"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_m5QeMKvEEeCQLtqIc6Ik6Q" name="max"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_m5QeMavEEeCQLtqIc6Ik6Q" name="min" value="1"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_m5QeMqvEEeCQLtqIc6Ik6Q" name="mean" value="2"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_m5QeM6vEEeCQLtqIc6Ik6Q" name="range" value="3"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_m5QeNKvEEeCQLtqIc6Ik6Q" name="percent" value="4"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_m5QeNavEEeCQLtqIc6Ik6Q" name="distrib" value="5"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_m5QeNqvEEeCQLtqIc6Ik6Q" name="determ" value="6"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_m5QeN6vEEeCQLtqIc6Ik6Q" name="other" value="7"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_m5QeOKvEEeCQLtqIc6Ik6Q" name="variance" value="8"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_m5QeOavEEeCQLtqIc6Ik6Q" name="MARTE_Library_BasicNFP_Types_DirectionKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_m5QeOqvEEeCQLtqIc6Ik6Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_vvfxEBD-EdyybZnLxHsjyA"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_m5QeO6vEEeCQLtqIc6Ik6Q" name="incr"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_m5QePKvEEeCQLtqIc6Ik6Q" name="decr" value="1"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_m5QePavEEeCQLtqIc6Ik6Q" name="MARTE_Library_MARTE_PrimitivesTypes_Real" instanceClassName="java.lang.String">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_m5QePqvEEeCQLtqIc6Ik6Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_beo90AnpEdy9WM11hWri2g"/>
+                </eAnnotations>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_m5QeP6vEEeCQLtqIc6Ik6Q" name="MARTE_Library_MARTE_PrimitivesTypes_Integer" instanceClassName="int">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_m5QeQKvEEeCQLtqIc6Ik6Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_HJ1zcAnfEdy9WM11hWri2g"/>
+                </eAnnotations>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EClass" xmi:id="_m5QeQavEEeCQLtqIc6Ik6Q" name="DataTypeAllocate">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_m5QeQqvEEeCQLtqIc6Ik6Q" source="http://www.eclipse.org/uml2/2.0.0/UML"/>
+                <eSuperTypes xmi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/MARTE/1#//Alloc/Allocate"/>
+                <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_m5QeQ6vEEeCQLtqIc6Ik6Q" name="swDataType" ordered="false" lowerBound="1" eType="_m5QeSqvEEeCQLtqIc6Ik6Q"/>
+                <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_m5QeRavEEeCQLtqIc6Ik6Q" name="hwDataType" ordered="false" lowerBound="1" eType="_m5QduqvEEeCQLtqIc6Ik6Q"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_m7f5YKvEEeCQLtqIc6Ik6Q" name="executionCycles" ordered="false" lowerBound="1" eType="_m5u-0qvEEeCQLtqIc6Ik6Q"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EClass" xmi:id="_m5QeSqvEEeCQLtqIc6Ik6Q" name="SWDataType" abstract="true">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_m5QeS6vEEeCQLtqIc6Ik6Q" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_xo40sKu6EeCQLtqIc6Ik6Q"/>
+                <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_m5QeTKvEEeCQLtqIc6Ik6Q" name="base_DataType" ordered="false" lowerBound="1">
+                  <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//DataType"/>
+                </eStructuralFeatures>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_m5QeTqvEEeCQLtqIc6Ik6Q" name="bitSize" ordered="false" lowerBound="1">
+                  <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
+                </eStructuralFeatures>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EClass" xmi:id="_m5QeUKvEEeCQLtqIc6Ik6Q" name="ComputeComplexity">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_m5QeUavEEeCQLtqIc6Ik6Q" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_WEDSwKlhEeC6PYeyk6yc0A"/>
+                <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_m5QeUqvEEeCQLtqIc6Ik6Q" name="swDataType" ordered="false" lowerBound="1" eType="_m5QeSqvEEeCQLtqIc6Ik6Q"/>
+                <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_m5QeVKvEEeCQLtqIc6Ik6Q" name="opCount" ordered="false" lowerBound="1" upperBound="-1" eType="_m5QeWKvEEeCQLtqIc6Ik6Q"/>
+                <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_m5QeVqvEEeCQLtqIc6Ik6Q" name="base_Class" ordered="false" lowerBound="1">
+                  <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+                </eStructuralFeatures>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EClass" xmi:id="_m5QeWKvEEeCQLtqIc6Ik6Q" name="OperationCount">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_m5QeWavEEeCQLtqIc6Ik6Q" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_veeesKlhEeC6PYeyk6yc0A"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_m5QeWqvEEeCQLtqIc6Ik6Q" name="operation" ordered="false" lowerBound="1" eType="_m5QdxqvEEeCQLtqIc6Ik6Q"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_m5QeXKvEEeCQLtqIc6Ik6Q" name="count" ordered="false" lowerBound="1">
+                  <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
+                </eStructuralFeatures>
+                <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_m5QeXqvEEeCQLtqIc6Ik6Q" name="base_Class" ordered="false" lowerBound="1">
+                  <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+                </eStructuralFeatures>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EClass" xmi:id="_m5QeYKvEEeCQLtqIc6Ik6Q" name="CHControlFlow">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_m5QeYavEEeCQLtqIc6Ik6Q" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_ZjBvUKu3EeCQLtqIc6Ik6Q"/>
+                <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_m5QeYqvEEeCQLtqIc6Ik6Q" name="base_ControlFlow" ordered="false" lowerBound="1">
+                  <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//ControlFlow"/>
+                </eStructuralFeatures>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_m5QeZKvEEeCQLtqIc6Ik6Q" name="rep" ordered="false" eType="_m9kV8KvEEeCQLtqIc6Ik6Q"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_m5QeZqvEEeCQLtqIc6Ik6Q" name="prob" ordered="false" eType="_m9kV8KvEEeCQLtqIc6Ik6Q"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_m5QeaKvEEeCQLtqIc6Ik6Q" name="order" ordered="false" eType="_m9kV8KvEEeCQLtqIc6Ik6Q"/>
+                <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_m5QeaqvEEeCQLtqIc6Ik6Q" name="compComplex" ordered="false" upperBound="-1" eType="_m5QeUKvEEeCQLtqIc6Ik6Q"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EClass" xmi:id="_m5QebKvEEeCQLtqIc6Ik6Q" name="FloatSWDataType" eSuperTypes="_m5QeSqvEEeCQLtqIc6Ik6Q">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_m5QebavEEeCQLtqIc6Ik6Q" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_X8RTQKu_EeCQLtqIc6Ik6Q"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_m5QebqvEEeCQLtqIc6Ik6Q" name="signed" ordered="false" lowerBound="1">
+                  <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+                </eStructuralFeatures>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EClass" xmi:id="_m5QecavEEeCQLtqIc6Ik6Q" name="FixedSWDataType" eSuperTypes="_m5QeSqvEEeCQLtqIc6Ik6Q">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_m5QecqvEEeCQLtqIc6Ik6Q" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_ckro0Ku_EeCQLtqIc6Ik6Q"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_m5Qec6vEEeCQLtqIc6Ik6Q" name="signed" ordered="false" lowerBound="1">
+                  <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+                </eStructuralFeatures>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EClass" xmi:id="_m5QedqvEEeCQLtqIc6Ik6Q" name="IntegerSWDataType" eSuperTypes="_m5QeSqvEEeCQLtqIc6Ik6Q">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_m5Qed6vEEeCQLtqIc6Ik6Q" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_j4Yf8Ku_EeCQLtqIc6Ik6Q"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_m5QeeKvEEeCQLtqIc6Ik6Q" name="signed" ordered="false" lowerBound="1">
+                  <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+                </eStructuralFeatures>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EClass" xmi:id="_m5Qee6vEEeCQLtqIc6Ik6Q" name="CharSWDataType" eSuperTypes="_m5QeSqvEEeCQLtqIc6Ik6Q">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_m5QefKvEEeCQLtqIc6Ik6Q" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_r0I1kKu_EeCQLtqIc6Ik6Q"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_m5QefavEEeCQLtqIc6Ik6Q" name="signed" ordered="false" lowerBound="1">
+                  <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+                </eStructuralFeatures>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EClass" xmi:id="_m5QegKvEEeCQLtqIc6Ik6Q" name="BooleanSWDataType" eSuperTypes="_m5QeSqvEEeCQLtqIc6Ik6Q">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_m5QegavEEeCQLtqIc6Ik6Q" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_yW8bQKu_EeCQLtqIc6Ik6Q"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_m5u-0qvEEeCQLtqIc6Ik6Q" name="NFP_Integer" instanceClassName="java.lang.String">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_m5u-06vEEeCQLtqIc6Ik6Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_0KWSgBFQEdyUJeMeN__D-A"/>
+                </eAnnotations>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_m9kV8KvEEeCQLtqIc6Ik6Q" name="Real" instanceClassName="java.lang.String">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_m9kV8avEEeCQLtqIc6Ik6Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_beo90AnpEdy9WM11hWri2g"/>
+                </eAnnotations>
+              </eClassifiers>
+            </contents>
+            <contents xmi:type="ecore:EPackage" xmi:id="_dI9lIKvAEeCQLtqIc6Ik6Q" name="HardwareBaseline" nsURI="http://CHESS/Predictability/DeploymentConfiguration/HardwareBaseline" nsPrefix="HardwareBaseline">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_dNYyIKvAEeCQLtqIc6Ik6Q" source="PapyrusVersion">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_dNYyIavAEeCQLtqIc6Ik6Q" key="Version" value="0.1.12"/>
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_dNYyIqvAEeCQLtqIc6Ik6Q" key="Comment" value=""/>
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_dNYyI6vAEeCQLtqIc6Ik6Q" key="Copyright" value=""/>
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_dNYyJKvAEeCQLtqIc6Ik6Q" key="Date" value="2011-07-11"/>
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_dNYyJavAEeCQLtqIc6Ik6Q" key="Author" value=""/>
+              </eAnnotations>
+              <eClassifiers xmi:type="ecore:EClass" xmi:id="_dI9lIavAEeCQLtqIc6Ik6Q" name="CH_HwProcessor">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_dI9lIqvAEeCQLtqIc6Ik6Q" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_7_W-sMCpEd-RT45s8cwWMg"/>
+                <eSuperTypes xmi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/MARTE/1#//HwComputing/HwProcessor"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_dI9lI6vAEeCQLtqIc6Ik6Q" name="dataType" ordered="false" lowerBound="1">
+                  <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+                </eStructuralFeatures>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_dI9lJavAEeCQLtqIc6Ik6Q" name="operation" ordered="false" lowerBound="1" eType="_dI9lKqvAEeCQLtqIc6Ik6Q"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_dJMOoKvAEeCQLtqIc6Ik6Q" name="executionCycles" ordered="false" lowerBound="1" eType="_dJMOoqvAEeCQLtqIc6Ik6Q"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_dI9lKqvAEeCQLtqIc6Ik6Q" name="BasicOperation">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_dI9lK6vAEeCQLtqIc6Ik6Q" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_o6wVAKu8EeCQLtqIc6Ik6Q"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_dI9lLKvAEeCQLtqIc6Ik6Q" name="add"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_dI9lLavAEeCQLtqIc6Ik6Q" name="mul" value="1"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_dI9lLqvAEeCQLtqIc6Ik6Q" name="div" value="2"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_dI9lL6vAEeCQLtqIc6Ik6Q" name="mod" value="3"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_dI9lMKvAEeCQLtqIc6Ik6Q" name="shift" value="4"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_dI9lhKvAEeCQLtqIc6Ik6Q" name="MARTE_Library_MARTE_DataTypes_VSL_Expression" instanceClassName="java.lang.String">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_dI9lhavAEeCQLtqIc6Ik6Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_bManMBEBEdyx6M3BlUjlCQ"/>
+                </eAnnotations>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_dI9lhqvAEeCQLtqIc6Ik6Q" name="MARTE_Library_BasicNFP_Types_SourceKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_dI9lh6vAEeCQLtqIc6Ik6Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_oMZzEBD-EdyybZnLxHsjyA"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_dI9liKvAEeCQLtqIc6Ik6Q" name="est"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_dI9liavAEeCQLtqIc6Ik6Q" name="meas" value="1"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_dI9liqvAEeCQLtqIc6Ik6Q" name="calc" value="2"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_dI9li6vAEeCQLtqIc6Ik6Q" name="req" value="3"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_dI9ljKvAEeCQLtqIc6Ik6Q" name="MARTE_Library_BasicNFP_Types_StatisticalQualifierKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_dI9ljavAEeCQLtqIc6Ik6Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_0N52EBD-EdyybZnLxHsjyA"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_dI9ljqvAEeCQLtqIc6Ik6Q" name="max"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_dI9lj6vAEeCQLtqIc6Ik6Q" name="min" value="1"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_dI9lkKvAEeCQLtqIc6Ik6Q" name="mean" value="2"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_dI9lkavAEeCQLtqIc6Ik6Q" name="range" value="3"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_dI9lkqvAEeCQLtqIc6Ik6Q" name="percent" value="4"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_dI9lk6vAEeCQLtqIc6Ik6Q" name="distrib" value="5"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_dI9llKvAEeCQLtqIc6Ik6Q" name="determ" value="6"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_dI9llavAEeCQLtqIc6Ik6Q" name="other" value="7"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_dI9llqvAEeCQLtqIc6Ik6Q" name="variance" value="8"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_dI9ll6vAEeCQLtqIc6Ik6Q" name="MARTE_Library_BasicNFP_Types_DirectionKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_dI9lmKvAEeCQLtqIc6Ik6Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_vvfxEBD-EdyybZnLxHsjyA"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_dI9lmavAEeCQLtqIc6Ik6Q" name="incr"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_dI9lmqvAEeCQLtqIc6Ik6Q" name="decr" value="1"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_dI9lm6vAEeCQLtqIc6Ik6Q" name="MARTE_Library_MARTE_PrimitivesTypes_Real" instanceClassName="java.lang.String">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_dI9lnKvAEeCQLtqIc6Ik6Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_beo90AnpEdy9WM11hWri2g"/>
+                </eAnnotations>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_dI9lnavAEeCQLtqIc6Ik6Q" name="MARTE_Library_MARTE_PrimitivesTypes_Integer" instanceClassName="int">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_dI9lnqvAEeCQLtqIc6Ik6Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_HJ1zcAnfEdy9WM11hWri2g"/>
+                </eAnnotations>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EClass" xmi:id="_dI9ln6vAEeCQLtqIc6Ik6Q" name="DataTypeAllocate">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_dI9loKvAEeCQLtqIc6Ik6Q" source="http://www.eclipse.org/uml2/2.0.0/UML"/>
+                <eSuperTypes xmi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/MARTE/1#//Alloc/Allocate"/>
+                <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_dI9loavAEeCQLtqIc6Ik6Q" name="swDataType" ordered="false" lowerBound="1" eType="_dI9lqKvAEeCQLtqIc6Ik6Q"/>
+                <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_dI9lo6vAEeCQLtqIc6Ik6Q" name="hwDataType" ordered="false" lowerBound="1" eType="_dI9lrqvAEeCQLtqIc6Ik6Q"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_dKSa0KvAEeCQLtqIc6Ik6Q" name="executionCycles" ordered="false" lowerBound="1" eType="_dJMOoqvAEeCQLtqIc6Ik6Q"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EClass" xmi:id="_dI9lqKvAEeCQLtqIc6Ik6Q" name="SWDataType" abstract="true">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_dI9lqavAEeCQLtqIc6Ik6Q" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_xo40sKu6EeCQLtqIc6Ik6Q"/>
+                <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_dI9lqqvAEeCQLtqIc6Ik6Q" name="base_DataType" ordered="false" lowerBound="1">
+                  <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//DataType"/>
+                </eStructuralFeatures>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_dI9lrKvAEeCQLtqIc6Ik6Q" name="bitSize" ordered="false" lowerBound="1">
+                  <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
+                </eStructuralFeatures>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EClass" xmi:id="_dI9lrqvAEeCQLtqIc6Ik6Q" name="HWDateType">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_dI9lr6vAEeCQLtqIc6Ik6Q" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_FeV_YKu_EeCQLtqIc6Ik6Q"/>
+                <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_dI9lsKvAEeCQLtqIc6Ik6Q" name="base_DataType" ordered="false" lowerBound="1">
+                  <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//DataType"/>
+                </eStructuralFeatures>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_dI9lsqvAEeCQLtqIc6Ik6Q" name="bitLength" ordered="false">
+                  <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
+                </eStructuralFeatures>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_dI9ltKvAEeCQLtqIc6Ik6Q" name="operation" ordered="false" lowerBound="1" eType="_dI9lKqvAEeCQLtqIc6Ik6Q"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_dI9ltqvAEeCQLtqIc6Ik6Q" name="executionCylces" ordered="false" lowerBound="1">
+                  <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
+                </eStructuralFeatures>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_dI-MMKvAEeCQLtqIc6Ik6Q" name="type" ordered="false" lowerBound="1" eType="_dI-MMqvAEeCQLtqIc6Ik6Q"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_dI-MMqvAEeCQLtqIc6Ik6Q" name="BasicDataType">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_dI-MM6vAEeCQLtqIc6Ik6Q" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_ImkfIKvAEeCQLtqIc6Ik6Q"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_dI-MNKvAEeCQLtqIc6Ik6Q" name="Signed"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_dI-MNavAEeCQLtqIc6Ik6Q" name="Integer" value="1"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_dI-MNqvAEeCQLtqIc6Ik6Q" name="Fixed_Point" value="2"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_dI-MN6vAEeCQLtqIc6Ik6Q" name="Float" value="3"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EClass" xmi:id="_dI-MOKvAEeCQLtqIc6Ik6Q" name="ComputeComplexity">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_dI-MOavAEeCQLtqIc6Ik6Q" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_WEDSwKlhEeC6PYeyk6yc0A"/>
+                <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_dI-MOqvAEeCQLtqIc6Ik6Q" name="swDataType" ordered="false" lowerBound="1" eType="_dI9lqKvAEeCQLtqIc6Ik6Q"/>
+                <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_dI-MPKvAEeCQLtqIc6Ik6Q" name="opCount" ordered="false" lowerBound="1" upperBound="-1" eType="_dI-MQKvAEeCQLtqIc6Ik6Q"/>
+                <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_dI-MPqvAEeCQLtqIc6Ik6Q" name="base_Class" ordered="false" lowerBound="1">
+                  <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+                </eStructuralFeatures>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EClass" xmi:id="_dI-MQKvAEeCQLtqIc6Ik6Q" name="OperationCount">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_dI-MQavAEeCQLtqIc6Ik6Q" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_veeesKlhEeC6PYeyk6yc0A"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_dI-MQqvAEeCQLtqIc6Ik6Q" name="operation" ordered="false" lowerBound="1" eType="_dI9lKqvAEeCQLtqIc6Ik6Q"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_dI-MRKvAEeCQLtqIc6Ik6Q" name="count" ordered="false" lowerBound="1">
+                  <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
+                </eStructuralFeatures>
+                <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_dI-MRqvAEeCQLtqIc6Ik6Q" name="base_Class" ordered="false" lowerBound="1">
+                  <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+                </eStructuralFeatures>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EClass" xmi:id="_dI-MSKvAEeCQLtqIc6Ik6Q" name="CHControlFlow">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_dI-MSavAEeCQLtqIc6Ik6Q" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_ZjBvUKu3EeCQLtqIc6Ik6Q"/>
+                <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_dI-MSqvAEeCQLtqIc6Ik6Q" name="base_ControlFlow" ordered="false" lowerBound="1">
+                  <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//ControlFlow"/>
+                </eStructuralFeatures>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_dI-MTKvAEeCQLtqIc6Ik6Q" name="rep" ordered="false" eType="_dMyVMKvAEeCQLtqIc6Ik6Q"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_dI-MTqvAEeCQLtqIc6Ik6Q" name="prob" ordered="false" eType="_dMyVMKvAEeCQLtqIc6Ik6Q"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_dI-MUKvAEeCQLtqIc6Ik6Q" name="order" ordered="false" eType="_dMyVMKvAEeCQLtqIc6Ik6Q"/>
+                <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_dI-MUqvAEeCQLtqIc6Ik6Q" name="compComplex" ordered="false" upperBound="-1" eType="_dI-MOKvAEeCQLtqIc6Ik6Q"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EClass" xmi:id="_dI-MVKvAEeCQLtqIc6Ik6Q" name="FloatSWDataType" eSuperTypes="_dI9lqKvAEeCQLtqIc6Ik6Q">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_dI-MVavAEeCQLtqIc6Ik6Q" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_X8RTQKu_EeCQLtqIc6Ik6Q"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_dI-MVqvAEeCQLtqIc6Ik6Q" name="signed" ordered="false" lowerBound="1">
+                  <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+                </eStructuralFeatures>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EClass" xmi:id="_dI-MWavAEeCQLtqIc6Ik6Q" name="FixedSWDataType" eSuperTypes="_dI9lqKvAEeCQLtqIc6Ik6Q">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_dI-MWqvAEeCQLtqIc6Ik6Q" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_ckro0Ku_EeCQLtqIc6Ik6Q"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_dI-MW6vAEeCQLtqIc6Ik6Q" name="signed" ordered="false" lowerBound="1">
+                  <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+                </eStructuralFeatures>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EClass" xmi:id="_dI-MXqvAEeCQLtqIc6Ik6Q" name="IntegerSWDataType" eSuperTypes="_dI9lqKvAEeCQLtqIc6Ik6Q">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_dI-MX6vAEeCQLtqIc6Ik6Q" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_j4Yf8Ku_EeCQLtqIc6Ik6Q"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_dI-MYKvAEeCQLtqIc6Ik6Q" name="signed" ordered="false" lowerBound="1">
+                  <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+                </eStructuralFeatures>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EClass" xmi:id="_dI-MY6vAEeCQLtqIc6Ik6Q" name="CharSWDataType" eSuperTypes="_dI9lqKvAEeCQLtqIc6Ik6Q">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_dI-MZKvAEeCQLtqIc6Ik6Q" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_r0I1kKu_EeCQLtqIc6Ik6Q"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_dI-MZavAEeCQLtqIc6Ik6Q" name="signed" ordered="false" lowerBound="1">
+                  <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+                </eStructuralFeatures>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EClass" xmi:id="_dI-MaKvAEeCQLtqIc6Ik6Q" name="BooleanSWDataType" eSuperTypes="_dI9lqKvAEeCQLtqIc6Ik6Q">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_dI-MaavAEeCQLtqIc6Ik6Q" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_yW8bQKu_EeCQLtqIc6Ik6Q"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_dJMOoqvAEeCQLtqIc6Ik6Q" name="NFP_Integer" instanceClassName="java.lang.String">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_dJMOo6vAEeCQLtqIc6Ik6Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_0KWSgBFQEdyUJeMeN__D-A"/>
+                </eAnnotations>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_dMyVMKvAEeCQLtqIc6Ik6Q" name="Real" instanceClassName="java.lang.String">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_dMyVMavAEeCQLtqIc6Ik6Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_beo90AnpEdy9WM11hWri2g"/>
+                </eAnnotations>
+              </eClassifiers>
+            </contents>
+            <contents xmi:type="ecore:EPackage" xmi:id="_307gMKu6EeCQLtqIc6Ik6Q" name="HardwareBaseline" nsURI="http://CHESS/Predictability/DeploymentConfiguration/HardwareBaseline" nsPrefix="HardwareBaseline">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_359KIKu6EeCQLtqIc6Ik6Q" source="PapyrusVersion">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_359KIau6EeCQLtqIc6Ik6Q" key="Version" value="0.1.11"/>
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_359KIqu6EeCQLtqIc6Ik6Q" key="Comment" value=""/>
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_359KI6u6EeCQLtqIc6Ik6Q" key="Copyright" value=""/>
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_359KJKu6EeCQLtqIc6Ik6Q" key="Date" value="2011-07-11"/>
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_359KJau6EeCQLtqIc6Ik6Q" key="Author" value=""/>
+              </eAnnotations>
+              <eClassifiers xmi:type="ecore:EClass" xmi:id="_307gMau6EeCQLtqIc6Ik6Q" name="CH_HwProcessor">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_307gMqu6EeCQLtqIc6Ik6Q" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_7_W-sMCpEd-RT45s8cwWMg"/>
+                <eSuperTypes xmi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/MARTE/1#//HwComputing/HwProcessor"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_307gM6u6EeCQLtqIc6Ik6Q" name="dataType" ordered="false" lowerBound="1">
+                  <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+                </eStructuralFeatures>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_307gNau6EeCQLtqIc6Ik6Q" name="operation" ordered="false" lowerBound="1" eType="_307gOqu6EeCQLtqIc6Ik6Q"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_31KJsKu6EeCQLtqIc6Ik6Q" name="executionCycles" ordered="false" lowerBound="1" eType="_31KJsqu6EeCQLtqIc6Ik6Q"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_307gOqu6EeCQLtqIc6Ik6Q" name="CHESS_Predictability_DeploymentConfiguration_HwDataTypes_HwOperation">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_307gO6u6EeCQLtqIc6Ik6Q" source="http://www.eclipse.org/uml2/2.0.0/UML"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_307gPKu6EeCQLtqIc6Ik6Q" name="add"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_307gPau6EeCQLtqIc6Ik6Q" name="mul" value="1"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_307gPqu6EeCQLtqIc6Ik6Q" name="div" value="2"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_307gP6u6EeCQLtqIc6Ik6Q" name="mod" value="3"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_307gQKu6EeCQLtqIc6Ik6Q" name="shift" value="4"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_307glKu6EeCQLtqIc6Ik6Q" name="MARTE_Library_MARTE_DataTypes_VSL_Expression" instanceClassName="java.lang.String">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_307glau6EeCQLtqIc6Ik6Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_bManMBEBEdyx6M3BlUjlCQ"/>
+                </eAnnotations>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_308HQKu6EeCQLtqIc6Ik6Q" name="MARTE_Library_BasicNFP_Types_SourceKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_308HQau6EeCQLtqIc6Ik6Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_oMZzEBD-EdyybZnLxHsjyA"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_308HQqu6EeCQLtqIc6Ik6Q" name="est"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_308HQ6u6EeCQLtqIc6Ik6Q" name="meas" value="1"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_308HRKu6EeCQLtqIc6Ik6Q" name="calc" value="2"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_308HRau6EeCQLtqIc6Ik6Q" name="req" value="3"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_308HRqu6EeCQLtqIc6Ik6Q" name="MARTE_Library_BasicNFP_Types_StatisticalQualifierKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_308HR6u6EeCQLtqIc6Ik6Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_0N52EBD-EdyybZnLxHsjyA"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_308HSKu6EeCQLtqIc6Ik6Q" name="max"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_308HSau6EeCQLtqIc6Ik6Q" name="min" value="1"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_308HSqu6EeCQLtqIc6Ik6Q" name="mean" value="2"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_308HS6u6EeCQLtqIc6Ik6Q" name="range" value="3"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_308HTKu6EeCQLtqIc6Ik6Q" name="percent" value="4"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_308HTau6EeCQLtqIc6Ik6Q" name="distrib" value="5"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_308HTqu6EeCQLtqIc6Ik6Q" name="determ" value="6"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_308HT6u6EeCQLtqIc6Ik6Q" name="other" value="7"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_308HUKu6EeCQLtqIc6Ik6Q" name="variance" value="8"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_308HUau6EeCQLtqIc6Ik6Q" name="MARTE_Library_BasicNFP_Types_DirectionKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_308HUqu6EeCQLtqIc6Ik6Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_vvfxEBD-EdyybZnLxHsjyA"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_308HU6u6EeCQLtqIc6Ik6Q" name="incr"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_308HVKu6EeCQLtqIc6Ik6Q" name="decr" value="1"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_308HVau6EeCQLtqIc6Ik6Q" name="MARTE_Library_MARTE_PrimitivesTypes_Real" instanceClassName="java.lang.String">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_308HVqu6EeCQLtqIc6Ik6Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_beo90AnpEdy9WM11hWri2g"/>
+                </eAnnotations>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_308HV6u6EeCQLtqIc6Ik6Q" name="MARTE_Library_MARTE_PrimitivesTypes_Integer" instanceClassName="int">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_308HWKu6EeCQLtqIc6Ik6Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_HJ1zcAnfEdy9WM11hWri2g"/>
+                </eAnnotations>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EClass" xmi:id="_308HWau6EeCQLtqIc6Ik6Q" name="DataTypeAllocate">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_308HWqu6EeCQLtqIc6Ik6Q" source="http://www.eclipse.org/uml2/2.0.0/UML"/>
+                <eSuperTypes xmi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/MARTE/1#//Alloc/Allocate"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_308HW6u6EeCQLtqIc6Ik6Q" name="swDataType" ordered="false" lowerBound="1">
+                  <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+                </eStructuralFeatures>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_308HXau6EeCQLtqIc6Ik6Q" name="hwDataType" ordered="false" lowerBound="1">
+                  <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+                </eStructuralFeatures>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_313UUKu6EeCQLtqIc6Ik6Q" name="executionCycles" ordered="false" lowerBound="1" eType="_31KJsqu6EeCQLtqIc6Ik6Q"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EClass" xmi:id="_308HYqu6EeCQLtqIc6Ik6Q" name="ComputeComplexity">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_308HY6u6EeCQLtqIc6Ik6Q" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_WEDSwKlhEeC6PYeyk6yc0A"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_308HZKu6EeCQLtqIc6Ik6Q" name="swDataType" ordered="false" lowerBound="1">
+                  <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+                </eStructuralFeatures>
+                <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_308HZqu6EeCQLtqIc6Ik6Q" name="opCount" ordered="false" lowerBound="1" upperBound="-1" eType="_308Haqu6EeCQLtqIc6Ik6Q"/>
+                <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_308HaKu6EeCQLtqIc6Ik6Q" name="base_Class" ordered="false" lowerBound="1">
+                  <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+                </eStructuralFeatures>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EClass" xmi:id="_308Haqu6EeCQLtqIc6Ik6Q" name="OperationCount">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_308Ha6u6EeCQLtqIc6Ik6Q" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_veeesKlhEeC6PYeyk6yc0A"/>
+                <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_308HbKu6EeCQLtqIc6Ik6Q" name="operation" ordered="false" lowerBound="1" eType="_308Hcqu6EeCQLtqIc6Ik6Q"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_308Hbqu6EeCQLtqIc6Ik6Q" name="count" ordered="false" lowerBound="1">
+                  <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
+                </eStructuralFeatures>
+                <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_308HcKu6EeCQLtqIc6Ik6Q" name="base_Class" ordered="false" lowerBound="1">
+                  <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+                </eStructuralFeatures>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EClass" xmi:id="_308Hcqu6EeCQLtqIc6Ik6Q" name="SWDataType">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_308Hc6u6EeCQLtqIc6Ik6Q" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_xo40sKu6EeCQLtqIc6Ik6Q"/>
+                <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_308HdKu6EeCQLtqIc6Ik6Q" name="base_DataType" ordered="false" lowerBound="1">
+                  <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//DataType"/>
+                </eStructuralFeatures>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EClass" xmi:id="_308Hdqu6EeCQLtqIc6Ik6Q" name="CHControlFlow">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_308Hd6u6EeCQLtqIc6Ik6Q" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_ZjBvUKu3EeCQLtqIc6Ik6Q"/>
+                <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_308HeKu6EeCQLtqIc6Ik6Q" name="base_ControlFlow" ordered="false" lowerBound="1">
+                  <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//ControlFlow"/>
+                </eStructuralFeatures>
+                <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_308HgKu6EeCQLtqIc6Ik6Q" name="compComplex" ordered="false" upperBound="-1" eType="_308HYqu6EeCQLtqIc6Ik6Q"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_33nAwKu6EeCQLtqIc6Ik6Q" name="rep" ordered="false" eType="_33nn0Ku6EeCQLtqIc6Ik6Q"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_339mEKu6EeCQLtqIc6Ik6Q" name="prob" ordered="false" eType="_33nn0Ku6EeCQLtqIc6Ik6Q"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_34tM8Ku6EeCQLtqIc6Ik6Q" name="order" ordered="false" eType="_33nn0Ku6EeCQLtqIc6Ik6Q"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_31KJsqu6EeCQLtqIc6Ik6Q" name="NFP_Integer" instanceClassName="java.lang.String">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_31KJs6u6EeCQLtqIc6Ik6Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_0KWSgBFQEdyUJeMeN__D-A"/>
+                </eAnnotations>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_33nn0Ku6EeCQLtqIc6Ik6Q" name="NFP_Real" instanceClassName="java.lang.String">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_33nn0au6EeCQLtqIc6Ik6Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_Yq-MQBFQEdyUJeMeN__D-A"/>
+                </eAnnotations>
+              </eClassifiers>
+            </contents>
+            <contents xmi:type="ecore:EPackage" xmi:id="_rbxdEKu4EeCQLtqIc6Ik6Q" name="HardwareBaseline" nsURI="http://CHESS/Predictability/DeploymentConfiguration/HardwareBaseline" nsPrefix="HardwareBaseline">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_rgOfQKu4EeCQLtqIc6Ik6Q" source="PapyrusVersion">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_rgOfQau4EeCQLtqIc6Ik6Q" key="Version" value="0.1.10"/>
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_rgOfQqu4EeCQLtqIc6Ik6Q" key="Comment" value=""/>
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_rgOfQ6u4EeCQLtqIc6Ik6Q" key="Copyright" value=""/>
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_rgOfRKu4EeCQLtqIc6Ik6Q" key="Date" value="2011-07-11"/>
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_rgOfRau4EeCQLtqIc6Ik6Q" key="Author" value=""/>
+              </eAnnotations>
+              <eClassifiers xmi:type="ecore:EClass" xmi:id="_rbxdEau4EeCQLtqIc6Ik6Q" name="CH_HwProcessor">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_rbxdEqu4EeCQLtqIc6Ik6Q" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_7_W-sMCpEd-RT45s8cwWMg"/>
+                <eSuperTypes xmi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/MARTE/1#//HwComputing/HwProcessor"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_rbxdE6u4EeCQLtqIc6Ik6Q" name="dataType" ordered="false" lowerBound="1">
+                  <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+                </eStructuralFeatures>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_rbxdFau4EeCQLtqIc6Ik6Q" name="operation" ordered="false" lowerBound="1" eType="_rbxdGqu4EeCQLtqIc6Ik6Q"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_rcCi0Ku4EeCQLtqIc6Ik6Q" name="executionCycles" ordered="false" lowerBound="1" eType="_rcDJ4Ku4EeCQLtqIc6Ik6Q"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_rbxdGqu4EeCQLtqIc6Ik6Q" name="CHESS_Predictability_DeploymentConfiguration_HwDataTypes_HwOperation">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_rbxdG6u4EeCQLtqIc6Ik6Q" source="http://www.eclipse.org/uml2/2.0.0/UML"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_rbxdHKu4EeCQLtqIc6Ik6Q" name="add"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_rbxdHau4EeCQLtqIc6Ik6Q" name="mul" value="1"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_rbxdHqu4EeCQLtqIc6Ik6Q" name="div" value="2"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_rbxdH6u4EeCQLtqIc6Ik6Q" name="mod" value="3"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_rbxdIKu4EeCQLtqIc6Ik6Q" name="shift" value="4"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_rbyET6u4EeCQLtqIc6Ik6Q" name="MARTE_Library_MARTE_DataTypes_VSL_Expression" instanceClassName="java.lang.String">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_rbyEUKu4EeCQLtqIc6Ik6Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_bManMBEBEdyx6M3BlUjlCQ"/>
+                </eAnnotations>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_rbyEUau4EeCQLtqIc6Ik6Q" name="MARTE_Library_BasicNFP_Types_SourceKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_rbyEUqu4EeCQLtqIc6Ik6Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_oMZzEBD-EdyybZnLxHsjyA"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_rbyEU6u4EeCQLtqIc6Ik6Q" name="est"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_rbyEVKu4EeCQLtqIc6Ik6Q" name="meas" value="1"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_rbyEVau4EeCQLtqIc6Ik6Q" name="calc" value="2"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_rbyEVqu4EeCQLtqIc6Ik6Q" name="req" value="3"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_rbyEV6u4EeCQLtqIc6Ik6Q" name="MARTE_Library_BasicNFP_Types_StatisticalQualifierKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_rbyEWKu4EeCQLtqIc6Ik6Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_0N52EBD-EdyybZnLxHsjyA"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_rbyEWau4EeCQLtqIc6Ik6Q" name="max"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_rbyEWqu4EeCQLtqIc6Ik6Q" name="min" value="1"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_rbyEW6u4EeCQLtqIc6Ik6Q" name="mean" value="2"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_rbyEXKu4EeCQLtqIc6Ik6Q" name="range" value="3"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_rbyEXau4EeCQLtqIc6Ik6Q" name="percent" value="4"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_rbyEXqu4EeCQLtqIc6Ik6Q" name="distrib" value="5"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_rbyEX6u4EeCQLtqIc6Ik6Q" name="determ" value="6"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_rbyEYKu4EeCQLtqIc6Ik6Q" name="other" value="7"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_rbyEYau4EeCQLtqIc6Ik6Q" name="variance" value="8"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_rbyEYqu4EeCQLtqIc6Ik6Q" name="MARTE_Library_BasicNFP_Types_DirectionKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_rbyEY6u4EeCQLtqIc6Ik6Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_vvfxEBD-EdyybZnLxHsjyA"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_rbyEZKu4EeCQLtqIc6Ik6Q" name="incr"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_rbyEZau4EeCQLtqIc6Ik6Q" name="decr" value="1"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_rbyEZqu4EeCQLtqIc6Ik6Q" name="MARTE_Library_MARTE_PrimitivesTypes_Real" instanceClassName="java.lang.String">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_rbyEZ6u4EeCQLtqIc6Ik6Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_beo90AnpEdy9WM11hWri2g"/>
+                </eAnnotations>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_rbyEaKu4EeCQLtqIc6Ik6Q" name="MARTE_Library_MARTE_PrimitivesTypes_Integer" instanceClassName="int">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_rbyEaau4EeCQLtqIc6Ik6Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_HJ1zcAnfEdy9WM11hWri2g"/>
+                </eAnnotations>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EClass" xmi:id="_rbyEaqu4EeCQLtqIc6Ik6Q" name="DataTypeAllocate">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_rbyEa6u4EeCQLtqIc6Ik6Q" source="http://www.eclipse.org/uml2/2.0.0/UML"/>
+                <eSuperTypes xmi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/MARTE/1#//Alloc/Allocate"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_rbyEbKu4EeCQLtqIc6Ik6Q" name="swDataType" ordered="false" lowerBound="1">
+                  <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+                </eStructuralFeatures>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_rbyEbqu4EeCQLtqIc6Ik6Q" name="hwDataType" ordered="false" lowerBound="1">
+                  <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+                </eStructuralFeatures>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_rc10EKu4EeCQLtqIc6Ik6Q" name="executionCycles" ordered="false" lowerBound="1" eType="_rcDJ4Ku4EeCQLtqIc6Ik6Q"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EClass" xmi:id="_rbyEc6u4EeCQLtqIc6Ik6Q" name="ComputeComplexity">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_rbyEdKu4EeCQLtqIc6Ik6Q" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_WEDSwKlhEeC6PYeyk6yc0A"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_rbyEdau4EeCQLtqIc6Ik6Q" name="swDataType" ordered="false" lowerBound="1">
+                  <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+                </eStructuralFeatures>
+                <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_rbyEd6u4EeCQLtqIc6Ik6Q" name="opCount" ordered="false" lowerBound="1" upperBound="-1" eType="_rbyEe6u4EeCQLtqIc6Ik6Q"/>
+                <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_rbyEeau4EeCQLtqIc6Ik6Q" name="base_Class" ordered="false" lowerBound="1">
+                  <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+                </eStructuralFeatures>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EClass" xmi:id="_rbyEe6u4EeCQLtqIc6Ik6Q" name="OperationCount">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_rbyEfKu4EeCQLtqIc6Ik6Q" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_veeesKlhEeC6PYeyk6yc0A"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_rbyEfau4EeCQLtqIc6Ik6Q" name="operation" ordered="false" lowerBound="1">
+                  <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+                </eStructuralFeatures>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_rbyEf6u4EeCQLtqIc6Ik6Q" name="count" ordered="false" lowerBound="1">
+                  <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
+                </eStructuralFeatures>
+                <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_rbyEgau4EeCQLtqIc6Ik6Q" name="base_Class" ordered="false" lowerBound="1">
+                  <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+                </eStructuralFeatures>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EClass" xmi:id="_rbyEg6u4EeCQLtqIc6Ik6Q" name="CHControlFlow">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_rbyEhKu4EeCQLtqIc6Ik6Q" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_ZjBvUKu3EeCQLtqIc6Ik6Q"/>
+                <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_rbyEhau4EeCQLtqIc6Ik6Q" name="base_ControlFlow" ordered="false" lowerBound="1">
+                  <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//ControlFlow"/>
+                </eStructuralFeatures>
+                <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_rbyEjau4EeCQLtqIc6Ik6Q" name="compComplex" ordered="false" upperBound="-1" eType="_rbyEc6u4EeCQLtqIc6Ik6Q"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_reMe8Ku4EeCQLtqIc6Ik6Q" name="rep" ordered="false" eType="_reMe8qu4EeCQLtqIc6Ik6Q"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_rejEQKu4EeCQLtqIc6Ik6Q" name="prob" ordered="false" eType="_reMe8qu4EeCQLtqIc6Ik6Q"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_re_JIKu4EeCQLtqIc6Ik6Q" name="order" ordered="false" eType="_reMe8qu4EeCQLtqIc6Ik6Q"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_rcDJ4Ku4EeCQLtqIc6Ik6Q" name="NFP_Integer" instanceClassName="java.lang.String">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_rcDJ4au4EeCQLtqIc6Ik6Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_0KWSgBFQEdyUJeMeN__D-A"/>
+                </eAnnotations>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_reMe8qu4EeCQLtqIc6Ik6Q" name="NFP_Real" instanceClassName="java.lang.String">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_reMe86u4EeCQLtqIc6Ik6Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_Yq-MQBFQEdyUJeMeN__D-A"/>
+                </eAnnotations>
+              </eClassifiers>
+            </contents>
+            <contents xmi:type="ecore:EPackage" xmi:id="_8RPmkKlhEeC6PYeyk6yc0A" name="HardwareBaseline" nsURI="http://CHESS/Predictability/DeploymentConfiguration/HardwareBaseline" nsPrefix="HardwareBaseline">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8TdNEKlhEeC6PYeyk6yc0A" source="PapyrusVersion">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8TdNEalhEeC6PYeyk6yc0A" key="Version" value="0.1.9"/>
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8TdNEqlhEeC6PYeyk6yc0A" key="Comment" value=""/>
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8TdNE6lhEeC6PYeyk6yc0A" key="Copyright" value=""/>
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8TdNFKlhEeC6PYeyk6yc0A" key="Date" value="2011-07-08"/>
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8TdNFalhEeC6PYeyk6yc0A" key="Author" value=""/>
+              </eAnnotations>
+              <eClassifiers xmi:type="ecore:EClass" xmi:id="_8RPmkalhEeC6PYeyk6yc0A" name="CH_HwProcessor">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8RPmkqlhEeC6PYeyk6yc0A" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_7_W-sMCpEd-RT45s8cwWMg"/>
+                <eSuperTypes xmi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/MARTE/1#//HwComputing/HwProcessor"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_8RPmk6lhEeC6PYeyk6yc0A" name="dataType" ordered="false" lowerBound="1">
+                  <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+                </eStructuralFeatures>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_8RPmlalhEeC6PYeyk6yc0A" name="operation" ordered="false" lowerBound="1" eType="_8RPmmqlhEeC6PYeyk6yc0A"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_8RfeMKlhEeC6PYeyk6yc0A" name="executionCycles" ordered="false" lowerBound="1" eType="_8RfeMqlhEeC6PYeyk6yc0A"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_8RPmmqlhEeC6PYeyk6yc0A" name="CHESS_Predictability_DeploymentConfiguration_HwDataTypes_HwOperation">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8RPmm6lhEeC6PYeyk6yc0A" source="http://www.eclipse.org/uml2/2.0.0/UML"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_8RPmnKlhEeC6PYeyk6yc0A" name="add"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_8RPmnalhEeC6PYeyk6yc0A" name="mul" value="1"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_8RPmnqlhEeC6PYeyk6yc0A" name="div" value="2"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_8RPmn6lhEeC6PYeyk6yc0A" name="mod" value="3"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_8RPmoKlhEeC6PYeyk6yc0A" name="shift" value="4"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_8RPm9KlhEeC6PYeyk6yc0A" name="MARTE_Library_MARTE_DataTypes_VSL_Expression" instanceClassName="java.lang.String">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8RPm9alhEeC6PYeyk6yc0A" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_bManMBEBEdyx6M3BlUjlCQ"/>
+                </eAnnotations>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_8RPm9qlhEeC6PYeyk6yc0A" name="MARTE_Library_BasicNFP_Types_SourceKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8RPm96lhEeC6PYeyk6yc0A" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_oMZzEBD-EdyybZnLxHsjyA"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_8RPm-KlhEeC6PYeyk6yc0A" name="est"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_8RPm-alhEeC6PYeyk6yc0A" name="meas" value="1"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_8RPm-qlhEeC6PYeyk6yc0A" name="calc" value="2"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_8RPm-6lhEeC6PYeyk6yc0A" name="req" value="3"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_8RPm_KlhEeC6PYeyk6yc0A" name="MARTE_Library_BasicNFP_Types_StatisticalQualifierKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8RPm_alhEeC6PYeyk6yc0A" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_0N52EBD-EdyybZnLxHsjyA"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_8RPm_qlhEeC6PYeyk6yc0A" name="max"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_8RPm_6lhEeC6PYeyk6yc0A" name="min" value="1"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_8RPnAKlhEeC6PYeyk6yc0A" name="mean" value="2"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_8RPnAalhEeC6PYeyk6yc0A" name="range" value="3"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_8RPnAqlhEeC6PYeyk6yc0A" name="percent" value="4"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_8RPnA6lhEeC6PYeyk6yc0A" name="distrib" value="5"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_8RPnBKlhEeC6PYeyk6yc0A" name="determ" value="6"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_8RPnBalhEeC6PYeyk6yc0A" name="other" value="7"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_8RPnBqlhEeC6PYeyk6yc0A" name="variance" value="8"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_8RPnB6lhEeC6PYeyk6yc0A" name="MARTE_Library_BasicNFP_Types_DirectionKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8RPnCKlhEeC6PYeyk6yc0A" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_vvfxEBD-EdyybZnLxHsjyA"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_8RPnCalhEeC6PYeyk6yc0A" name="incr"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_8RPnCqlhEeC6PYeyk6yc0A" name="decr" value="1"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_8RPnC6lhEeC6PYeyk6yc0A" name="MARTE_Library_MARTE_PrimitivesTypes_Real" instanceClassName="java.lang.String">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8RPnDKlhEeC6PYeyk6yc0A" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_beo90AnpEdy9WM11hWri2g"/>
+                </eAnnotations>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_8RPnDalhEeC6PYeyk6yc0A" name="MARTE_Library_MARTE_PrimitivesTypes_Integer" instanceClassName="int">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8RPnDqlhEeC6PYeyk6yc0A" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_HJ1zcAnfEdy9WM11hWri2g"/>
+                </eAnnotations>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EClass" xmi:id="_8RPnD6lhEeC6PYeyk6yc0A" name="DataTypeAllocate">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8RPnEKlhEeC6PYeyk6yc0A" source="http://www.eclipse.org/uml2/2.0.0/UML"/>
+                <eSuperTypes xmi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/MARTE/1#//Alloc/Allocate"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_8RPnEalhEeC6PYeyk6yc0A" name="swDataType" ordered="false" lowerBound="1">
+                  <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+                </eStructuralFeatures>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_8RPnE6lhEeC6PYeyk6yc0A" name="hwDataType" ordered="false" lowerBound="1">
+                  <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+                </eStructuralFeatures>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_8SdukKlhEeC6PYeyk6yc0A" name="executionCycles" ordered="false" lowerBound="1" eType="_8RfeMqlhEeC6PYeyk6yc0A"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EClass" xmi:id="_8RPnGKlhEeC6PYeyk6yc0A" name="ComputeComplexity">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8RPnGalhEeC6PYeyk6yc0A" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_WEDSwKlhEeC6PYeyk6yc0A"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_8RPnGqlhEeC6PYeyk6yc0A" name="swDataType" ordered="false" lowerBound="1">
+                  <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+                </eStructuralFeatures>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_8RPnHKlhEeC6PYeyk6yc0A" name="opCount" ordered="false" lowerBound="1">
+                  <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+                </eStructuralFeatures>
+                <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_8RPnHqlhEeC6PYeyk6yc0A" name="base_Class" ordered="false" lowerBound="1">
+                  <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+                </eStructuralFeatures>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EClass" xmi:id="_8RPnIKlhEeC6PYeyk6yc0A" name="OperationCount">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8RPnIalhEeC6PYeyk6yc0A" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_veeesKlhEeC6PYeyk6yc0A"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_8RPnIqlhEeC6PYeyk6yc0A" name="operation" ordered="false" lowerBound="1">
+                  <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+                </eStructuralFeatures>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_8RPnJKlhEeC6PYeyk6yc0A" name="count" ordered="false" lowerBound="1">
+                  <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
+                </eStructuralFeatures>
+                <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_8RPnJqlhEeC6PYeyk6yc0A" name="base_Class" ordered="false" lowerBound="1">
+                  <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+                </eStructuralFeatures>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_8RfeMqlhEeC6PYeyk6yc0A" name="NFP_Integer" instanceClassName="java.lang.String">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8RfeM6lhEeC6PYeyk6yc0A" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_0KWSgBFQEdyUJeMeN__D-A"/>
+                </eAnnotations>
+              </eClassifiers>
+            </contents>
+            <contents xmi:type="ecore:EPackage" xmi:id="_TUueEMe6Ed-7etIj5eTw0Q" name="HardwareBaseline" nsURI="http://CHESS/Predictability/DeploymentConfiguration/HardwareBaseline" nsPrefix="HardwareBaseline">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_aDrpYMe6Ed-7etIj5eTw0Q" source="PapyrusVersion">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_aDrpYce6Ed-7etIj5eTw0Q" key="Version" value="0.1.8"/>
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_aDrpYse6Ed-7etIj5eTw0Q" key="Comment" value=""/>
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_aDrpY8e6Ed-7etIj5eTw0Q" key="Copyright" value=""/>
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_aDrpZMe6Ed-7etIj5eTw0Q" key="Date" value="2010-09-24"/>
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_aDrpZce6Ed-7etIj5eTw0Q" key="Author" value=""/>
+              </eAnnotations>
+              <eClassifiers xmi:type="ecore:EClass" xmi:id="_TUueEce6Ed-7etIj5eTw0Q" name="CH_HwProcessor">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TUueEse6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_7_W-sMCpEd-RT45s8cwWMg"/>
+                <eSuperTypes xmi:type="ecore:EClass" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_1fQ1mpi4Ed-m0Oaexd_lJA"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_TUueFce6Ed-7etIj5eTw0Q" name="operation" ordered="false" lowerBound="1" eType="_TU4Qlse6Ed-7etIj5eTw0Q"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_Zmn58Me6Ed-7etIj5eTw0Q" name="dataType" ordered="false" lowerBound="1" eType="_Zmn58se6Ed-7etIj5eTw0Q"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_ZpAfkMe6Ed-7etIj5eTw0Q" name="executionCycles" ordered="false" lowerBound="1" eType="_ZpAfkse6Ed-7etIj5eTw0Q"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_TUuer8e6Ed-7etIj5eTw0Q" name="MARTE_Library_MARTE_DataTypes_VSL_Expression" instanceClassName="MARTE_Library_MARTE_DataTypes_VSL_Expression">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TUuesMe6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_bManMBEBEdyx6M3BlUjlCQ"/>
+                </eAnnotations>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_TUuesce6Ed-7etIj5eTw0Q" name="MARTE_Library_BasicNFP_Types_SourceKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TUuesse6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_oMZzEBD-EdyybZnLxHsjyA"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TUues8e6Ed-7etIj5eTw0Q" name="est"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TUuetMe6Ed-7etIj5eTw0Q" name="meas" value="1"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TUuetce6Ed-7etIj5eTw0Q" name="calc" value="2"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TUuetse6Ed-7etIj5eTw0Q" name="req" value="3"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_TUuet8e6Ed-7etIj5eTw0Q" name="MARTE_Library_BasicNFP_Types_StatisticalQualifierKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TUueuMe6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_0N52EBD-EdyybZnLxHsjyA"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TUueuce6Ed-7etIj5eTw0Q" name="max"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TUueuse6Ed-7etIj5eTw0Q" name="min" value="1"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TUueu8e6Ed-7etIj5eTw0Q" name="mean" value="2"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TUuevMe6Ed-7etIj5eTw0Q" name="range" value="3"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TUuevce6Ed-7etIj5eTw0Q" name="percent" value="4"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TUuevse6Ed-7etIj5eTw0Q" name="distrib" value="5"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TUuev8e6Ed-7etIj5eTw0Q" name="determ" value="6"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TUuewMe6Ed-7etIj5eTw0Q" name="other" value="7"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TUuewce6Ed-7etIj5eTw0Q" name="variance" value="8"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_TUuewse6Ed-7etIj5eTw0Q" name="MARTE_Library_BasicNFP_Types_DirectionKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TUuew8e6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_vvfxEBD-EdyybZnLxHsjyA"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TUuexMe6Ed-7etIj5eTw0Q" name="incr"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TUuexce6Ed-7etIj5eTw0Q" name="decr" value="1"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_TUuexse6Ed-7etIj5eTw0Q" name="MARTE_Library_MARTE_PrimitivesTypes_Real" instanceClassName="MARTE_Library_MARTE_PrimitivesTypes_Real">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TUuex8e6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_beo90AnpEdy9WM11hWri2g"/>
+                </eAnnotations>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_TUueyMe6Ed-7etIj5eTw0Q" name="MARTE_Library_MARTE_PrimitivesTypes_Integer" instanceClassName="MARTE_Library_MARTE_PrimitivesTypes_Integer">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TUueyce6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_HJ1zcAnfEdy9WM11hWri2g"/>
+                </eAnnotations>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_TUueyse6Ed-7etIj5eTw0Q" name="MARTE_Library_MARTE_PrimitivesTypes_Boolean" instanceClassName="MARTE_Library_MARTE_PrimitivesTypes_Boolean">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TUuey8e6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_Ddte8AnqEdy9WM11hWri2g"/>
+                </eAnnotations>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_TU4PEse6Ed-7etIj5eTw0Q" name="MARTE_Library_GRM_BasicTypes_SchedPolicyKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TU4PE8e6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_4GfMYBFaEdyUJeMeN__D-A"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TU4PFMe6Ed-7etIj5eTw0Q" name="EarliestDeadlineFirst"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TU4PFce6Ed-7etIj5eTw0Q" name="FIFO" value="1"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TU4PFse6Ed-7etIj5eTw0Q" name="FixedPriority" value="2"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TU4PF8e6Ed-7etIj5eTw0Q" name="LeastLaxityFirst" value="3"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TU4PGMe6Ed-7etIj5eTw0Q" name="RoundRobin" value="4"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TU4PGce6Ed-7etIj5eTw0Q" name="TimeTableDriven" value="5"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TU4PGse6Ed-7etIj5eTw0Q" name="Undef" value="6"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TU4PG8e6Ed-7etIj5eTw0Q" name="Other" value="7"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_TU4PHMe6Ed-7etIj5eTw0Q" name="MARTE_Library_MARTE_PrimitivesTypes_String" instanceClassName="MARTE_Library_MARTE_PrimitivesTypes_String">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TU4PHce6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_qZ3GUAnxEdy9WM11hWri2g"/>
+                </eAnnotations>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_TU4PKce6Ed-7etIj5eTw0Q" name="MARTE_Library_GRM_BasicTypes_ProtectProtocolKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TU4PKse6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_HkE7wBFbEdyUJeMeN__D-A"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TU4PK8e6Ed-7etIj5eTw0Q" name="FIFO"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TU4PLMe6Ed-7etIj5eTw0Q" name="NoPreemption" value="1"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TU4PLce6Ed-7etIj5eTw0Q" name="PriorityCeiling" value="2"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TU4PLse6Ed-7etIj5eTw0Q" name="PriorityInheritance" value="3"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TU4PL8e6Ed-7etIj5eTw0Q" name="StackBased" value="4"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TU4PMMe6Ed-7etIj5eTw0Q" name="Undef" value="5"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TU4PMce6Ed-7etIj5eTw0Q" name="Other" value="6"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_TU4PWMe6Ed-7etIj5eTw0Q" name="MARTE_Library_MeasurementUnits_TimeUnitKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TU4PWce6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_Iaa3gA4yEdysTsAUPnp57Q"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TU4PWse6Ed-7etIj5eTw0Q" name="s"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TU4PW8e6Ed-7etIj5eTw0Q" name="tick" value="1"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TU4PXMe6Ed-7etIj5eTw0Q" name="ms" value="2"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TU4PXce6Ed-7etIj5eTw0Q" name="us" value="3"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TU4PXse6Ed-7etIj5eTw0Q" name="min" value="4"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TU4PX8e6Ed-7etIj5eTw0Q" name="hrs" value="5"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TU4PYMe6Ed-7etIj5eTw0Q" name="day" value="6"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_TU4Pece6Ed-7etIj5eTw0Q" name="MARTE_Library_GRM_BasicTypes_PeriodicServerKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TU4Pese6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_UP5HEBFbEdyUJeMeN__D-A"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TU4Pe8e6Ed-7etIj5eTw0Q" name="Sporadic"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TU4PfMe6Ed-7etIj5eTw0Q" name="Deferrable" value="1"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TU4Pfce6Ed-7etIj5eTw0Q" name="Undef" value="2"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TU4Pfse6Ed-7etIj5eTw0Q" name="Other" value="3"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_TU4PtMe6Ed-7etIj5eTw0Q" name="MARTE_Library_MeasurementUnits_PowerUnitKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TU4Ptce6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_ijhHUA4yEdysTsAUPnp57Q"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TU4Ptse6Ed-7etIj5eTw0Q" name="W"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TU4Pt8e6Ed-7etIj5eTw0Q" name="mW" value="1"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TU4PuMe6Ed-7etIj5eTw0Q" name="KW" value="2"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_TU4P3se6Ed-7etIj5eTw0Q" name="MARTE_Library_MARTE_DataTypes_TransmModeKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TU4P38e6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_wBn7gBEBEdyx6M3BlUjlCQ"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TU4P4Me6Ed-7etIj5eTw0Q" name="simplex"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TU4P4ce6Ed-7etIj5eTw0Q" name="halfDuplex" value="1"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TU4P4se6Ed-7etIj5eTw0Q" name="fullDuplex" value="2"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_TU4P6se6Ed-7etIj5eTw0Q" name="MARTE_Library_MeasurementUnits_DataTxRateUnitKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TU4P68e6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_DyNg0A4zEdysTsAUPnp57Q"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TU4P7Me6Ed-7etIj5eTw0Q" name="b_per_s"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TU4P7ce6Ed-7etIj5eTw0Q" name="Kb_per_s" value="1"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TU4P7se6Ed-7etIj5eTw0Q" name="Mb_per_s" value="2"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_TU4P-8e6Ed-7etIj5eTw0Q" name="MARTE_Library_MeasurementUnits_FrequencyUnitKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TU4P_Me6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_qFaygA4yEdysTsAUPnp57Q"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TU4P_ce6Ed-7etIj5eTw0Q" name="Hz"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TU4P_se6Ed-7etIj5eTw0Q" name="KHz" value="1"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TU4P_8e6Ed-7etIj5eTw0Q" name="MHz" value="2"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TU4QAMe6Ed-7etIj5eTw0Q" name="GHz" value="3"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TU4QAce6Ed-7etIj5eTw0Q" name="rpm" value="4"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_TU4QDce6Ed-7etIj5eTw0Q" name="MARTE_Library_MeasurementUnits_DataSizeUnitKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TU4QDse6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_2pVmEA4yEdysTsAUPnp57Q"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TU4QD8e6Ed-7etIj5eTw0Q" name="bit"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TU4QEMe6Ed-7etIj5eTw0Q" name="Byte" value="1"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TU4QEce6Ed-7etIj5eTw0Q" name="KB" value="2"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TU4QEse6Ed-7etIj5eTw0Q" name="MB" value="3"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TU4QE8e6Ed-7etIj5eTw0Q" name="GB" value="4"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_TU4QGce6Ed-7etIj5eTw0Q" name="MARTE_Library_MARTE_PrimitivesTypes_UnlimitedNatural" instanceClassName="MARTE_Library_MARTE_PrimitivesTypes_UnlimitedNatural">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TU4QGse6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_DBKa8AnsEdy9WM11hWri2g"/>
+                </eAnnotations>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_TU4QJMe6Ed-7etIj5eTw0Q" name="MARTE_MARTE_DesignModel_HRM_HwLogical_HwComputing_ISA_Type">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TU4QJce6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_HVDSgBJyEdygQ5HMNSpiZw"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TU4QJse6Ed-7etIj5eTw0Q" name="RISC"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TU4QJ8e6Ed-7etIj5eTw0Q" name="CISC" value="1"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TU4QKMe6Ed-7etIj5eTw0Q" name="VLIW" value="2"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TU4QKce6Ed-7etIj5eTw0Q" name="SIMD" value="3"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TU4QKse6Ed-7etIj5eTw0Q" name="other" value="4"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TU4QK8e6Ed-7etIj5eTw0Q" name="undef" value="5"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_TU4QVce6Ed-7etIj5eTw0Q" name="MARTE_MARTE_DesignModel_HRM_HwLogical_HwStorage_HwMemory_CacheType">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TU4QVse6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_xj2TMBJ1Edy4d8Ako8RhiQ"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TU4QV8e6Ed-7etIj5eTw0Q" name="data"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TU4QWMe6Ed-7etIj5eTw0Q" name="instruction" value="1"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TU4QWce6Ed-7etIj5eTw0Q" name="unified" value="2"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TU4QWse6Ed-7etIj5eTw0Q" name="other" value="3"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TU4QW8e6Ed-7etIj5eTw0Q" name="undef" value="4"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_TU4QZMe6Ed-7etIj5eTw0Q" name="MARTE_MARTE_DesignModel_HRM_HwLogical_HwStorage_HwMemory_Repl_Policy">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TU4QZce6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_jpkJoBJ1Edy4d8Ako8RhiQ"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TU4QZse6Ed-7etIj5eTw0Q" name="LRU"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TU4QZ8e6Ed-7etIj5eTw0Q" name="NFU" value="1"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TU4QaMe6Ed-7etIj5eTw0Q" name="FIFO" value="2"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TU4Qace6Ed-7etIj5eTw0Q" name="random" value="3"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TU4Qase6Ed-7etIj5eTw0Q" name="other" value="4"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TU4Qa8e6Ed-7etIj5eTw0Q" name="undef" value="5"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_TU4QbMe6Ed-7etIj5eTw0Q" name="MARTE_MARTE_DesignModel_HRM_HwLogical_HwStorage_HwMemory_WritePolicy">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TU4Qbce6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_qkeGQBJ1Edy4d8Ako8RhiQ"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TU4Qbse6Ed-7etIj5eTw0Q" name="writeBack"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TU4Qb8e6Ed-7etIj5eTw0Q" name="writeThrough" value="1"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TU4QcMe6Ed-7etIj5eTw0Q" name="other" value="2"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TU4Qcce6Ed-7etIj5eTw0Q" name="undef" value="3"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_TU4Qlse6Ed-7etIj5eTw0Q" name="CHESSML_Predictability_DeploymentConfiguration_HwDataTypes_HwOperation">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TU4Ql8e6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TU4QmMe6Ed-7etIj5eTw0Q" name="add"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TU4Qmce6Ed-7etIj5eTw0Q" name="mul" value="1"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TU4Qmse6Ed-7etIj5eTw0Q" name="div" value="2"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TU4Qm8e6Ed-7etIj5eTw0Q" name="mod" value="3"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TU4QnMe6Ed-7etIj5eTw0Q" name="shift" value="4"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EClass" xmi:id="_TU4Qnce6Ed-7etIj5eTw0Q" name="DataTypeAllocate">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TU4Qnse6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML"/>
+                <eSuperTypes xmi:type="ecore:EClass" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_b7sgXLG3Ed-tmN4hwNCxXQ"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_Z10zkMe6Ed-7etIj5eTw0Q" name="swDataType" ordered="false" lowerBound="1" eType="_Z10zkse6Ed-7etIj5eTw0Q"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_Z4NZMMe6Ed-7etIj5eTw0Q" name="hwDataType" ordered="false" lowerBound="1" eType="_Zmn58se6Ed-7etIj5eTw0Q"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_Z7evoMe6Ed-7etIj5eTw0Q" name="executionCycles" ordered="false" lowerBound="1" eType="_ZpAfkse6Ed-7etIj5eTw0Q"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_TU4QsMe6Ed-7etIj5eTw0Q" name="MARTE_MARTE_Foundations_Alloc_AllocationKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TU4Qsce6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_VxKdYBHbEdyWC5IKDhzksw"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TU4Qsse6Ed-7etIj5eTw0Q" name="structural"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TU4Qs8e6Ed-7etIj5eTw0Q" name="behavioral" value="1"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TU4QtMe6Ed-7etIj5eTw0Q" name="hybrid" value="2"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_TU4Qtce6Ed-7etIj5eTw0Q" name="MARTE_MARTE_Foundations_Alloc_AllocationNature">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TU4Qtse6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_VYSDUBHbEdyWC5IKDhzksw"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TU4Qt8e6Ed-7etIj5eTw0Q" name="spatialDistribution"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TU4QuMe6Ed-7etIj5eTw0Q" name="timeScheduling" value="1"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_TU4Qwce6Ed-7etIj5eTw0Q" name="MARTE_MARTE_Foundations_NFPs_ConstraintKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TU4Qwse6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_ZCtm0A4vEdysTsAUPnp57Q"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TU4Qw8e6Ed-7etIj5eTw0Q" name="required"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TU4QxMe6Ed-7etIj5eTw0Q" name="offered" value="1"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TU4Qxce6Ed-7etIj5eTw0Q" name="contract" value="2"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_Zmn58se6Ed-7etIj5eTw0Q" name="HwDataType" instanceClassName="java.lang.String">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Zmn588e6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_ZpAfkse6Ed-7etIj5eTw0Q" name="NFP_Integer" instanceClassName="java.lang.String">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ZpAfk8e6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_0KWSgBFQEdyUJeMeN__D-A"/>
+                </eAnnotations>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_Zq8ZQMe6Ed-7etIj5eTw0Q" name="Boolean" instanceClassName="java.lang.String">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Zq8ZQce6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_Ddte8AnqEdy9WM11hWri2g"/>
+                </eAnnotations>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_ZslYAce6Ed-7etIj5eTw0Q" name="NFP_Real" instanceClassName="java.lang.String">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ZslYAse6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_Yq-MQBFQEdyUJeMeN__D-A"/>
+                </eAnnotations>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_ZslYBMe6Ed-7etIj5eTw0Q" name="NFP_String" instanceClassName="java.lang.String">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ZslYBce6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_B5VngBFQEdyUJeMeN__D-A"/>
+                </eAnnotations>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_ZslYB8e6Ed-7etIj5eTw0Q" name="NFP_Frequency" instanceClassName="java.lang.String">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ZslYCMe6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_UDZSQBFSEdyUJeMeN__D-A"/>
+                </eAnnotations>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_ZslYCse6Ed-7etIj5eTw0Q" name="NFP_FrequencyInterval" instanceClassName="java.lang.String">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ZslYC8e6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_DaoHAB14EdyUAqqkOL30sg"/>
+                </eAnnotations>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_ZslYDce6Ed-7etIj5eTw0Q" name="NFP_DataSize" instanceClassName="java.lang.String">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ZslYDse6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_5LrMcBFSEdyUJeMeN__D-A"/>
+                </eAnnotations>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_ZslYEMe6Ed-7etIj5eTw0Q" name="NFP_Natural" instanceClassName="java.lang.String">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ZslYEce6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_Asy1gBFIEdyUJeMeN__D-A"/>
+                </eAnnotations>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_Z10zkse6Ed-7etIj5eTw0Q" name="SwDataType" instanceClassName="java.lang.String">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Z10zk8e6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML"/>
+              </eClassifiers>
+            </contents>
+          </eAnnotations>
+          <elementImport xmi:type="uml:ElementImport" xmi:id="_6F2tEKlhEeC6PYeyk6yc0A" alias="Class">
+            <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+          </elementImport>
+          <elementImport xmi:type="uml:ElementImport" xmi:id="_Y4qjsKu3EeCQLtqIc6Ik6Q" alias="ControlFlow">
+            <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#ControlFlow"/>
+          </elementImport>
+          <elementImport xmi:type="uml:ElementImport" xmi:id="_wlZ-cKu6EeCQLtqIc6Ik6Q" alias="DataType">
+            <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#DataType"/>
+          </elementImport>
+          <elementImport xmi:type="uml:ElementImport" xmi:id="_4T7iMCZBEeGlQNX6ViU5DA" alias="Comment">
+            <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Comment"/>
+          </elementImport>
+          <packagedElement xmi:type="uml:Stereotype" xmi:id="_7_W-sMCpEd-RT45s8cwWMg" name="CH_HwProcessor">
+            <generalization xmi:type="uml:Generalization" xmi:id="_a-JyIMCqEd-RT45s8cwWMg">
+              <general xmi:type="uml:Stereotype" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_z0aH8BJyEdygQ5HMNSpiZw"/>
+            </generalization>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_BnQJYMCsEd-RT45s8cwWMg" name="dataType" visibility="public" type="_FeV_YKu_EeCQLtqIc6Ik6Q">
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_HpDTwMCsEd-RT45s8cwWMg"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_HpDTwcCsEd-RT45s8cwWMg" value="*"/>
+              <defaultValue xmi:type="uml:LiteralString" xmi:id="_HpDTwsCsEd-RT45s8cwWMg">
+                <value xsi:nil="true"/>
+              </defaultValue>
+            </ownedAttribute>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_WUlckOthEeCfNbchlqXqMg" name="utilization">
+              <type xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_Yq-MQBFQEdyUJeMeN__D-A"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_ZJWDMOthEeCfNbchlqXqMg"/>
+            </ownedAttribute>
+          </packagedElement>
+          <packagedElement xmi:type="uml:Stereotype" xmi:id="_WEDSwKlhEeC6PYeyk6yc0A" name="ComputeComplexity">
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_cGum4KlhEeC6PYeyk6yc0A" name="swDataType" visibility="public" type="_xo40sKu6EeCQLtqIc6Ik6Q">
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_eBviEKlhEeC6PYeyk6yc0A" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_eB5TEKlhEeC6PYeyk6yc0A" value="1"/>
+              <defaultValue xmi:type="uml:LiteralString" xmi:id="_eCB18KlhEeC6PYeyk6yc0A">
+                <value xsi:nil="true"/>
+              </defaultValue>
+            </ownedAttribute>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_sRT_IKlhEeC6PYeyk6yc0A" name="opCount" visibility="public" type="_veeesKlhEeC6PYeyk6yc0A">
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_uwn6MKlhEeC6PYeyk6yc0A" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_uwySQKlhEeC6PYeyk6yc0A" value="*"/>
+              <defaultValue xmi:type="uml:LiteralString" xmi:id="_uw7cMKlhEeC6PYeyk6yc0A">
+                <value xsi:nil="true"/>
+              </defaultValue>
+            </ownedAttribute>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_6pZfAKlhEeC6PYeyk6yc0A" name="base_Class" association="_6paGEKlhEeC6PYeyk6yc0A">
+              <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+            </ownedAttribute>
+          </packagedElement>
+          <packagedElement xmi:type="uml:Stereotype" xmi:id="_veeesKlhEeC6PYeyk6yc0A" name="OperationCount">
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_z05FUKlhEeC6PYeyk6yc0A" name="operation" visibility="public" type="_o6wVAKu8EeCQLtqIc6Ik6Q">
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_0-KagKlhEeC6PYeyk6yc0A" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_0-UykKlhEeC6PYeyk6yc0A" value="1"/>
+              <defaultValue xmi:type="uml:LiteralString" xmi:id="_0-ejkKlhEeC6PYeyk6yc0A">
+                <value xsi:nil="true"/>
+              </defaultValue>
+            </ownedAttribute>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_1TcG8KlhEeC6PYeyk6yc0A" name="count" visibility="public">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_2y8x4KlhEeC6PYeyk6yc0A" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_2zGi4KlhEeC6PYeyk6yc0A" value="1"/>
+              <defaultValue xmi:type="uml:LiteralString" xmi:id="_2zPFwKlhEeC6PYeyk6yc0A">
+                <value xsi:nil="true"/>
+              </defaultValue>
+            </ownedAttribute>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_7DtccKlhEeC6PYeyk6yc0A" name="base_Class" association="_7DuDgKlhEeC6PYeyk6yc0A">
+              <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+            </ownedAttribute>
+          </packagedElement>
+          <packagedElement xmi:type="uml:Extension" xmi:id="_6paGEKlhEeC6PYeyk6yc0A" name="E_ComputeComplexity_Class0" memberEnd="_6paGEalhEeC6PYeyk6yc0A _6pZfAKlhEeC6PYeyk6yc0A">
+            <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_6paGEalhEeC6PYeyk6yc0A" name="extension_ComputeComplexity" type="_WEDSwKlhEeC6PYeyk6yc0A" aggregation="composite" association="_6paGEKlhEeC6PYeyk6yc0A"/>
+          </packagedElement>
+          <packagedElement xmi:type="uml:Extension" xmi:id="_7DuDgKlhEeC6PYeyk6yc0A" name="E_OperationCount_Class0" memberEnd="_7DuDgalhEeC6PYeyk6yc0A _7DtccKlhEeC6PYeyk6yc0A">
+            <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_7DuDgalhEeC6PYeyk6yc0A" name="extension_OperationCount" type="_veeesKlhEeC6PYeyk6yc0A" aggregation="composite" association="_7DuDgKlhEeC6PYeyk6yc0A"/>
+          </packagedElement>
+          <packagedElement xmi:type="uml:Stereotype" xmi:id="_ZjBvUKu3EeCQLtqIc6Ik6Q" name="CHControlFlow">
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_c-d7cKu3EeCQLtqIc6Ik6Q" name="base_ControlFlow" association="_c-eigKu3EeCQLtqIc6Ik6Q">
+              <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#ControlFlow"/>
+            </ownedAttribute>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_fC21EKu3EeCQLtqIc6Ik6Q" name="rep" visibility="public">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_beo90AnpEdy9WM11hWri2g"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_giuFUKu3EeCQLtqIc6Ik6Q"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gi3PQKu3EeCQLtqIc6Ik6Q" value="1"/>
+              <defaultValue xmi:type="uml:LiteralString" xmi:id="_gjAZMKu3EeCQLtqIc6Ik6Q">
+                <value xsi:nil="true"/>
+              </defaultValue>
+            </ownedAttribute>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_iblrcKu3EeCQLtqIc6Ik6Q" name="prob" visibility="public">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_beo90AnpEdy9WM11hWri2g"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_kMNUgKu3EeCQLtqIc6Ik6Q"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_kMYToKu3EeCQLtqIc6Ik6Q" value="1"/>
+              <defaultValue xmi:type="uml:LiteralString" xmi:id="_kMmWEKu3EeCQLtqIc6Ik6Q">
+                <value xsi:nil="true"/>
+              </defaultValue>
+            </ownedAttribute>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_l0b2kKu3EeCQLtqIc6Ik6Q" name="order" visibility="public">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_beo90AnpEdy9WM11hWri2g"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_nqCtUKu3EeCQLtqIc6Ik6Q"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_nqL3QKu3EeCQLtqIc6Ik6Q" value="1"/>
+              <defaultValue xmi:type="uml:LiteralString" xmi:id="_nqVoQKu3EeCQLtqIc6Ik6Q">
+                <value xsi:nil="true"/>
+              </defaultValue>
+            </ownedAttribute>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_BXSHkKu4EeCQLtqIc6Ik6Q" name="compComplex" visibility="public" type="_WEDSwKlhEeC6PYeyk6yc0A">
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_EJphgKu4EeCQLtqIc6Ik6Q"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_EJzSgKu4EeCQLtqIc6Ik6Q" value="*"/>
+              <defaultValue xmi:type="uml:LiteralString" xmi:id="_EJ71YKu4EeCQLtqIc6Ik6Q">
+                <value xsi:nil="true"/>
+              </defaultValue>
+            </ownedAttribute>
+          </packagedElement>
+          <packagedElement xmi:type="uml:Extension" xmi:id="_c-eigKu3EeCQLtqIc6Ik6Q" name="E_CHControlFlow_ControlFlow0" memberEnd="_c-eigau3EeCQLtqIc6Ik6Q _c-d7cKu3EeCQLtqIc6Ik6Q">
+            <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_c-eigau3EeCQLtqIc6Ik6Q" name="extension_CHControlFlow" type="_ZjBvUKu3EeCQLtqIc6Ik6Q" aggregation="composite" association="_c-eigKu3EeCQLtqIc6Ik6Q"/>
+          </packagedElement>
+          <packagedElement xmi:type="uml:Stereotype" xmi:id="_xo40sKu6EeCQLtqIc6Ik6Q" name="SWDataType" isAbstract="true">
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_1I5-0Ku6EeCQLtqIc6Ik6Q" name="base_DataType" association="_1I5-0au6EeCQLtqIc6Ik6Q">
+              <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#DataType"/>
+            </ownedAttribute>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_SjGPIKu_EeCQLtqIc6Ik6Q" name="bitSize" visibility="public">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_UHezAKu_EeCQLtqIc6Ik6Q" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_UHokAKu_EeCQLtqIc6Ik6Q" value="1"/>
+              <defaultValue xmi:type="uml:LiteralString" xmi:id="_UH0xQKu_EeCQLtqIc6Ik6Q">
+                <value xsi:nil="true"/>
+              </defaultValue>
+            </ownedAttribute>
+          </packagedElement>
+          <packagedElement xmi:type="uml:Extension" xmi:id="_1I5-0au6EeCQLtqIc6Ik6Q" name="E_SWDataType_DataType0" memberEnd="_1I5-0qu6EeCQLtqIc6Ik6Q _1I5-0Ku6EeCQLtqIc6Ik6Q">
+            <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_1I5-0qu6EeCQLtqIc6Ik6Q" name="extension_SWDataType" type="_xo40sKu6EeCQLtqIc6Ik6Q" aggregation="composite" association="_1I5-0au6EeCQLtqIc6Ik6Q"/>
+          </packagedElement>
+          <packagedElement xmi:type="uml:Enumeration" xmi:id="_o6wVAKu8EeCQLtqIc6Ik6Q" name="BasicOperation">
+            <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_qaV4cKu8EeCQLtqIc6Ik6Q" name="add"/>
+            <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_qn_58Ku8EeCQLtqIc6Ik6Q" name="mul"/>
+            <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_q6FIcKu8EeCQLtqIc6Ik6Q" name="div"/>
+            <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_rLF_8Ku8EeCQLtqIc6Ik6Q" name="mod"/>
+            <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_rsqb8Ku8EeCQLtqIc6Ik6Q" name="shift"/>
+          </packagedElement>
+          <packagedElement xmi:type="uml:Stereotype" xmi:id="_FeV_YKu_EeCQLtqIc6Ik6Q" name="HWDataType">
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_HBFkgKu_EeCQLtqIc6Ik6Q" name="base_DataType" association="_HBFkgau_EeCQLtqIc6Ik6Q">
+              <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#DataType"/>
+            </ownedAttribute>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_H1e14Ku_EeCQLtqIc6Ik6Q" name="bitLength" visibility="public">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Jil38Ku_EeCQLtqIc6Ik6Q" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_JivB4Ku_EeCQLtqIc6Ik6Q" value="1"/>
+              <defaultValue xmi:type="uml:LiteralString" xmi:id="_Ji4L0Ku_EeCQLtqIc6Ik6Q">
+                <value xsi:nil="true"/>
+              </defaultValue>
+            </ownedAttribute>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_JAPZwNhqEeCHDo4echej_g" name="signed">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+            </ownedAttribute>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_QsTGgNhqEeCHDo4echej_g" name="fixedPoint">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+            </ownedAttribute>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_dQ2MMNhqEeCHDo4echej_g" name="float">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+            </ownedAttribute>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_3VgA4NhqEeCHDo4echej_g" name="execution" type="_p2_CwNhpEeCHDo4echej_g">
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_otTFwNiIEeCzEZgzjRUzHw"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_otc2wNiIEeCzEZgzjRUzHw" value="*"/>
+            </ownedAttribute>
+          </packagedElement>
+          <packagedElement xmi:type="uml:Extension" xmi:id="_HBFkgau_EeCQLtqIc6Ik6Q" name="E_HWDataType_DataType0" memberEnd="_HBFkgqu_EeCQLtqIc6Ik6Q _HBFkgKu_EeCQLtqIc6Ik6Q">
+            <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_HBFkgqu_EeCQLtqIc6Ik6Q" name="extension_HWDataType" type="_FeV_YKu_EeCQLtqIc6Ik6Q" aggregation="composite" association="_HBFkgau_EeCQLtqIc6Ik6Q"/>
+          </packagedElement>
+          <packagedElement xmi:type="uml:Stereotype" xmi:id="_X8RTQKu_EeCQLtqIc6Ik6Q" name="FloatSWDataType">
+            <generalization xmi:type="uml:Generalization" xmi:id="_3eaEUKu_EeCQLtqIc6Ik6Q" general="_xo40sKu6EeCQLtqIc6Ik6Q"/>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_aOOHwKu_EeCQLtqIc6Ik6Q" name="signed" visibility="public">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_bbyHEKu_EeCQLtqIc6Ik6Q" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_bb9GMKu_EeCQLtqIc6Ik6Q" value="1"/>
+              <defaultValue xmi:type="uml:LiteralString" xmi:id="_bcIsYKu_EeCQLtqIc6Ik6Q">
+                <value xsi:nil="true"/>
+              </defaultValue>
+            </ownedAttribute>
+          </packagedElement>
+          <packagedElement xmi:type="uml:Stereotype" xmi:id="_ckro0Ku_EeCQLtqIc6Ik6Q" name="FixedSWDataType">
+            <generalization xmi:type="uml:Generalization" xmi:id="_4Qsc4Ku_EeCQLtqIc6Ik6Q" general="_xo40sKu6EeCQLtqIc6Ik6Q"/>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_f7Fj8Ku_EeCQLtqIc6Ik6Q" name="signed" visibility="public">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hFQRAKu_EeCQLtqIc6Ik6Q" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_hFbQIKu_EeCQLtqIc6Ik6Q" value="1"/>
+              <defaultValue xmi:type="uml:LiteralString" xmi:id="_hFlBIKu_EeCQLtqIc6Ik6Q">
+                <value xsi:nil="true"/>
+              </defaultValue>
+            </ownedAttribute>
+          </packagedElement>
+          <packagedElement xmi:type="uml:Stereotype" xmi:id="_j4Yf8Ku_EeCQLtqIc6Ik6Q" name="IntegerSWDataType">
+            <generalization xmi:type="uml:Generalization" xmi:id="_4wpvUKu_EeCQLtqIc6Ik6Q" general="_xo40sKu6EeCQLtqIc6Ik6Q"/>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_oCcFkKu_EeCQLtqIc6Ik6Q" name="signed" visibility="public">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_pda10Ku_EeCQLtqIc6Ik6Q" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_pdj_wKu_EeCQLtqIc6Ik6Q" value="1"/>
+              <defaultValue xmi:type="uml:LiteralString" xmi:id="_pdu-4Ku_EeCQLtqIc6Ik6Q">
+                <value xsi:nil="true"/>
+              </defaultValue>
+            </ownedAttribute>
+          </packagedElement>
+          <packagedElement xmi:type="uml:Stereotype" xmi:id="_r0I1kKu_EeCQLtqIc6Ik6Q" name="CharSWDataType">
+            <generalization xmi:type="uml:Generalization" xmi:id="_5GFz0Ku_EeCQLtqIc6Ik6Q" general="_xo40sKu6EeCQLtqIc6Ik6Q"/>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_tFxckKu_EeCQLtqIc6Ik6Q" name="signed">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+            </ownedAttribute>
+          </packagedElement>
+          <packagedElement xmi:type="uml:Stereotype" xmi:id="_yW8bQKu_EeCQLtqIc6Ik6Q" name="BooleanSWDataType">
+            <generalization xmi:type="uml:Generalization" xmi:id="_5aFG0Ku_EeCQLtqIc6Ik6Q" general="_xo40sKu6EeCQLtqIc6Ik6Q"/>
+          </packagedElement>
+          <packagedElement xmi:type="uml:Enumeration" xmi:id="_ImkfIKvAEeCQLtqIc6Ik6Q" name="BasicDataType">
+            <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_JCzIIKvAEeCQLtqIc6Ik6Q" name="Signed"/>
+            <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_JQm6oKvAEeCQLtqIc6Ik6Q" name="Integer"/>
+            <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_Jkv-oKvAEeCQLtqIc6Ik6Q" name="Fixed_Point"/>
+            <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_J2hEEKvAEeCQLtqIc6Ik6Q" name="Float"/>
+          </packagedElement>
+          <packagedElement xmi:type="uml:Stereotype" xmi:id="_p2_CwNhpEeCHDo4echej_g" name="DataTypeExecution">
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_wvCfsNhpEeCHDo4echej_g" name="base_Class" association="_wvCfsdhpEeCHDo4echej_g">
+              <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+            </ownedAttribute>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_xvtSgNhpEeCHDo4echej_g" name="operation" type="_o6wVAKu8EeCQLtqIc6Ik6Q"/>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_6W6_8NhpEeCHDo4echej_g" name="executionCycles">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+            </ownedAttribute>
+          </packagedElement>
+          <packagedElement xmi:type="uml:Extension" xmi:id="_wvCfsdhpEeCHDo4echej_g" name="E_DataTypeExecution_Class0" memberEnd="_wvCfsthpEeCHDo4echej_g _wvCfsNhpEeCHDo4echej_g">
+            <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_wvCfsthpEeCHDo4echej_g" name="extension_DataTypeExecution" type="_p2_CwNhpEeCHDo4echej_g" aggregation="composite" association="_wvCfsdhpEeCHDo4echej_g"/>
+          </packagedElement>
+          <packagedElement xmi:type="uml:Stereotype" xmi:id="_P7m7INq0EeCqi515KFb0xQ" name="CH_HwBus">
+            <generalization xmi:type="uml:Generalization" xmi:id="_PBQWQNq1EeCqi515KFb0xQ">
+              <general xmi:type="uml:Stereotype" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_7m3jYBKNEdy1B7_71Kp_8Q"/>
+            </generalization>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_wJcfINq1EeCqi515KFb0xQ" name="utilization">
+              <type xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_Yq-MQBFQEdyUJeMeN__D-A"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_1cwL0Nq1EeCqi515KFb0xQ"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_1c580Nq1EeCqi515KFb0xQ" value="1"/>
+            </ownedAttribute>
+          </packagedElement>
+          <packagedElement xmi:type="uml:Stereotype" xmi:id="_YZ784Nq1EeCqi515KFb0xQ" name="CH_HwComputingResource">
+            <generalization xmi:type="uml:Generalization" xmi:id="_cfAU0Nq1EeCqi515KFb0xQ">
+              <general xmi:type="uml:Stereotype" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_NrpywBJzEdygQ5HMNSpiZw"/>
+            </generalization>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_3X_JcNq1EeCqi515KFb0xQ" name="utilization">
+              <type xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_Yq-MQBFQEdyUJeMeN__D-A"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3X_Jctq1EeCqi515KFb0xQ"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3X_Jcdq1EeCqi515KFb0xQ" value="1"/>
+            </ownedAttribute>
+          </packagedElement>
+          <packagedElement xmi:type="uml:Stereotype" xmi:id="_xPRzsCZBEeGlQNX6ViU5DA" name="DataTypeAssign">
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_5I7QgCZBEeGlQNX6ViU5DA" name="base_Comment" association="_5I73kCZBEeGlQNX6ViU5DA">
+              <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Comment"/>
+            </ownedAttribute>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_CDuoUCZCEeGlQNX6ViU5DA" name="from" type="_xo40sKu6EeCQLtqIc6Ik6Q">
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_IWtpUCZCEeGlQNX6ViU5DA"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_IW4ocCZCEeGlQNX6ViU5DA" value="*"/>
+            </ownedAttribute>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_Jjio0CZCEeGlQNX6ViU5DA" name="to" type="_FeV_YKu_EeCQLtqIc6Ik6Q">
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_MybmsCZCEeGlQNX6ViU5DA"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_MyjigCZCEeGlQNX6ViU5DA" value="*"/>
+            </ownedAttribute>
+          </packagedElement>
+          <packagedElement xmi:type="uml:Extension" xmi:id="_5I73kCZBEeGlQNX6ViU5DA" name="E_DataTypeAssign_Comment0" memberEnd="_5I73kSZBEeGlQNX6ViU5DA _5I7QgCZBEeGlQNX6ViU5DA">
+            <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_5I73kSZBEeGlQNX6ViU5DA" name="extension_DataTypeAssign" type="_xPRzsCZBEeGlQNX6ViU5DA" aggregation="composite" association="_5I73kCZBEeGlQNX6ViU5DA"/>
+          </packagedElement>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Profile" xmi:id="_1xBQUMCtEd-RT45s8cwWMg" name="DeploymentConfAnalysis" URI="http://CHESS/Predictability/DeploymentConfiguration/DeploymentConfAnalysis">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_JttEgMGbEd--atLXXafOiQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+            <contents xmi:type="ecore:EPackage" xmi:id="_N1EGQVrMEeCvGuvlF-wh1g" name="DeploymentConfAnalysis" nsURI="http://CHESS/Predictability/DeploymentConfiguration/DeploymentConfAnalysis" nsPrefix="DeploymentConfAnalysis">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_N3cr4FrMEeCvGuvlF-wh1g" source="PapyrusVersion">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_N3cr4VrMEeCvGuvlF-wh1g" key="Version" value="0.0.1"/>
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_N3cr4lrMEeCvGuvlF-wh1g" key="Comment" value="DeploymentConfAnalysis, changed Allocate with Assign"/>
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_N3cr41rMEeCvGuvlF-wh1g" key="Copyright" value=""/>
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_N3cr5FrMEeCvGuvlF-wh1g" key="Date" value="2011-03-30"/>
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_N3cr5VrMEeCvGuvlF-wh1g" key="Author" value=""/>
+              </eAnnotations>
+              <eClassifiers xmi:type="ecore:EClass" xmi:id="_N1EGQlrMEeCvGuvlF-wh1g" name="MappingConfigurationAnalysis">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_N1EGQ1rMEeCvGuvlF-wh1g" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_6qReQMCtEd-RT45s8cwWMg"/>
+                <eSuperTypes xmi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/MARTE/1#//GQAM/GaAnalysisContext"/>
+                <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_N1EGRFrMEeCvGuvlF-wh1g" name="prohibitedAllocations" ordered="false" upperBound="-1">
+                  <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/MARTE/1#//Alloc/Assign"/>
+                </eStructuralFeatures>
+                <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_N1EGRlrMEeCvGuvlF-wh1g" name="fixedAllocations" ordered="false" upperBound="-1">
+                  <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/MARTE/1#//Alloc/Assign"/>
+                </eStructuralFeatures>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_N1EGSFrMEeCvGuvlF-wh1g" name="goal" ordered="false" lowerBound="1" eType="_N1EGT1rMEeCvGuvlF-wh1g"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_N1EGSlrMEeCvGuvlF-wh1g" name="bottomUpAnalysis" ordered="false" lowerBound="1">
+                  <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+                </eStructuralFeatures>
+                <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_N1EGTFrMEeCvGuvlF-wh1g" name="resultingMapping" ordered="false" lowerBound="1" upperBound="-1">
+                  <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/MARTE/1#//Alloc/Assign"/>
+                </eStructuralFeatures>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_N1EGT1rMEeCvGuvlF-wh1g" name="CHESS_Predictability_DeploymentConfiguration_HwDataTypes_OptimizationGoal">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_N1EGUFrMEeCvGuvlF-wh1g" source="http://www.eclipse.org/uml2/2.0.0/UML"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_N1EGUVrMEeCvGuvlF-wh1g" name="average"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_N1EGUlrMEeCvGuvlF-wh1g" name="maxHighPerfUsage" value="1"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EClass" xmi:id="_N1EGU1rMEeCvGuvlF-wh1g" name="SchedulingBusConfigurationAnalysis">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_N1EGVFrMEeCvGuvlF-wh1g" source="http://www.eclipse.org/uml2/2.0.0/UML" references="__9760MCuEd-RT45s8cwWMg"/>
+                <eSuperTypes xmi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/MARTE/1#//GQAM/GaAnalysisContext"/>
+                <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_N1EGVVrMEeCvGuvlF-wh1g" name="mapping" ordered="false" upperBound="-1">
+                  <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/MARTE/1#//Alloc/Assign"/>
+                </eStructuralFeatures>
+                <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_N1EGV1rMEeCvGuvlF-wh1g" name="resultingPriorities" ordered="false" lowerBound="1" upperBound="-1" eType="_COpr0VbyEeCnrfzYY69gqg"/>
+                <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_N1EGWVrMEeCvGuvlF-wh1g" name="resultingBusConfig" ordered="false" lowerBound="1" eType="_wfJVIVrLEeCvGuvlF-wh1g"/>
+                <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_N1EGW1rMEeCvGuvlF-wh1g" name="resultingCommLatencies" ordered="false" upperBound="-1">
+                  <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/MARTE/1#//SAM/SaStep"/>
+                </eStructuralFeatures>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_N1NQkFrMEeCvGuvlF-wh1g" name="MARTE_Library_MARTE_DataTypes_VSL_Expression" instanceClassName="java.lang.String">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_N1NQkVrMEeCvGuvlF-wh1g" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_bManMBEBEdyx6M3BlUjlCQ"/>
+                </eAnnotations>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_N1NQklrMEeCvGuvlF-wh1g" name="MARTE_Library_BasicNFP_Types_SourceKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_N1NQk1rMEeCvGuvlF-wh1g" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_oMZzEBD-EdyybZnLxHsjyA"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_N1NQlFrMEeCvGuvlF-wh1g" name="est"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_N1NQlVrMEeCvGuvlF-wh1g" name="meas" value="1"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_N1NQllrMEeCvGuvlF-wh1g" name="calc" value="2"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_N1NQl1rMEeCvGuvlF-wh1g" name="req" value="3"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_N1NQmFrMEeCvGuvlF-wh1g" name="MARTE_Library_BasicNFP_Types_StatisticalQualifierKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_N1NQmVrMEeCvGuvlF-wh1g" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_0N52EBD-EdyybZnLxHsjyA"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_N1NQmlrMEeCvGuvlF-wh1g" name="max"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_N1NQm1rMEeCvGuvlF-wh1g" name="min" value="1"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_N1NQnFrMEeCvGuvlF-wh1g" name="mean" value="2"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_N1NQnVrMEeCvGuvlF-wh1g" name="range" value="3"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_N1NQnlrMEeCvGuvlF-wh1g" name="percent" value="4"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_N1NQn1rMEeCvGuvlF-wh1g" name="distrib" value="5"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_N1NQoFrMEeCvGuvlF-wh1g" name="determ" value="6"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_N1NQoVrMEeCvGuvlF-wh1g" name="other" value="7"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_N1NQolrMEeCvGuvlF-wh1g" name="variance" value="8"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_N1NQo1rMEeCvGuvlF-wh1g" name="MARTE_Library_BasicNFP_Types_DirectionKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_N1NQpFrMEeCvGuvlF-wh1g" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_vvfxEBD-EdyybZnLxHsjyA"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_N1NQpVrMEeCvGuvlF-wh1g" name="incr"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_N1NQplrMEeCvGuvlF-wh1g" name="decr" value="1"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_N1NQp1rMEeCvGuvlF-wh1g" name="MARTE_Library_MARTE_PrimitivesTypes_Real" instanceClassName="java.lang.String">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_N1NQqFrMEeCvGuvlF-wh1g" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_beo90AnpEdy9WM11hWri2g"/>
+                </eAnnotations>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_N1NQqVrMEeCvGuvlF-wh1g" name="MARTE_Library_MARTE_PrimitivesTypes_Integer" instanceClassName="int">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_N1NQqlrMEeCvGuvlF-wh1g" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_HJ1zcAnfEdy9WM11hWri2g"/>
+                </eAnnotations>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_N1NQq1rMEeCvGuvlF-wh1g" name="MARTE_Library_MeasurementUnits_TimeUnitKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_N1NQrFrMEeCvGuvlF-wh1g" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_Iaa3gA4yEdysTsAUPnp57Q"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_N1NQrVrMEeCvGuvlF-wh1g" name="s"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_N1NQrlrMEeCvGuvlF-wh1g" name="tick" value="1"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_N1NQr1rMEeCvGuvlF-wh1g" name="ms" value="2"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_N1NQsFrMEeCvGuvlF-wh1g" name="us" value="3"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_N1NQsVrMEeCvGuvlF-wh1g" name="min" value="4"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_N1NQslrMEeCvGuvlF-wh1g" name="hrs" value="5"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_N1NQs1rMEeCvGuvlF-wh1g" name="day" value="6"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_N1NQtFrMEeCvGuvlF-wh1g" name="MARTE_Library_MARTE_PrimitivesTypes_String" instanceClassName="java.lang.String">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_N1NQtVrMEeCvGuvlF-wh1g" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_qZ3GUAnxEdy9WM11hWri2g"/>
+                </eAnnotations>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_N1NQwlrMEeCvGuvlF-wh1g" name="MARTE_Library_MeasurementUnits_DataSizeUnitKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_N1NQw1rMEeCvGuvlF-wh1g" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_2pVmEA4yEdysTsAUPnp57Q"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_N1NQxFrMEeCvGuvlF-wh1g" name="bit"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_N1NQxVrMEeCvGuvlF-wh1g" name="Byte" value="1"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_N1NQxlrMEeCvGuvlF-wh1g" name="KB" value="2"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_N1NQx1rMEeCvGuvlF-wh1g" name="MB" value="3"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_N1NQyFrMEeCvGuvlF-wh1g" name="GB" value="4"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_N1NRGVrMEeCvGuvlF-wh1g" name="MARTE_Library_MeasurementUnits_FrequencyUnitKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_N1NRGlrMEeCvGuvlF-wh1g" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_qFaygA4yEdysTsAUPnp57Q"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_N1NRG1rMEeCvGuvlF-wh1g" name="Hz"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_N1NRHFrMEeCvGuvlF-wh1g" name="KHz" value="1"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_N1NRHVrMEeCvGuvlF-wh1g" name="MHz" value="2"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_N1NRHlrMEeCvGuvlF-wh1g" name="GHz" value="3"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_N1NRH1rMEeCvGuvlF-wh1g" name="rpm" value="4"/>
+              </eClassifiers>
+            </contents>
+            <contents xmi:type="ecore:EPackage" xmi:id="_TUjvETqyEeCUI4z76XHrLw" name="DeploymentConfAnalysis" nsURI="http://CHESS.Predictability.DeploymentConfiguration/schemas/DeploymentConfAnalysis/_TUjvEDqyEeCUI4z76XHrLw/9" nsPrefix="DeploymentConfAnalysis">
+              <eClassifiers xmi:type="ecore:EClass" xmi:id="_TUjvEjqyEeCUI4z76XHrLw" name="MappingConfigurationAnalysis">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TUjvEzqyEeCUI4z76XHrLw" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_6qReQMCtEd-RT45s8cwWMg"/>
+                <eSuperTypes xmi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/MARTE/1#//GQAM/GaAnalysisContext"/>
+                <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_TUjvFDqyEeCUI4z76XHrLw" name="prohibitedAllocations" ordered="false" upperBound="-1">
+                  <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/MARTE/1#//Alloc/Allocate"/>
+                </eStructuralFeatures>
+                <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_TUjvFjqyEeCUI4z76XHrLw" name="fixedAllocations" ordered="false" upperBound="-1">
+                  <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/MARTE/1#//Alloc/Allocate"/>
+                </eStructuralFeatures>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_TUjvGDqyEeCUI4z76XHrLw" name="goal" ordered="false" lowerBound="1" eType="_TUjvHzqyEeCUI4z76XHrLw"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_TUjvGjqyEeCUI4z76XHrLw" name="bottomUpAnalysis" ordered="false" lowerBound="1">
+                  <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+                </eStructuralFeatures>
+                <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_TUjvHDqyEeCUI4z76XHrLw" name="resultingMapping" ordered="false" lowerBound="1" upperBound="-1">
+                  <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/MARTE/1#//Alloc/Allocate"/>
+                </eStructuralFeatures>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_TUjvHzqyEeCUI4z76XHrLw" name="CHESS_Predictability_DeploymentConfiguration_HwDataTypes_OptimizationGoal">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TUjvIDqyEeCUI4z76XHrLw" source="http://www.eclipse.org/uml2/2.0.0/UML"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TUjvITqyEeCUI4z76XHrLw" name="average"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TUjvIjqyEeCUI4z76XHrLw" name="maxHighPerfUsage" value="1"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EClass" xmi:id="_TUjvIzqyEeCUI4z76XHrLw" name="SchedulingBusConfigurationAnalysis">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TUjvJDqyEeCUI4z76XHrLw" source="http://www.eclipse.org/uml2/2.0.0/UML" references="__9760MCuEd-RT45s8cwWMg"/>
+                <eSuperTypes xmi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/MARTE/1#//GQAM/GaAnalysisContext"/>
+                <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_TUjvJTqyEeCUI4z76XHrLw" name="mapping" ordered="false" upperBound="-1">
+                  <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/MARTE/1#//Alloc/Allocate"/>
+                </eStructuralFeatures>
+                <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_TUjvJzqyEeCUI4z76XHrLw" name="resultingPriorities" ordered="false" lowerBound="1" upperBound="-1" eType="_5RCccTg4EeCE2sZUGxu35w"/>
+                <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_TUjvKTqyEeCUI4z76XHrLw" name="resultingBusConfig" ordered="false" lowerBound="1" eType="_wfJVIVrLEeCvGuvlF-wh1g"/>
+                <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_TUjvKzqyEeCUI4z76XHrLw" name="resultingCommLatencies" ordered="false" upperBound="-1">
+                  <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/MARTE/1#//SAM/SaStep"/>
+                </eStructuralFeatures>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EClass" xmi:id="_TUjvLjqyEeCUI4z76XHrLw" name="CHESS_Predictability_RTComponentModel_CHRtSpecification">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TUjvLzqyEeCUI4z76XHrLw" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_Y4GZwDcwEd-mWLzcI61s7Q"/>
+                <eSuperTypes xmi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/MARTE/1#//HLAM/RtSpecification"/>
+                <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_TUjvMDqyEeCUI4z76XHrLw" name="partWithPort" ordered="false" unique="false">
+                  <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
+                </eStructuralFeatures>
+                <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_TUjvMjqyEeCUI4z76XHrLw" name="WCET" ordered="false" lowerBound="1" eType="_TUjvQzqyEeCUI4z76XHrLw" containment="true"/>
+                <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_TUjvNDqyEeCUI4z76XHrLw" name="localWCET" ordered="false" eType="_TUjvQzqyEeCUI4z76XHrLw" containment="true"/>
+                <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_TUjvNjqyEeCUI4z76XHrLw" name="relativePriority" ordered="false" eType="_TUjvyTqyEeCUI4z76XHrLw" containment="true"/>
+                <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_TUjvODqyEeCUI4z76XHrLw" name="ceiling" ordered="false" eType="_TUjvyTqyEeCUI4z76XHrLw" containment="true"/>
+                <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_TUjvOjqyEeCUI4z76XHrLw" name="memorySizeFootprint" ordered="false" eType="_TUjvzjqyEeCUI4z76XHrLw" containment="true"/>
+                <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_TUjvPDqyEeCUI4z76XHrLw" name="stackSize" ordered="false" eType="_TUjvzjqyEeCUI4z76XHrLw" containment="true"/>
+                <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_TUjvPjqyEeCUI4z76XHrLw" name="heapSize" ordered="false" eType="_TUjvzjqyEeCUI4z76XHrLw" containment="true"/>
+                <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_TUjvQDqyEeCUI4z76XHrLw" name="slot" ordered="false">
+                  <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Slot"/>
+                </eStructuralFeatures>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EClass" xmi:id="_TUjvQzqyEeCUI4z76XHrLw" name="MARTE_Library_BasicNFP_Types_NFP_Duration" eSuperTypes="_TUjvUDqyEeCUI4z76XHrLw">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TUjvRDqyEeCUI4z76XHrLw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_kMwX8BFREdyUJeMeN__D-A"/>
+                </eAnnotations>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_TUjvRTqyEeCUI4z76XHrLw" name="unit" ordered="false" unique="false" eType="_TUjvvjqyEeCUI4z76XHrLw"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_TUjvRzqyEeCUI4z76XHrLw" name="clock" ordered="false" unique="false" eType="_TUjvxzqyEeCUI4z76XHrLw"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_TUjvSTqyEeCUI4z76XHrLw" name="precision" ordered="false" unique="false" eType="_TUjvujqyEeCUI4z76XHrLw"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_TUjvSzqyEeCUI4z76XHrLw" name="worst" ordered="false" unique="false" eType="_TUjvujqyEeCUI4z76XHrLw"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_TUjvTTqyEeCUI4z76XHrLw" name="best" ordered="false" unique="false" eType="_TUjvujqyEeCUI4z76XHrLw"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EClass" xmi:id="_TUjvUDqyEeCUI4z76XHrLw" name="MARTE_Library_BasicNFP_Types_NFP_Real" eSuperTypes="_TUjvVTqyEeCUI4z76XHrLw">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TUjvUTqyEeCUI4z76XHrLw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_Yq-MQBFQEdyUJeMeN__D-A"/>
+                </eAnnotations>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_TUjvUjqyEeCUI4z76XHrLw" name="value" ordered="false" unique="false" eType="_TUjvujqyEeCUI4z76XHrLw"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EClass" xmi:id="_TUjvVTqyEeCUI4z76XHrLw" name="MARTE_Library_BasicNFP_Types_NFP_CommonType">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TUjvVjqyEeCUI4z76XHrLw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_ACuvABD_EdyybZnLxHsjyA"/>
+                </eAnnotations>
+                <eOperations xmi:type="ecore:EOperation" xmi:id="_TUjvYjqyEeCUI4z76XHrLw" name="gamma" ordered="false" lowerBound="1">
+                  <eParameters xmi:type="ecore:EParameter" xmi:id="_TUjvYzqyEeCUI4z76XHrLw" name="k" ordered="false" lowerBound="1" eType="_TUjvvDqyEeCUI4z76XHrLw"/>
+                  <eParameters xmi:type="ecore:EParameter" xmi:id="_TUjvZTqyEeCUI4z76XHrLw" name="mean" ordered="false" lowerBound="1" eType="_TUjvujqyEeCUI4z76XHrLw"/>
+                </eOperations>
+                <eOperations xmi:type="ecore:EOperation" xmi:id="_TUjvdDqyEeCUI4z76XHrLw" name="bernoulli" ordered="false" lowerBound="1">
+                  <eParameters xmi:type="ecore:EParameter" xmi:id="_TUjvdTqyEeCUI4z76XHrLw" name="prob" ordered="false" lowerBound="1" eType="_TUjvujqyEeCUI4z76XHrLw"/>
+                </eOperations>
+                <eOperations xmi:type="ecore:EOperation" xmi:id="_TUjvdzqyEeCUI4z76XHrLw" name="binomial" ordered="false" lowerBound="1">
+                  <eParameters xmi:type="ecore:EParameter" xmi:id="_TUjveDqyEeCUI4z76XHrLw" name="prob" ordered="false" lowerBound="1" eType="_TUjvujqyEeCUI4z76XHrLw"/>
+                  <eParameters xmi:type="ecore:EParameter" xmi:id="_TUjvejqyEeCUI4z76XHrLw" name="trials" ordered="false" lowerBound="1" eType="_TUjvvDqyEeCUI4z76XHrLw"/>
+                </eOperations>
+                <eOperations xmi:type="ecore:EOperation" xmi:id="_TUjvfDqyEeCUI4z76XHrLw" name="exp" ordered="false" lowerBound="1">
+                  <eParameters xmi:type="ecore:EParameter" xmi:id="_TUjvfTqyEeCUI4z76XHrLw" name="mean" ordered="false" lowerBound="1" eType="_TUjvujqyEeCUI4z76XHrLw"/>
+                </eOperations>
+                <eOperations xmi:type="ecore:EOperation" xmi:id="_TUjvfzqyEeCUI4z76XHrLw" name="normal" ordered="false" lowerBound="1">
+                  <eParameters xmi:type="ecore:EParameter" xmi:id="_TUjvgDqyEeCUI4z76XHrLw" name="mean" ordered="false" lowerBound="1" eType="_TUjvujqyEeCUI4z76XHrLw"/>
+                  <eParameters xmi:type="ecore:EParameter" xmi:id="_TUjvgjqyEeCUI4z76XHrLw" name="standDev" ordered="false" lowerBound="1" eType="_TUjvujqyEeCUI4z76XHrLw"/>
+                </eOperations>
+                <eOperations xmi:type="ecore:EOperation" xmi:id="_TUjvhDqyEeCUI4z76XHrLw" name="poisson" ordered="false" lowerBound="1">
+                  <eParameters xmi:type="ecore:EParameter" xmi:id="_TUjvhTqyEeCUI4z76XHrLw" name="mean" ordered="false" lowerBound="1" eType="_TUjvujqyEeCUI4z76XHrLw"/>
+                </eOperations>
+                <eOperations xmi:type="ecore:EOperation" xmi:id="_TUjvhzqyEeCUI4z76XHrLw" name="uniform" ordered="false" lowerBound="1">
+                  <eParameters xmi:type="ecore:EParameter" xmi:id="_TUjviDqyEeCUI4z76XHrLw" name="min" ordered="false" lowerBound="1" eType="_TUjvujqyEeCUI4z76XHrLw"/>
+                  <eParameters xmi:type="ecore:EParameter" xmi:id="_TUjvijqyEeCUI4z76XHrLw" name="max" ordered="false" lowerBound="1" eType="_TUjvujqyEeCUI4z76XHrLw"/>
+                </eOperations>
+                <eOperations xmi:type="ecore:EOperation" xmi:id="_TUjvjDqyEeCUI4z76XHrLw" name="geometric" ordered="false" lowerBound="1">
+                  <eParameters xmi:type="ecore:EParameter" xmi:id="_TUjvjTqyEeCUI4z76XHrLw" name="p" ordered="false" lowerBound="1" eType="_TUjvujqyEeCUI4z76XHrLw"/>
+                </eOperations>
+                <eOperations xmi:type="ecore:EOperation" xmi:id="_TUjvjzqyEeCUI4z76XHrLw" name="triangular" ordered="false" lowerBound="1">
+                  <eParameters xmi:type="ecore:EParameter" xmi:id="_TUjvkDqyEeCUI4z76XHrLw" name="min" ordered="false" lowerBound="1" eType="_TUjvujqyEeCUI4z76XHrLw"/>
+                  <eParameters xmi:type="ecore:EParameter" xmi:id="_TUjvkjqyEeCUI4z76XHrLw" name="max" ordered="false" lowerBound="1" eType="_TUjvujqyEeCUI4z76XHrLw"/>
+                  <eParameters xmi:type="ecore:EParameter" xmi:id="_TUjvlDqyEeCUI4z76XHrLw" name="mode" ordered="false" lowerBound="1" eType="_TUjvujqyEeCUI4z76XHrLw"/>
+                </eOperations>
+                <eOperations xmi:type="ecore:EOperation" xmi:id="_TUjvljqyEeCUI4z76XHrLw" name="logarithmic" ordered="false" lowerBound="1">
+                  <eParameters xmi:type="ecore:EParameter" xmi:id="_TUjvlzqyEeCUI4z76XHrLw" name="theta" ordered="false" lowerBound="1" eType="_TUjvujqyEeCUI4z76XHrLw"/>
+                </eOperations>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_TUjvmTqyEeCUI4z76XHrLw" name="expr" ordered="false" unique="false" eType="_TUjvozqyEeCUI4z76XHrLw"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_TUjvmzqyEeCUI4z76XHrLw" name="source" ordered="false" unique="false" eType="_TUjvpTqyEeCUI4z76XHrLw"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_TUjvnTqyEeCUI4z76XHrLw" name="statQ" ordered="false" unique="false" eType="_TUjvqzqyEeCUI4z76XHrLw"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_TUjvnzqyEeCUI4z76XHrLw" name="dir" ordered="false" unique="false" eType="_TUjvtjqyEeCUI4z76XHrLw"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_TUjvoTqyEeCUI4z76XHrLw" name="mode" ordered="false" unique="false" upperBound="-1">
+                  <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+                </eStructuralFeatures>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_TUjvozqyEeCUI4z76XHrLw" name="MARTE_Library_MARTE_DataTypes_VSL_Expression" instanceClassName="java.lang.String">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TUjvpDqyEeCUI4z76XHrLw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_bManMBEBEdyx6M3BlUjlCQ"/>
+                </eAnnotations>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_TUjvpTqyEeCUI4z76XHrLw" name="MARTE_Library_BasicNFP_Types_SourceKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TUjvpjqyEeCUI4z76XHrLw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_oMZzEBD-EdyybZnLxHsjyA"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TUjvpzqyEeCUI4z76XHrLw" name="est"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TUjvqDqyEeCUI4z76XHrLw" name="meas" value="1"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TUjvqTqyEeCUI4z76XHrLw" name="calc" value="2"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TUjvqjqyEeCUI4z76XHrLw" name="req" value="3"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_TUjvqzqyEeCUI4z76XHrLw" name="MARTE_Library_BasicNFP_Types_StatisticalQualifierKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TUjvrDqyEeCUI4z76XHrLw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_0N52EBD-EdyybZnLxHsjyA"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TUjvrTqyEeCUI4z76XHrLw" name="max"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TUjvrjqyEeCUI4z76XHrLw" name="min" value="1"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TUjvrzqyEeCUI4z76XHrLw" name="mean" value="2"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TUjvsDqyEeCUI4z76XHrLw" name="range" value="3"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TUjvsTqyEeCUI4z76XHrLw" name="percent" value="4"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TUjvsjqyEeCUI4z76XHrLw" name="distrib" value="5"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TUjvszqyEeCUI4z76XHrLw" name="determ" value="6"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TUjvtDqyEeCUI4z76XHrLw" name="other" value="7"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TUjvtTqyEeCUI4z76XHrLw" name="variance" value="8"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_TUjvtjqyEeCUI4z76XHrLw" name="MARTE_Library_BasicNFP_Types_DirectionKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TUjvtzqyEeCUI4z76XHrLw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_vvfxEBD-EdyybZnLxHsjyA"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TUjvuDqyEeCUI4z76XHrLw" name="incr"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TUjvuTqyEeCUI4z76XHrLw" name="decr" value="1"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_TUjvujqyEeCUI4z76XHrLw" name="MARTE_Library_MARTE_PrimitivesTypes_Real" instanceClassName="java.lang.String">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TUjvuzqyEeCUI4z76XHrLw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_beo90AnpEdy9WM11hWri2g"/>
+                </eAnnotations>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_TUjvvDqyEeCUI4z76XHrLw" name="MARTE_Library_MARTE_PrimitivesTypes_Integer" instanceClassName="int">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TUjvvTqyEeCUI4z76XHrLw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_HJ1zcAnfEdy9WM11hWri2g"/>
+                </eAnnotations>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_TUjvvjqyEeCUI4z76XHrLw" name="MARTE_Library_MeasurementUnits_TimeUnitKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TUjvvzqyEeCUI4z76XHrLw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_Iaa3gA4yEdysTsAUPnp57Q"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TUjvwDqyEeCUI4z76XHrLw" name="s"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TUjvwTqyEeCUI4z76XHrLw" name="tick" value="1"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TUjvwjqyEeCUI4z76XHrLw" name="ms" value="2"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TUjvwzqyEeCUI4z76XHrLw" name="us" value="3"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TUjvxDqyEeCUI4z76XHrLw" name="min" value="4"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TUjvxTqyEeCUI4z76XHrLw" name="hrs" value="5"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TUjvxjqyEeCUI4z76XHrLw" name="day" value="6"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_TUjvxzqyEeCUI4z76XHrLw" name="MARTE_Library_MARTE_PrimitivesTypes_String" instanceClassName="java.lang.String">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TUjvyDqyEeCUI4z76XHrLw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_qZ3GUAnxEdy9WM11hWri2g"/>
+                </eAnnotations>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EClass" xmi:id="_TUjvyTqyEeCUI4z76XHrLw" name="MARTE_Library_BasicNFP_Types_NFP_Integer" eSuperTypes="_TUjvVTqyEeCUI4z76XHrLw">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TUjvyjqyEeCUI4z76XHrLw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_0KWSgBFQEdyUJeMeN__D-A"/>
+                </eAnnotations>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_TUjvyzqyEeCUI4z76XHrLw" name="value" ordered="false" unique="false" eType="_TUjvvDqyEeCUI4z76XHrLw"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EClass" xmi:id="_TUjvzjqyEeCUI4z76XHrLw" name="MARTE_Library_BasicNFP_Types_NFP_DataSize" eSuperTypes="_TUjvUDqyEeCUI4z76XHrLw">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TUjvzzqyEeCUI4z76XHrLw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_5LrMcBFSEdyUJeMeN__D-A"/>
+                </eAnnotations>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_TUjv0DqyEeCUI4z76XHrLw" name="unit" ordered="false" unique="false" eType="_TUjv1TqyEeCUI4z76XHrLw"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_TUjv0jqyEeCUI4z76XHrLw" name="precision" ordered="false" unique="false" eType="_TUjvujqyEeCUI4z76XHrLw"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_TUjv1TqyEeCUI4z76XHrLw" name="MARTE_Library_MeasurementUnits_DataSizeUnitKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TUjv1jqyEeCUI4z76XHrLw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_2pVmEA4yEdysTsAUPnp57Q"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TUjv1zqyEeCUI4z76XHrLw" name="bit"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TUjv2DqyEeCUI4z76XHrLw" name="Byte" value="1"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TUjv2TqyEeCUI4z76XHrLw" name="KB" value="2"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TUjv2jqyEeCUI4z76XHrLw" name="MB" value="3"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_TUjv2zqyEeCUI4z76XHrLw" name="GB" value="4"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EClass" xmi:id="_TUjv3DqyEeCUI4z76XHrLw" name="CHESS_Dependability_FMEA_FIBEX">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TUjv3TqyEeCUI4z76XHrLw" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_86lCUMAQEd-Dn5_MBIs5Vw"/>
+                <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_TUjv3jqyEeCUI4z76XHrLw" name="base_Comment" ordered="false" lowerBound="1">
+                  <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Comment"/>
+                </eStructuralFeatures>
+                <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_TUjv4DqyEeCUI4z76XHrLw" name="config" ordered="false" lowerBound="1" eType="_TUjv4jqyEeCUI4z76XHrLw" containment="true"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EClass" xmi:id="_TUjv4jqyEeCUI4z76XHrLw" name="MARTE_Library_BasicNFP_Types_NFP_String" eSuperTypes="_TUjvVTqyEeCUI4z76XHrLw">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TUjv4zqyEeCUI4z76XHrLw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_B5VngBFQEdyUJeMeN__D-A"/>
+                </eAnnotations>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_TUjv5DqyEeCUI4z76XHrLw" name="value" ordered="false" unique="false" eType="_TUjvxzqyEeCUI4z76XHrLw"/>
+              </eClassifiers>
+            </contents>
+            <contents xmi:type="ecore:EPackage" xmi:id="_T3AEsMe6Ed-7etIj5eTw0Q" name="Analysis" nsURI="http://CHESS.Predictability.DeploymentConfiguration/schemas/Analysis/_TVeE8Me6Ed-7etIj5eTw0Q/8" nsPrefix="Analysis">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_aO2-oce6Ed-7etIj5eTw0Q" source="PapyrusVersion">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_aO2-ose6Ed-7etIj5eTw0Q" key="Version" value="0.1.8"/>
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_aO2-o8e6Ed-7etIj5eTw0Q" key="Comment" value=""/>
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_aO2-pMe6Ed-7etIj5eTw0Q" key="Copyright" value=""/>
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_aO2-pce6Ed-7etIj5eTw0Q" key="Date" value="2010-09-24"/>
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_aO2-pse6Ed-7etIj5eTw0Q" key="Author" value=""/>
+              </eAnnotations>
+              <eClassifiers xmi:type="ecore:EClass" xmi:id="_T3AEsce6Ed-7etIj5eTw0Q" name="MappingConfigurationAnalysis">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_T3AEsse6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_6qReQMCtEd-RT45s8cwWMg"/>
+                <eSuperTypes xmi:type="ecore:EClass" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_329vLZi4Ed-m0Oaexd_lJA"/>
+                <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_T3AEs8e6Ed-7etIj5eTw0Q" name="prohibitedAllocations" ordered="false" upperBound="-1">
+                  <eType xmi:type="ecore:EClass" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_b7sgXLG3Ed-tmN4hwNCxXQ"/>
+                </eStructuralFeatures>
+                <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_T3AEtce6Ed-7etIj5eTw0Q" name="fixedAllocations" ordered="false" upperBound="-1">
+                  <eType xmi:type="ecore:EClass" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_b7sgXLG3Ed-tmN4hwNCxXQ"/>
+                </eStructuralFeatures>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_T3AEt8e6Ed-7etIj5eTw0Q" name="goal" ordered="false" lowerBound="1" eType="_T3AHiMe6Ed-7etIj5eTw0Q"/>
+                <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_T3AEuce6Ed-7etIj5eTw0Q" name="bottomUpAnalysis" ordered="false" lowerBound="1">
+                  <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+                </eStructuralFeatures>
+                <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_T3AEu8e6Ed-7etIj5eTw0Q" name="resultingMapping" ordered="false" lowerBound="1" upperBound="-1">
+                  <eType xmi:type="ecore:EClass" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_b7sgXLG3Ed-tmN4hwNCxXQ"/>
+                </eStructuralFeatures>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_T3AFMMe6Ed-7etIj5eTw0Q" name="MARTE_Library_MARTE_DataTypes_VSL_Expression" instanceClassName="MARTE_Library_MARTE_DataTypes_VSL_Expression">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_T3AFMce6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_bManMBEBEdyx6M3BlUjlCQ"/>
+                </eAnnotations>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_T3AFMse6Ed-7etIj5eTw0Q" name="MARTE_Library_BasicNFP_Types_SourceKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_T3AFM8e6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_oMZzEBD-EdyybZnLxHsjyA"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_T3AFNMe6Ed-7etIj5eTw0Q" name="est"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_T3AFNce6Ed-7etIj5eTw0Q" name="meas" value="1"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_T3AFNse6Ed-7etIj5eTw0Q" name="calc" value="2"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_T3AFN8e6Ed-7etIj5eTw0Q" name="req" value="3"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_T3AFOMe6Ed-7etIj5eTw0Q" name="MARTE_Library_BasicNFP_Types_StatisticalQualifierKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_T3AFOce6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_0N52EBD-EdyybZnLxHsjyA"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_T3AFOse6Ed-7etIj5eTw0Q" name="max"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_T3AFO8e6Ed-7etIj5eTw0Q" name="min" value="1"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_T3AFPMe6Ed-7etIj5eTw0Q" name="mean" value="2"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_T3AFPce6Ed-7etIj5eTw0Q" name="range" value="3"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_T3AFPse6Ed-7etIj5eTw0Q" name="percent" value="4"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_T3AFP8e6Ed-7etIj5eTw0Q" name="distrib" value="5"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_T3AFQMe6Ed-7etIj5eTw0Q" name="determ" value="6"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_T3AFQce6Ed-7etIj5eTw0Q" name="other" value="7"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_T3AFQse6Ed-7etIj5eTw0Q" name="variance" value="8"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_T3AFQ8e6Ed-7etIj5eTw0Q" name="MARTE_Library_BasicNFP_Types_DirectionKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_T3AFRMe6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_vvfxEBD-EdyybZnLxHsjyA"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_T3AFRce6Ed-7etIj5eTw0Q" name="incr"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_T3AFRse6Ed-7etIj5eTw0Q" name="decr" value="1"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_T3AFR8e6Ed-7etIj5eTw0Q" name="MARTE_Library_MARTE_PrimitivesTypes_Real" instanceClassName="MARTE_Library_MARTE_PrimitivesTypes_Real">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_T3AFSMe6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_beo90AnpEdy9WM11hWri2g"/>
+                </eAnnotations>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_T3AFSce6Ed-7etIj5eTw0Q" name="MARTE_Library_MARTE_PrimitivesTypes_Integer" instanceClassName="MARTE_Library_MARTE_PrimitivesTypes_Integer">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_T3AFSse6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_HJ1zcAnfEdy9WM11hWri2g"/>
+                </eAnnotations>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_T3AFS8e6Ed-7etIj5eTw0Q" name="MARTE_Library_MARTE_PrimitivesTypes_String" instanceClassName="MARTE_Library_MARTE_PrimitivesTypes_String">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_T3AFTMe6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_qZ3GUAnxEdy9WM11hWri2g"/>
+                </eAnnotations>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_T3AFk8e6Ed-7etIj5eTw0Q" name="MARTE_Library_MeasurementUnits_TimeUnitKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_T3AFlMe6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_Iaa3gA4yEdysTsAUPnp57Q"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_T3AFlce6Ed-7etIj5eTw0Q" name="s"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_T3AFlse6Ed-7etIj5eTw0Q" name="tick" value="1"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_T3AFl8e6Ed-7etIj5eTw0Q" name="ms" value="2"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_T3AFmMe6Ed-7etIj5eTw0Q" name="us" value="3"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_T3AFmce6Ed-7etIj5eTw0Q" name="min" value="4"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_T3AFmse6Ed-7etIj5eTw0Q" name="hrs" value="5"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_T3AFm8e6Ed-7etIj5eTw0Q" name="day" value="6"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_T3AFo8e6Ed-7etIj5eTw0Q" name="MARTE_Library_MeasurementUnits_DataSizeUnitKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_T3AFpMe6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_2pVmEA4yEdysTsAUPnp57Q"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_T3AFpce6Ed-7etIj5eTw0Q" name="bit"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_T3AFpse6Ed-7etIj5eTw0Q" name="Byte" value="1"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_T3AFp8e6Ed-7etIj5eTw0Q" name="KB" value="2"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_T3AFqMe6Ed-7etIj5eTw0Q" name="MB" value="3"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_T3AFqce6Ed-7etIj5eTw0Q" name="GB" value="4"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_T3AFsce6Ed-7etIj5eTw0Q" name="MARTE_Library_MeasurementUnits_PowerUnitKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_T3AFsse6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_ijhHUA4yEdysTsAUPnp57Q"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_T3AFs8e6Ed-7etIj5eTw0Q" name="W"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_T3AFtMe6Ed-7etIj5eTw0Q" name="mW" value="1"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_T3AFtce6Ed-7etIj5eTw0Q" name="KW" value="2"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_T3AFvce6Ed-7etIj5eTw0Q" name="MARTE_Library_MeasurementUnits_EnergyUnitKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_T3AFvse6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_UaKKgA4zEdysTsAUPnp57Q"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_T3AFv8e6Ed-7etIj5eTw0Q" name="J"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_T3AFwMe6Ed-7etIj5eTw0Q" name="KJ" value="1"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_T3AFwce6Ed-7etIj5eTw0Q" name="Wh" value="2"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_T3AFwse6Ed-7etIj5eTw0Q" name="KWh" value="3"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_T3AFw8e6Ed-7etIj5eTw0Q" name="mWh" value="4"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_T3AF28e6Ed-7etIj5eTw0Q" name="MARTE_Library_MARTE_PrimitivesTypes_Boolean" instanceClassName="MARTE_Library_MARTE_PrimitivesTypes_Boolean">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_T3AF3Me6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_Ddte8AnqEdy9WM11hWri2g"/>
+                </eAnnotations>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_T3AF_Me6Ed-7etIj5eTw0Q" name="MARTE_Library_TimeTypesLibrary_TimeStandardKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_T3AF_ce6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_MDyyoA-KEdyNj8xzjk-DoA"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_T3AF_se6Ed-7etIj5eTw0Q" name="TAI"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_T3AF_8e6Ed-7etIj5eTw0Q" name="UT0" value="1"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_T3AGAMe6Ed-7etIj5eTw0Q" name="UT1" value="2"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_T3AGAce6Ed-7etIj5eTw0Q" name="UTC" value="3"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_T3AGAse6Ed-7etIj5eTw0Q" name="Local" value="4"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_T3AGA8e6Ed-7etIj5eTw0Q" name="TT" value="5"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_T3AGBMe6Ed-7etIj5eTw0Q" name="TBD" value="6"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_T3AGBce6Ed-7etIj5eTw0Q" name="TCG" value="7"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_T3AGBse6Ed-7etIj5eTw0Q" name="TCB" value="8"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_T3AGB8e6Ed-7etIj5eTw0Q" name="Sidereal" value="9"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_T3AGCMe6Ed-7etIj5eTw0Q" name="GPS" value="10"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_T3AGH8e6Ed-7etIj5eTw0Q" name="MARTE_Library_TimeTypesLibrary_TimeNatureKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_T3AGIMe6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_WAvb0A75EdyML4mHwjNDrw"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_T3AGIce6Ed-7etIj5eTw0Q" name="discrete"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_T3AGIse6Ed-7etIj5eTw0Q" name="dense" value="1"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_T3AGi8e6Ed-7etIj5eTw0Q" name="MARTE_Library_MeasurementUnits_FrequencyUnitKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_T3AGjMe6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_qFaygA4yEdysTsAUPnp57Q"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_T3AGjce6Ed-7etIj5eTw0Q" name="Hz"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_T3AGjse6Ed-7etIj5eTw0Q" name="KHz" value="1"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_T3AGj8e6Ed-7etIj5eTw0Q" name="MHz" value="2"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_T3AGkMe6Ed-7etIj5eTw0Q" name="GHz" value="3"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_T3AGkce6Ed-7etIj5eTw0Q" name="rpm" value="4"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_T3AG8ce6Ed-7etIj5eTw0Q" name="MARTE_Library_GRM_BasicTypes_PeriodicServerKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_T3AG8se6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_UP5HEBFbEdyUJeMeN__D-A"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_T3AG88e6Ed-7etIj5eTw0Q" name="Sporadic"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_T3AG9Me6Ed-7etIj5eTw0Q" name="Deferrable" value="1"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_T3AG9ce6Ed-7etIj5eTw0Q" name="Undef" value="2"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_T3AG9se6Ed-7etIj5eTw0Q" name="Other" value="3"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_T3AHCse6Ed-7etIj5eTw0Q" name="MARTE_Library_GRM_BasicTypes_SchedPolicyKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_T3AHC8e6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_4GfMYBFaEdyUJeMeN__D-A"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_T3AHDMe6Ed-7etIj5eTw0Q" name="EarliestDeadlineFirst"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_T3AHDce6Ed-7etIj5eTw0Q" name="FIFO" value="1"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_T3AHDse6Ed-7etIj5eTw0Q" name="FixedPriority" value="2"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_T3AHD8e6Ed-7etIj5eTw0Q" name="LeastLaxityFirst" value="3"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_T3AHEMe6Ed-7etIj5eTw0Q" name="RoundRobin" value="4"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_T3AHEce6Ed-7etIj5eTw0Q" name="TimeTableDriven" value="5"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_T3AHEse6Ed-7etIj5eTw0Q" name="Undef" value="6"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_T3AHE8e6Ed-7etIj5eTw0Q" name="Other" value="7"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_T3AHKce6Ed-7etIj5eTw0Q" name="MARTE_Library_GRM_BasicTypes_ProtectProtocolKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_T3AHKse6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_HkE7wBFbEdyUJeMeN__D-A"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_T3AHK8e6Ed-7etIj5eTw0Q" name="FIFO"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_T3AHLMe6Ed-7etIj5eTw0Q" name="NoPreemption" value="1"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_T3AHLce6Ed-7etIj5eTw0Q" name="PriorityCeiling" value="2"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_T3AHLse6Ed-7etIj5eTw0Q" name="PriorityInheritance" value="3"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_T3AHL8e6Ed-7etIj5eTw0Q" name="StackBased" value="4"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_T3AHMMe6Ed-7etIj5eTw0Q" name="Undef" value="5"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_T3AHMce6Ed-7etIj5eTw0Q" name="Other" value="6"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_T3AHZce6Ed-7etIj5eTw0Q" name="MARTE_MARTE_Foundations_NFPs_ConstraintKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_T3AHZse6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_ZCtm0A4vEdysTsAUPnp57Q"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_T3AHZ8e6Ed-7etIj5eTw0Q" name="required"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_T3AHaMe6Ed-7etIj5eTw0Q" name="offered" value="1"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_T3AHace6Ed-7etIj5eTw0Q" name="contract" value="2"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_T3AHase6Ed-7etIj5eTw0Q" name="MARTE_MARTE_AnalysisModel_GQAM_LaxityKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_T3AHa8e6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_Gs3fEBKcEdymP89M8JXkzA"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_T3AHbMe6Ed-7etIj5eTw0Q" name="hard"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_T3AHbce6Ed-7etIj5eTw0Q" name="soft" value="1"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_T3AHbse6Ed-7etIj5eTw0Q" name="other" value="2"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_T3AHf8e6Ed-7etIj5eTw0Q" name="MARTE_MARTE_Foundations_Alloc_AllocationKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_T3AHgMe6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_VxKdYBHbEdyWC5IKDhzksw"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_T3AHgce6Ed-7etIj5eTw0Q" name="structural"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_T3AHgse6Ed-7etIj5eTw0Q" name="behavioral" value="1"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_T3AHg8e6Ed-7etIj5eTw0Q" name="hybrid" value="2"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_T3AHhMe6Ed-7etIj5eTw0Q" name="MARTE_MARTE_Foundations_Alloc_AllocationNature">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_T3AHhce6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_VYSDUBHbEdyWC5IKDhzksw"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_T3AHhse6Ed-7etIj5eTw0Q" name="spatialDistribution"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_T3AHh8e6Ed-7etIj5eTw0Q" name="timeScheduling" value="1"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_T3AHiMe6Ed-7etIj5eTw0Q" name="CHESSML_Predictability_DeploymentConfiguration_HwDataTypes_OptimizationGoal">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_T3AHice6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_T3AHise6Ed-7etIj5eTw0Q" name="average"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_T3AHi8e6Ed-7etIj5eTw0Q" name="maxHighPerfUsage" value="1"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EClass" xmi:id="_T3AHjMe6Ed-7etIj5eTw0Q" name="SchedulingBusConfigurationAnalysis">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_T3AHjce6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML" references="__9760MCuEd-RT45s8cwWMg"/>
+                <eSuperTypes xmi:type="ecore:EClass" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_329vLZi4Ed-m0Oaexd_lJA"/>
+                <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_T3AHjse6Ed-7etIj5eTw0Q" name="mapping" ordered="false" upperBound="-1">
+                  <eType xmi:type="ecore:EClass" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_b7sgXLG3Ed-tmN4hwNCxXQ"/>
+                </eStructuralFeatures>
+                <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_T3AHkMe6Ed-7etIj5eTw0Q" name="resultingPriorities" ordered="false" lowerBound="1" upperBound="-1" eType="_UVZQ4ce6Ed-7etIj5eTw0Q"/>
+                <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_T3AHkse6Ed-7etIj5eTw0Q" name="resultingBusConfig" ordered="false" lowerBound="1" eType="_wfJVIVrLEeCvGuvlF-wh1g"/>
+                <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_T3AHlMe6Ed-7etIj5eTw0Q" name="resultingCommLatencies" ordered="false" upperBound="-1">
+                  <eType xmi:type="ecore:EClass" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_4DUwEpi4Ed-m0Oaexd_lJA"/>
+                </eStructuralFeatures>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_T3AH6Me6Ed-7etIj5eTw0Q" name="MARTE_Library_TimeTypesLibrary_EventKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_T3AH6ce6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_eMs4wA-KEdyNj8xzjk-DoA"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_T3AH6se6Ed-7etIj5eTw0Q" name="start"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_T3AH68e6Ed-7etIj5eTw0Q" name="finish" value="1"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_T3AH7Me6Ed-7etIj5eTw0Q" name="send" value="2"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_T3AH7ce6Ed-7etIj5eTw0Q" name="receive" value="3"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_T3AH7se6Ed-7etIj5eTw0Q" name="consume" value="4"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_T3AH9Me6Ed-7etIj5eTw0Q" name="MARTE_Library_MARTE_PrimitivesTypes_DateTime" instanceClassName="MARTE_Library_MARTE_PrimitivesTypes_DateTime">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_T3AH9ce6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_sexkYAnxEdy9WM11hWri2g"/>
+                </eAnnotations>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EEnum" xmi:id="_T3AH-8e6Ed-7etIj5eTw0Q" name="MARTE_MARTE_DesignModel_HLAM_CallConcurrencyKind">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_T3AH_Me6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_9CDJMBHjEdy7mJMaejUq5Q"/>
+                </eAnnotations>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_T3AH_ce6Ed-7etIj5eTw0Q" name="sequential"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_T3AH_se6Ed-7etIj5eTw0Q" name="guarded" value="1"/>
+                <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_T3AH_8e6Ed-7etIj5eTw0Q" name="concurrent" value="2"/>
+              </eClassifiers>
+              <eClassifiers xmi:type="ecore:EDataType" xmi:id="_aIJSoMe6Ed-7etIj5eTw0Q" name="NFP_String" instanceClassName="java.lang.String">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_aIJSoce6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                  <references xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_B5VngBFQEdyUJeMeN__D-A"/>
+                </eAnnotations>
+              </eClassifiers>
+            </contents>
+          </eAnnotations>
+          <packagedElement xmi:type="uml:Stereotype" xmi:id="_6qReQMCtEd-RT45s8cwWMg" name="MappingConfigurationAnalysis">
+            <ownedComment xmi:type="uml:Comment" xmi:id="_8qlJIMCtEd-RT45s8cwWMg">
+              <body>MappingConfigurationAnalysis</body>
+            </ownedComment>
+            <generalization xmi:type="uml:Generalization" xmi:id="_BW2rAMCuEd-RT45s8cwWMg">
+              <general xmi:type="uml:Stereotype" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_9gc2ABKfEdyaWJN1BYon3A"/>
+            </generalization>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_DHN1YMCuEd-RT45s8cwWMg" name="prohibitedAllocations" visibility="public">
+              <type xmi:type="uml:Stereotype" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_455hUECmEd6UTJZnztgOLw"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_KuzR0MCuEd-RT45s8cwWMg"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_KuzR0cCuEd-RT45s8cwWMg" value="*"/>
+              <defaultValue xmi:type="uml:LiteralString" xmi:id="_Ku9C0MCuEd-RT45s8cwWMg">
+                <value xsi:nil="true"/>
+              </defaultValue>
+            </ownedAttribute>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_N5BLEMCuEd-RT45s8cwWMg" name="fixedAllocations" visibility="public">
+              <type xmi:type="uml:Stereotype" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_455hUECmEd6UTJZnztgOLw"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_SqNpMMCuEd-RT45s8cwWMg"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_SqWzIMCuEd-RT45s8cwWMg" value="*"/>
+              <defaultValue xmi:type="uml:LiteralString" xmi:id="_SqgkIMCuEd-RT45s8cwWMg">
+                <value xsi:nil="true"/>
+              </defaultValue>
+            </ownedAttribute>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_o5LlwMCuEd-RT45s8cwWMg" name="bottomUpAnalysis" visibility="public">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_s2XNAMCuEd-RT45s8cwWMg" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_s2XNAcCuEd-RT45s8cwWMg" value="1"/>
+              <defaultValue xmi:type="uml:LiteralString" xmi:id="_s2g-AMCuEd-RT45s8cwWMg">
+                <value xsi:nil="true"/>
+              </defaultValue>
+            </ownedAttribute>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_vlUGkMCuEd-RT45s8cwWMg" name="resultingMapping" visibility="public">
+              <type xmi:type="uml:Stereotype" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_455hUECmEd6UTJZnztgOLw"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_xVE0AMCuEd-RT45s8cwWMg" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_xVN98MCuEd-RT45s8cwWMg" value="*"/>
+              <defaultValue xmi:type="uml:LiteralString" xmi:id="_xVN98cCuEd-RT45s8cwWMg">
+                <value xsi:nil="true"/>
+              </defaultValue>
+            </ownedAttribute>
+          </packagedElement>
+          <packagedElement xmi:type="uml:Stereotype" xmi:id="__9760MCuEd-RT45s8cwWMg" name="SchedulingAnalysis">
+            <generalization xmi:type="uml:Generalization" xmi:id="_BrwukMCvEd-RT45s8cwWMg">
+              <general xmi:type="uml:Stereotype" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_9gc2ABKfEdyaWJN1BYon3A"/>
+            </generalization>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_EjDr0MCvEd-RT45s8cwWMg" name="mapping" visibility="public">
+              <type xmi:type="uml:Stereotype" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_455hUECmEd6UTJZnztgOLw"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_FoMu8MCvEd-RT45s8cwWMg"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_FoV44MCvEd-RT45s8cwWMg" value="*"/>
+              <defaultValue xmi:type="uml:LiteralString" xmi:id="_FoV44cCvEd-RT45s8cwWMg">
+                <value xsi:nil="true"/>
+              </defaultValue>
+            </ownedAttribute>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_D7RdoMCwEd-RT45s8cwWMg" name="resultingPriorities" visibility="public" type="_Y4GZwDcwEd-mWLzcI61s7Q">
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_HUYugMCwEd-RT45s8cwWMg" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_HUh4cMCwEd-RT45s8cwWMg" value="*"/>
+              <defaultValue xmi:type="uml:LiteralString" xmi:id="_HUrpcMCwEd-RT45s8cwWMg">
+                <value xsi:nil="true"/>
+              </defaultValue>
+            </ownedAttribute>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_AdJUML84EeCLOv-_yLVzGQ" name="schedulingStrategy">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_FE8lwL84EeCLOv-_yLVzGQ"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_FFGWwL84EeCLOv-_yLVzGQ" value="*"/>
+            </ownedAttribute>
+          </packagedElement>
+          <packagedElement xmi:type="uml:Enumeration" xmi:id="_udGt0Ku9EeCQLtqIc6Ik6Q" name="OptimizationGoal">
+            <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_wsOQwKu9EeCQLtqIc6Ik6Q" name="average"/>
+            <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_ynu7MKu9EeCQLtqIc6Ik6Q" name="maxHighPerfUsage"/>
+          </packagedElement>
+          <packagedElement xmi:type="uml:Stereotype" xmi:id="_YwhUkL6gEeCnL_Cr-OwxXg" name="BusConfigurationAnalysis">
+            <generalization xmi:type="uml:Generalization" xmi:id="_d6v9wL6gEeCnL_Cr-OwxXg">
+              <general xmi:type="uml:Stereotype" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_9gc2ABKfEdyaWJN1BYon3A"/>
+            </generalization>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_Nnd2IMCwEd-RT45s8cwWMg" name="resultingBusConfig" visibility="public" type="_86lCUMAQEd-Dn5_MBIs5Vw">
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_P33LcMCwEd-RT45s8cwWMg" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_P4A8cMCwEd-RT45s8cwWMg" value="1"/>
+              <defaultValue xmi:type="uml:LiteralString" xmi:id="_P4KtcMCwEd-RT45s8cwWMg">
+                <value xsi:nil="true"/>
+              </defaultValue>
+            </ownedAttribute>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_SZGZIMCwEd-RT45s8cwWMg" name="resultingCommLatencies" visibility="public">
+              <type xmi:type="uml:Stereotype" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_W2mUABKiEdyxBYjIJwIrZA"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_XYlx8MCwEd-RT45s8cwWMg"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_XYvi8MCwEd-RT45s8cwWMg" value="*"/>
+              <defaultValue xmi:type="uml:LiteralString" xmi:id="_XY4s4MCwEd-RT45s8cwWMg">
+                <value xsi:nil="true"/>
+              </defaultValue>
+            </ownedAttribute>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_DpT4wL85EeCLOv-_yLVzGQ" name="inputFibex" type="_86lCUMAQEd-Dn5_MBIs5Vw">
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_PqHYML85EeCLOv-_yLVzGQ"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_PqaTIL85EeCLOv-_yLVzGQ" value="*"/>
+            </ownedAttribute>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_t-AJQL9AEeC1JJonYKBCkg" name="hwBusPlatform">
+              <type xmi:type="uml:Stereotype" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_7m3jYBKNEdy1B7_71Kp_8Q"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_v1OJkL9AEeC1JJonYKBCkg"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_v1XTgL9AEeC1JJonYKBCkg" value="*"/>
+            </ownedAttribute>
+          </packagedElement>
+        </packagedElement>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Profile" xmi:id="_WgatoDgVEd-68Z_bhNRGsA" name="RTComponentModel" URI="http://CHESS/Predictability/RTComponentModel" metaclassReference="_KH7CgDi7Ed-BkomQ9Pp_0A _d-TA0Dg0EeCE2sZUGxu35w _QvznAEAbEeCQKOeIf0epIQ _6dTt4NqwEeCgKdScvhOcyQ">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_p90hgDgVEd-68Z_bhNRGsA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+          <contents xmi:type="ecore:EPackage" xmi:id="_COpr0FbyEeCnrfzYY69gqg" name="RTComponentModel" nsURI="http://CHESS/Predictability/RTComponentModel" nsPrefix="RTComponentModel">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CZiGIFbyEeCnrfzYY69gqg" source="PapyrusVersion">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_CZiGIVbyEeCnrfzYY69gqg" key="Version" value="0.1.17"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_CZiGIlbyEeCnrfzYY69gqg" key="Comment" value="Removed duplicate attribute &quot;relativePriority&quot; in stereotype CHRtSpecification"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_CZiGI1byEeCnrfzYY69gqg" key="Copyright" value=""/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_CZiGJFbyEeCnrfzYY69gqg" key="Date" value="2011-03-25"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_CZiGJVbyEeCnrfzYY69gqg" key="Author" value="Stefano"/>
+            </eAnnotations>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_COpr0VbyEeCnrfzYY69gqg" name="CHRtSpecification">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_COpr0lbyEeCnrfzYY69gqg" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_Y4GZwDcwEd-mWLzcI61s7Q"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_COpr01byEeCnrfzYY69gqg" name="partWithPort" ordered="false" unique="false">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_COpr41byEeCnrfzYY69gqg" name="slot" ordered="false">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Slot"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_COpr5VbyEeCnrfzYY69gqg" name="base_Comment" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Comment"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_COpr6VbyEeCnrfzYY69gqg" name="protection" ordered="false">
+                <eType xmi:type="ecore:EEnum" href="http://www.eclipse.org/papyrus/MARTE/1#//HLAM/CallConcurrencyKind"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_COpr7VbyEeCnrfzYY69gqg" name="context" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_CPGXwFbyEeCnrfzYY69gqg" name="WCET" ordered="false" eType="_CPGXwlbyEeCnrfzYY69gqg"/>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_CPsNoFbyEeCnrfzYY69gqg" name="localWCET" ordered="false" eType="_CPGXwlbyEeCnrfzYY69gqg"/>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_CQllgFbyEeCnrfzYY69gqg" name="relativePriority" ordered="false" eType="_CQllglbyEeCnrfzYY69gqg"/>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_CRCRcFbyEeCnrfzYY69gqg" name="ceiling" ordered="false" eType="_CQllglbyEeCnrfzYY69gqg"/>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_CRx4UFbyEeCnrfzYY69gqg" name="memorySizeFootprint" ordered="false" eType="_CRx4UlbyEeCnrfzYY69gqg"/>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_CSOkQFbyEeCnrfzYY69gqg" name="stackSize" ordered="false" eType="_CRx4UlbyEeCnrfzYY69gqg"/>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_CS-LIFbyEeCnrfzYY69gqg" name="heapSize" ordered="false" eType="_CRx4UlbyEeCnrfzYY69gqg"/>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_CUKd8FbyEeCnrfzYY69gqg" name="occKind" ordered="false" eType="_CUKd8lbyEeCnrfzYY69gqg"/>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_CUw64FbyEeCnrfzYY69gqg" name="rlDl" ordered="false" eType="_CPGXwlbyEeCnrfzYY69gqg"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_COpsT1byEeCnrfzYY69gqg" name="MARTE_Library_MARTE_DataTypes_VSL_Expression" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_COpsUFbyEeCnrfzYY69gqg" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_bManMBEBEdyx6M3BlUjlCQ"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_COpsUVbyEeCnrfzYY69gqg" name="MARTE_Library_BasicNFP_Types_SourceKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_COpsUlbyEeCnrfzYY69gqg" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_oMZzEBD-EdyybZnLxHsjyA"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_COpsU1byEeCnrfzYY69gqg" name="est"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_COpsVFbyEeCnrfzYY69gqg" name="meas" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_COpsVVbyEeCnrfzYY69gqg" name="calc" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_COpsVlbyEeCnrfzYY69gqg" name="req" value="3"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_COpsV1byEeCnrfzYY69gqg" name="MARTE_Library_BasicNFP_Types_StatisticalQualifierKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_COpsWFbyEeCnrfzYY69gqg" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_0N52EBD-EdyybZnLxHsjyA"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_COpsWVbyEeCnrfzYY69gqg" name="max"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_COpsWlbyEeCnrfzYY69gqg" name="min" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_COpsW1byEeCnrfzYY69gqg" name="mean" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_COpsXFbyEeCnrfzYY69gqg" name="range" value="3"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_COpsXVbyEeCnrfzYY69gqg" name="percent" value="4"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_COpsXlbyEeCnrfzYY69gqg" name="distrib" value="5"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_COpsX1byEeCnrfzYY69gqg" name="determ" value="6"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_COpsYFbyEeCnrfzYY69gqg" name="other" value="7"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_COpsYVbyEeCnrfzYY69gqg" name="variance" value="8"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_COpsYlbyEeCnrfzYY69gqg" name="MARTE_Library_BasicNFP_Types_DirectionKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_COpsY1byEeCnrfzYY69gqg" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_vvfxEBD-EdyybZnLxHsjyA"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_COpsZFbyEeCnrfzYY69gqg" name="incr"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_COpsZVbyEeCnrfzYY69gqg" name="decr" value="1"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_COpsZlbyEeCnrfzYY69gqg" name="MARTE_Library_MARTE_PrimitivesTypes_Real" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_COpsZ1byEeCnrfzYY69gqg" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_beo90AnpEdy9WM11hWri2g"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_COpsaFbyEeCnrfzYY69gqg" name="MARTE_Library_MARTE_PrimitivesTypes_Integer" instanceClassName="int">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_COpsaVbyEeCnrfzYY69gqg" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_HJ1zcAnfEdy9WM11hWri2g"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_COpsalbyEeCnrfzYY69gqg" name="MARTE_Library_MeasurementUnits_TimeUnitKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_COpsa1byEeCnrfzYY69gqg" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_Iaa3gA4yEdysTsAUPnp57Q"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_COpsbFbyEeCnrfzYY69gqg" name="s"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_COpsbVbyEeCnrfzYY69gqg" name="tick" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_COpsblbyEeCnrfzYY69gqg" name="ms" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_COpsb1byEeCnrfzYY69gqg" name="us" value="3"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_COpscFbyEeCnrfzYY69gqg" name="min" value="4"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_COpscVbyEeCnrfzYY69gqg" name="hrs" value="5"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_COpsclbyEeCnrfzYY69gqg" name="day" value="6"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_COpsc1byEeCnrfzYY69gqg" name="MARTE_Library_MARTE_PrimitivesTypes_String" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_COpsdFbyEeCnrfzYY69gqg" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_qZ3GUAnxEdy9WM11hWri2g"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_COpsgVbyEeCnrfzYY69gqg" name="MARTE_Library_MeasurementUnits_DataSizeUnitKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_COpsglbyEeCnrfzYY69gqg" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_2pVmEA4yEdysTsAUPnp57Q"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_COpsg1byEeCnrfzYY69gqg" name="bit"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_COpshFbyEeCnrfzYY69gqg" name="Byte" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_COpshVbyEeCnrfzYY69gqg" name="KB" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_COpshlbyEeCnrfzYY69gqg" name="MB" value="3"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_COpsh1byEeCnrfzYY69gqg" name="GB" value="4"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_COps2FbyEeCnrfzYY69gqg" name="MARTE_Library_MeasurementUnits_FrequencyUnitKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_COps2VbyEeCnrfzYY69gqg" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_qFaygA4yEdysTsAUPnp57Q"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_COps2lbyEeCnrfzYY69gqg" name="Hz"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_COps21byEeCnrfzYY69gqg" name="KHz" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_COps3FbyEeCnrfzYY69gqg" name="MHz" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_COps3VbyEeCnrfzYY69gqg" name="GHz" value="3"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_COps3lbyEeCnrfzYY69gqg" name="rpm" value="4"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_COps31byEeCnrfzYY69gqg" name="CHRtPortSlot">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_COps4FbyEeCnrfzYY69gqg" source="http://www.eclipse.org/uml2/2.0.0/UML" references="__uhSsDg3EeCE2sZUGxu35w"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_COps4VbyEeCnrfzYY69gqg" name="base_Slot" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Slot"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_COps41byEeCnrfzYY69gqg" name="cH_RtSpecification" ordered="false" upperBound="-1" eType="_COpr0VbyEeCnrfzYY69gqg"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_CPGXwlbyEeCnrfzYY69gqg" name="NFP_Duration" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CPGXw1byEeCnrfzYY69gqg" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_kMwX8BFREdyUJeMeN__D-A"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_CQllglbyEeCnrfzYY69gqg" name="NFP_Integer" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CQllg1byEeCnrfzYY69gqg" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_0KWSgBFQEdyUJeMeN__D-A"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_CRx4UlbyEeCnrfzYY69gqg" name="NFP_DataSize" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CRx4U1byEeCnrfzYY69gqg" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_5LrMcBFSEdyUJeMeN__D-A"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_CUKd8lbyEeCnrfzYY69gqg" name="ArrivalPattern" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CUKd81byEeCnrfzYY69gqg" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_VDec8BFXEdyUJeMeN__D-A"/>
+              </eAnnotations>
+            </eClassifiers>
+          </contents>
+          <contents xmi:type="ecore:EPackage" xmi:id="_3O6B0EApEeCgBsnPy5jVRQ" name="RTComponentModel" nsURI="http://CHESS.Predictability/schemas/RTComponentModel/_3OwQ0EApEeCgBsnPy5jVRQ/24" nsPrefix="RTComponentModel">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_3X_sYEApEeCgBsnPy5jVRQ" source="PapyrusVersion">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_3X_sYUApEeCgBsnPy5jVRQ" key="Version" value="0.1.16"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_3X_sYkApEeCgBsnPy5jVRQ" key="Comment" value=""/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_3X_sY0ApEeCgBsnPy5jVRQ" key="Copyright" value=""/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_3X_sZEApEeCgBsnPy5jVRQ" key="Date" value="2011-02-24"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_3X_sZUApEeCgBsnPy5jVRQ" key="Author" value=""/>
+            </eAnnotations>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_3O6B0UApEeCgBsnPy5jVRQ" name="CHRtSpecification">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_3O6B0kApEeCgBsnPy5jVRQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_Y4GZwDcwEd-mWLzcI61s7Q"/>
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_3O6B00ApEeCgBsnPy5jVRQ" source="duplicates"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_3O6B10ApEeCgBsnPy5jVRQ" name="partWithPort" ordered="false" unique="false">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_3O6B50ApEeCgBsnPy5jVRQ" name="slot" ordered="false">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Slot"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_3O6B6UApEeCgBsnPy5jVRQ" name="base_Comment" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Comment"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_3O6B7UApEeCgBsnPy5jVRQ" name="protection" ordered="false">
+                <eType xmi:type="ecore:EEnum" href="http://www.eclipse.org/papyrus/MARTE/1#//HLAM/CallConcurrencyKind"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_3O6B8UApEeCgBsnPy5jVRQ" name="context" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_3PWtwEApEeCgBsnPy5jVRQ" name="WCET" ordered="false" eType="_3PWtwkApEeCgBsnPy5jVRQ"/>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_3PzZsEApEeCgBsnPy5jVRQ" name="localWCET" ordered="false" eType="_3PWtwkApEeCgBsnPy5jVRQ"/>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_3QZPkEApEeCgBsnPy5jVRQ" name="relativePriority" ordered="false" eType="_3QZPkkApEeCgBsnPy5jVRQ"/>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_3Q17gEApEeCgBsnPy5jVRQ" name="ceiling" ordered="false" eType="_3QZPkkApEeCgBsnPy5jVRQ"/>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_3RcYcEApEeCgBsnPy5jVRQ" name="memorySizeFootprint" ordered="false" eType="_3RcYckApEeCgBsnPy5jVRQ"/>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_3SCOUEApEeCgBsnPy5jVRQ" name="stackSize" ordered="false" eType="_3RcYckApEeCgBsnPy5jVRQ"/>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_3Se6QEApEeCgBsnPy5jVRQ" name="heapSize" ordered="false" eType="_3RcYckApEeCgBsnPy5jVRQ"/>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_3TrNEEApEeCgBsnPy5jVRQ" name="occKind" ordered="false" eType="_3TrNEkApEeCgBsnPy5jVRQ"/>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_3UH5AEApEeCgBsnPy5jVRQ" name="rlDl" ordered="false" eType="_3PWtwkApEeCgBsnPy5jVRQ"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_3O6CU0ApEeCgBsnPy5jVRQ" name="MARTE_Library_MARTE_DataTypes_VSL_Expression" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_3O6CVEApEeCgBsnPy5jVRQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_bManMBEBEdyx6M3BlUjlCQ"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_3O6CVUApEeCgBsnPy5jVRQ" name="MARTE_Library_BasicNFP_Types_SourceKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_3O6CVkApEeCgBsnPy5jVRQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_oMZzEBD-EdyybZnLxHsjyA"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_3O6CV0ApEeCgBsnPy5jVRQ" name="est"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_3O6CWEApEeCgBsnPy5jVRQ" name="meas" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_3O6CWUApEeCgBsnPy5jVRQ" name="calc" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_3O6CWkApEeCgBsnPy5jVRQ" name="req" value="3"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_3O6CW0ApEeCgBsnPy5jVRQ" name="MARTE_Library_BasicNFP_Types_StatisticalQualifierKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_3O6CXEApEeCgBsnPy5jVRQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_0N52EBD-EdyybZnLxHsjyA"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_3O6CXUApEeCgBsnPy5jVRQ" name="max"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_3O6CXkApEeCgBsnPy5jVRQ" name="min" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_3O6CX0ApEeCgBsnPy5jVRQ" name="mean" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_3O6CYEApEeCgBsnPy5jVRQ" name="range" value="3"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_3O6CYUApEeCgBsnPy5jVRQ" name="percent" value="4"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_3O6CYkApEeCgBsnPy5jVRQ" name="distrib" value="5"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_3O6CY0ApEeCgBsnPy5jVRQ" name="determ" value="6"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_3O6CZEApEeCgBsnPy5jVRQ" name="other" value="7"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_3O6CZUApEeCgBsnPy5jVRQ" name="variance" value="8"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_3O6CZkApEeCgBsnPy5jVRQ" name="MARTE_Library_BasicNFP_Types_DirectionKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_3O6CZ0ApEeCgBsnPy5jVRQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_vvfxEBD-EdyybZnLxHsjyA"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_3O6CaEApEeCgBsnPy5jVRQ" name="incr"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_3O6CaUApEeCgBsnPy5jVRQ" name="decr" value="1"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_3O6CakApEeCgBsnPy5jVRQ" name="MARTE_Library_MARTE_PrimitivesTypes_Real" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_3O6Ca0ApEeCgBsnPy5jVRQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_beo90AnpEdy9WM11hWri2g"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_3O6CbEApEeCgBsnPy5jVRQ" name="MARTE_Library_MARTE_PrimitivesTypes_Integer" instanceClassName="int">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_3O6CbUApEeCgBsnPy5jVRQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_HJ1zcAnfEdy9WM11hWri2g"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_3O6CbkApEeCgBsnPy5jVRQ" name="MARTE_Library_MeasurementUnits_TimeUnitKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_3O6Cb0ApEeCgBsnPy5jVRQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_Iaa3gA4yEdysTsAUPnp57Q"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_3O6CcEApEeCgBsnPy5jVRQ" name="s"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_3O6CcUApEeCgBsnPy5jVRQ" name="tick" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_3O6CckApEeCgBsnPy5jVRQ" name="ms" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_3O6Cc0ApEeCgBsnPy5jVRQ" name="us" value="3"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_3O6CdEApEeCgBsnPy5jVRQ" name="min" value="4"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_3O6CdUApEeCgBsnPy5jVRQ" name="hrs" value="5"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_3O6CdkApEeCgBsnPy5jVRQ" name="day" value="6"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_3O6Cd0ApEeCgBsnPy5jVRQ" name="MARTE_Library_MARTE_PrimitivesTypes_String" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_3O6CeEApEeCgBsnPy5jVRQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_qZ3GUAnxEdy9WM11hWri2g"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_3O6ChUApEeCgBsnPy5jVRQ" name="MARTE_Library_MeasurementUnits_DataSizeUnitKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_3O6ChkApEeCgBsnPy5jVRQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_2pVmEA4yEdysTsAUPnp57Q"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_3O6Ch0ApEeCgBsnPy5jVRQ" name="bit"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_3O6CiEApEeCgBsnPy5jVRQ" name="Byte" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_3O6CiUApEeCgBsnPy5jVRQ" name="KB" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_3O6CikApEeCgBsnPy5jVRQ" name="MB" value="3"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_3O6Ci0ApEeCgBsnPy5jVRQ" name="GB" value="4"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_3O6C3EApEeCgBsnPy5jVRQ" name="MARTE_Library_MeasurementUnits_FrequencyUnitKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_3O6C3UApEeCgBsnPy5jVRQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_qFaygA4yEdysTsAUPnp57Q"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_3O6C3kApEeCgBsnPy5jVRQ" name="Hz"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_3O6C30ApEeCgBsnPy5jVRQ" name="KHz" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_3O6C4EApEeCgBsnPy5jVRQ" name="MHz" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_3O6C4UApEeCgBsnPy5jVRQ" name="GHz" value="3"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_3O6C4kApEeCgBsnPy5jVRQ" name="rpm" value="4"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_3O6C40ApEeCgBsnPy5jVRQ" name="CHRtPortSlot">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_3O6C5EApEeCgBsnPy5jVRQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="__uhSsDg3EeCE2sZUGxu35w"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_3O6C5UApEeCgBsnPy5jVRQ" name="base_Slot" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Slot"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_3O6C50ApEeCgBsnPy5jVRQ" name="cH_RtSpecification" ordered="false" upperBound="-1" eType="_3O6B0UApEeCgBsnPy5jVRQ"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_3PWtwkApEeCgBsnPy5jVRQ" name="NFP_Duration" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_3PWtw0ApEeCgBsnPy5jVRQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_kMwX8BFREdyUJeMeN__D-A"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_3QZPkkApEeCgBsnPy5jVRQ" name="NFP_Integer" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_3QZPk0ApEeCgBsnPy5jVRQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_0KWSgBFQEdyUJeMeN__D-A"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_3RcYckApEeCgBsnPy5jVRQ" name="NFP_DataSize" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_3RcYc0ApEeCgBsnPy5jVRQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_5LrMcBFSEdyUJeMeN__D-A"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_3TrNEkApEeCgBsnPy5jVRQ" name="ArrivalPattern" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_3TrNE0ApEeCgBsnPy5jVRQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_VDec8BFXEdyUJeMeN__D-A"/>
+              </eAnnotations>
+            </eClassifiers>
+          </contents>
+          <contents xmi:type="ecore:EPackage" xmi:id="_0wp2sEApEeCgBsnPy5jVRQ" name="RTComponentModel" nsURI="http://CHESS.Predictability/schemas/RTComponentModel/_0wgFsEApEeCgBsnPy5jVRQ/23" nsPrefix="RTComponentModel">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_05vhQEApEeCgBsnPy5jVRQ" source="PapyrusVersion">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_05vhQUApEeCgBsnPy5jVRQ" key="Version" value="0.1.15"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_05vhQkApEeCgBsnPy5jVRQ" key="Comment" value="updated CHRtSpecification with new PIM attributes"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_05vhQ0ApEeCgBsnPy5jVRQ" key="Copyright" value=""/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_05vhREApEeCgBsnPy5jVRQ" key="Date" value="2011-02-24"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_05vhRUApEeCgBsnPy5jVRQ" key="Author" value=""/>
+            </eAnnotations>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_0wp2sUApEeCgBsnPy5jVRQ" name="CHRtSpecification">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0wp2skApEeCgBsnPy5jVRQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_Y4GZwDcwEd-mWLzcI61s7Q"/>
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0wp2s0ApEeCgBsnPy5jVRQ" source="duplicates"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_0wp2t0ApEeCgBsnPy5jVRQ" name="partWithPort" ordered="false" unique="false">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_0wp2x0ApEeCgBsnPy5jVRQ" name="slot" ordered="false">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Slot"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_0wp2yUApEeCgBsnPy5jVRQ" name="base_Comment" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Comment"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_0wp2zUApEeCgBsnPy5jVRQ" name="protection" ordered="false">
+                <eType xmi:type="ecore:EEnum" href="http://www.eclipse.org/papyrus/MARTE/1#//HLAM/CallConcurrencyKind"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_0wp20UApEeCgBsnPy5jVRQ" name="context" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_0xGioEApEeCgBsnPy5jVRQ" name="WCET" ordered="false" eType="_0xGiokApEeCgBsnPy5jVRQ"/>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_0xjOkEApEeCgBsnPy5jVRQ" name="localWCET" ordered="false" eType="_0xGiokApEeCgBsnPy5jVRQ"/>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_0yJEcEApEeCgBsnPy5jVRQ" name="relativePriority" ordered="false" eType="_0yJEckApEeCgBsnPy5jVRQ"/>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_0ylwYEApEeCgBsnPy5jVRQ" name="ceiling" ordered="false" eType="_0yJEckApEeCgBsnPy5jVRQ"/>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_0zMNUEApEeCgBsnPy5jVRQ" name="memorySizeFootprint" ordered="false" eType="_0zMNUkApEeCgBsnPy5jVRQ"/>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_0zoSMEApEeCgBsnPy5jVRQ" name="stackSize" ordered="false" eType="_0zMNUkApEeCgBsnPy5jVRQ"/>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_00OvIEApEeCgBsnPy5jVRQ" name="heapSize" ordered="false" eType="_0zMNUkApEeCgBsnPy5jVRQ"/>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_01RQ8EApEeCgBsnPy5jVRQ" name="occKind" ordered="false" eType="_01RQ8kApEeCgBsnPy5jVRQ"/>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_01t84EApEeCgBsnPy5jVRQ" name="rlDl" ordered="false" eType="_0xGiokApEeCgBsnPy5jVRQ"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_0wp3M0ApEeCgBsnPy5jVRQ" name="MARTE_Library_MARTE_DataTypes_VSL_Expression" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0wp3NEApEeCgBsnPy5jVRQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_bManMBEBEdyx6M3BlUjlCQ"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_0wp3NUApEeCgBsnPy5jVRQ" name="MARTE_Library_BasicNFP_Types_SourceKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0wp3NkApEeCgBsnPy5jVRQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_oMZzEBD-EdyybZnLxHsjyA"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_0wp3N0ApEeCgBsnPy5jVRQ" name="est"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_0wp3OEApEeCgBsnPy5jVRQ" name="meas" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_0wp3OUApEeCgBsnPy5jVRQ" name="calc" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_0wp3OkApEeCgBsnPy5jVRQ" name="req" value="3"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_0wp3O0ApEeCgBsnPy5jVRQ" name="MARTE_Library_BasicNFP_Types_StatisticalQualifierKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0wp3PEApEeCgBsnPy5jVRQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_0N52EBD-EdyybZnLxHsjyA"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_0wp3PUApEeCgBsnPy5jVRQ" name="max"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_0wp3PkApEeCgBsnPy5jVRQ" name="min" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_0wp3P0ApEeCgBsnPy5jVRQ" name="mean" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_0wp3QEApEeCgBsnPy5jVRQ" name="range" value="3"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_0wp3QUApEeCgBsnPy5jVRQ" name="percent" value="4"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_0wp3QkApEeCgBsnPy5jVRQ" name="distrib" value="5"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_0wp3Q0ApEeCgBsnPy5jVRQ" name="determ" value="6"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_0wp3REApEeCgBsnPy5jVRQ" name="other" value="7"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_0wp3RUApEeCgBsnPy5jVRQ" name="variance" value="8"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_0wp3RkApEeCgBsnPy5jVRQ" name="MARTE_Library_BasicNFP_Types_DirectionKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0wp3R0ApEeCgBsnPy5jVRQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_vvfxEBD-EdyybZnLxHsjyA"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_0wp3SEApEeCgBsnPy5jVRQ" name="incr"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_0wp3SUApEeCgBsnPy5jVRQ" name="decr" value="1"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_0wp3SkApEeCgBsnPy5jVRQ" name="MARTE_Library_MARTE_PrimitivesTypes_Real" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0wp3S0ApEeCgBsnPy5jVRQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_beo90AnpEdy9WM11hWri2g"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_0wp3TEApEeCgBsnPy5jVRQ" name="MARTE_Library_MARTE_PrimitivesTypes_Integer" instanceClassName="int">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0wp3TUApEeCgBsnPy5jVRQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_HJ1zcAnfEdy9WM11hWri2g"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_0wp3TkApEeCgBsnPy5jVRQ" name="MARTE_Library_MeasurementUnits_TimeUnitKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0wp3T0ApEeCgBsnPy5jVRQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_Iaa3gA4yEdysTsAUPnp57Q"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_0wp3UEApEeCgBsnPy5jVRQ" name="s"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_0wp3UUApEeCgBsnPy5jVRQ" name="tick" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_0wp3UkApEeCgBsnPy5jVRQ" name="ms" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_0wp3U0ApEeCgBsnPy5jVRQ" name="us" value="3"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_0wp3VEApEeCgBsnPy5jVRQ" name="min" value="4"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_0wp3VUApEeCgBsnPy5jVRQ" name="hrs" value="5"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_0wp3VkApEeCgBsnPy5jVRQ" name="day" value="6"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_0wp3V0ApEeCgBsnPy5jVRQ" name="MARTE_Library_MARTE_PrimitivesTypes_String" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0wp3WEApEeCgBsnPy5jVRQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_qZ3GUAnxEdy9WM11hWri2g"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_0wp3ZUApEeCgBsnPy5jVRQ" name="MARTE_Library_MeasurementUnits_DataSizeUnitKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0wp3ZkApEeCgBsnPy5jVRQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_2pVmEA4yEdysTsAUPnp57Q"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_0wp3Z0ApEeCgBsnPy5jVRQ" name="bit"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_0wp3aEApEeCgBsnPy5jVRQ" name="Byte" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_0wp3aUApEeCgBsnPy5jVRQ" name="KB" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_0wp3akApEeCgBsnPy5jVRQ" name="MB" value="3"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_0wp3a0ApEeCgBsnPy5jVRQ" name="GB" value="4"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_0wp3vEApEeCgBsnPy5jVRQ" name="MARTE_Library_MeasurementUnits_FrequencyUnitKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0wp3vUApEeCgBsnPy5jVRQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_qFaygA4yEdysTsAUPnp57Q"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_0wp3vkApEeCgBsnPy5jVRQ" name="Hz"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_0wp3v0ApEeCgBsnPy5jVRQ" name="KHz" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_0wp3wEApEeCgBsnPy5jVRQ" name="MHz" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_0wp3wUApEeCgBsnPy5jVRQ" name="GHz" value="3"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_0wp3wkApEeCgBsnPy5jVRQ" name="rpm" value="4"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_0wp3w0ApEeCgBsnPy5jVRQ" name="CHRtPortSlot">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0wp3xEApEeCgBsnPy5jVRQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="__uhSsDg3EeCE2sZUGxu35w"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_0wp3xUApEeCgBsnPy5jVRQ" name="base_Slot" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Slot"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_0wp3x0ApEeCgBsnPy5jVRQ" name="cH_RtSpecification" ordered="false" upperBound="-1" eType="_0wp2sUApEeCgBsnPy5jVRQ"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_0xGiokApEeCgBsnPy5jVRQ" name="NFP_Duration" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0xGio0ApEeCgBsnPy5jVRQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_kMwX8BFREdyUJeMeN__D-A"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_0yJEckApEeCgBsnPy5jVRQ" name="NFP_Integer" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0yJEc0ApEeCgBsnPy5jVRQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_0KWSgBFQEdyUJeMeN__D-A"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_0zMNUkApEeCgBsnPy5jVRQ" name="NFP_DataSize" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0zMNU0ApEeCgBsnPy5jVRQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_5LrMcBFSEdyUJeMeN__D-A"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_01RQ8kApEeCgBsnPy5jVRQ" name="ArrivalPattern" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_01RQ80ApEeCgBsnPy5jVRQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_VDec8BFXEdyUJeMeN__D-A"/>
+              </eAnnotations>
+            </eClassifiers>
+          </contents>
+          <contents xmi:type="ecore:EPackage" xmi:id="_WLInQUAbEeCQKOeIf0epIQ" name="RTComponentModel" nsURI="http://CHESS.Predictability/schemas/RTComponentModel/_WLInQEAbEeCQKOeIf0epIQ/22" nsPrefix="RTComponentModel">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_WSSYIEAbEeCQKOeIf0epIQ" source="PapyrusVersion">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_WSSYIUAbEeCQKOeIf0epIQ" key="Version" value="0.1.14"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_WSSYIkAbEeCQKOeIf0epIQ" key="Comment" value="removed generalization from CHRtSpecifation due to MARTE bug in RtSpecification implementation"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_WSSYI0AbEeCQKOeIf0epIQ" key="Copyright" value=""/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_WSSYJEAbEeCQKOeIf0epIQ" key="Date" value="2011-02-24"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_WSSYJUAbEeCQKOeIf0epIQ" key="Author" value=""/>
+            </eAnnotations>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_WLInQkAbEeCQKOeIf0epIQ" name="CHRtSpecification">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_WLInQ0AbEeCQKOeIf0epIQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_Y4GZwDcwEd-mWLzcI61s7Q"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_WLInREAbEeCQKOeIf0epIQ" name="partWithPort" ordered="false" unique="false">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_WLInVEAbEeCQKOeIf0epIQ" name="slot" ordered="false">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Slot"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_WLInVkAbEeCQKOeIf0epIQ" name="base_Comment" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Comment"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_WLlTMEAbEeCQKOeIf0epIQ" name="WCET" ordered="false" lowerBound="1" eType="_WLlTMkAbEeCQKOeIf0epIQ"/>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_WMB_IEAbEeCQKOeIf0epIQ" name="localWCET" ordered="false" eType="_WLlTMkAbEeCQKOeIf0epIQ"/>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_WMn1AEAbEeCQKOeIf0epIQ" name="relativePriority" ordered="false" eType="_WMn1AkAbEeCQKOeIf0epIQ"/>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_WNEg8EAbEeCQKOeIf0epIQ" name="ceiling" ordered="false" eType="_WMn1AkAbEeCQKOeIf0epIQ"/>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_WNq94EAbEeCQKOeIf0epIQ" name="memorySizeFootprint" ordered="false" eType="_WNq94kAbEeCQKOeIf0epIQ"/>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_WOHp0EAbEeCQKOeIf0epIQ" name="stackSize" ordered="false" eType="_WNq94kAbEeCQKOeIf0epIQ"/>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_WOtfsEAbEeCQKOeIf0epIQ" name="heapSize" ordered="false" eType="_WNq94kAbEeCQKOeIf0epIQ"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_WLInuEAbEeCQKOeIf0epIQ" name="MARTE_Library_MARTE_DataTypes_VSL_Expression" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_WLInuUAbEeCQKOeIf0epIQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_bManMBEBEdyx6M3BlUjlCQ"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_WLInukAbEeCQKOeIf0epIQ" name="MARTE_Library_BasicNFP_Types_SourceKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_WLInu0AbEeCQKOeIf0epIQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_oMZzEBD-EdyybZnLxHsjyA"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_WLInvEAbEeCQKOeIf0epIQ" name="est"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_WLInvUAbEeCQKOeIf0epIQ" name="meas" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_WLInvkAbEeCQKOeIf0epIQ" name="calc" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_WLInv0AbEeCQKOeIf0epIQ" name="req" value="3"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_WLInwEAbEeCQKOeIf0epIQ" name="MARTE_Library_BasicNFP_Types_StatisticalQualifierKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_WLInwUAbEeCQKOeIf0epIQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_0N52EBD-EdyybZnLxHsjyA"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_WLInwkAbEeCQKOeIf0epIQ" name="max"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_WLInw0AbEeCQKOeIf0epIQ" name="min" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_WLInxEAbEeCQKOeIf0epIQ" name="mean" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_WLInxUAbEeCQKOeIf0epIQ" name="range" value="3"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_WLInxkAbEeCQKOeIf0epIQ" name="percent" value="4"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_WLInx0AbEeCQKOeIf0epIQ" name="distrib" value="5"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_WLInyEAbEeCQKOeIf0epIQ" name="determ" value="6"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_WLInyUAbEeCQKOeIf0epIQ" name="other" value="7"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_WLInykAbEeCQKOeIf0epIQ" name="variance" value="8"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_WLIny0AbEeCQKOeIf0epIQ" name="MARTE_Library_BasicNFP_Types_DirectionKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_WLInzEAbEeCQKOeIf0epIQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_vvfxEBD-EdyybZnLxHsjyA"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_WLInzUAbEeCQKOeIf0epIQ" name="incr"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_WLInzkAbEeCQKOeIf0epIQ" name="decr" value="1"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_WLInz0AbEeCQKOeIf0epIQ" name="MARTE_Library_MARTE_PrimitivesTypes_Real" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_WLIn0EAbEeCQKOeIf0epIQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_beo90AnpEdy9WM11hWri2g"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_WLIn0UAbEeCQKOeIf0epIQ" name="MARTE_Library_MARTE_PrimitivesTypes_Integer" instanceClassName="int">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_WLIn0kAbEeCQKOeIf0epIQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_HJ1zcAnfEdy9WM11hWri2g"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_WLIn00AbEeCQKOeIf0epIQ" name="MARTE_Library_MeasurementUnits_TimeUnitKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_WLIn1EAbEeCQKOeIf0epIQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_Iaa3gA4yEdysTsAUPnp57Q"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_WLIn1UAbEeCQKOeIf0epIQ" name="s"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_WLIn1kAbEeCQKOeIf0epIQ" name="tick" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_WLIn10AbEeCQKOeIf0epIQ" name="ms" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_WLIn2EAbEeCQKOeIf0epIQ" name="us" value="3"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_WLIn2UAbEeCQKOeIf0epIQ" name="min" value="4"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_WLIn2kAbEeCQKOeIf0epIQ" name="hrs" value="5"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_WLIn20AbEeCQKOeIf0epIQ" name="day" value="6"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_WLIn3EAbEeCQKOeIf0epIQ" name="MARTE_Library_MARTE_PrimitivesTypes_String" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_WLIn3UAbEeCQKOeIf0epIQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_qZ3GUAnxEdy9WM11hWri2g"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_WLIn6kAbEeCQKOeIf0epIQ" name="MARTE_Library_MeasurementUnits_DataSizeUnitKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_WLIn60AbEeCQKOeIf0epIQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_2pVmEA4yEdysTsAUPnp57Q"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_WLIn7EAbEeCQKOeIf0epIQ" name="bit"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_WLIn7UAbEeCQKOeIf0epIQ" name="Byte" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_WLIn7kAbEeCQKOeIf0epIQ" name="KB" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_WLIn70AbEeCQKOeIf0epIQ" name="MB" value="3"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_WLIn8EAbEeCQKOeIf0epIQ" name="GB" value="4"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_WLIn8UAbEeCQKOeIf0epIQ" name="CHRtPortSlot">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_WLIn8kAbEeCQKOeIf0epIQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="__uhSsDg3EeCE2sZUGxu35w"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_WLIn80AbEeCQKOeIf0epIQ" name="base_Slot" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Slot"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_WLIn9UAbEeCQKOeIf0epIQ" name="cH_RtSpecification" ordered="false" upperBound="-1" eType="_WLInQkAbEeCQKOeIf0epIQ"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_WLlTMkAbEeCQKOeIf0epIQ" name="NFP_Duration" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_WLlTM0AbEeCQKOeIf0epIQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_kMwX8BFREdyUJeMeN__D-A"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_WMn1AkAbEeCQKOeIf0epIQ" name="NFP_Integer" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_WMn1A0AbEeCQKOeIf0epIQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_0KWSgBFQEdyUJeMeN__D-A"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_WNq94kAbEeCQKOeIf0epIQ" name="NFP_DataSize" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_WNq940AbEeCQKOeIf0epIQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_5LrMcBFSEdyUJeMeN__D-A"/>
+              </eAnnotations>
+            </eClassifiers>
+          </contents>
+          <contents xmi:type="ecore:EPackage" xmi:id="_4g1jkEAEEeCQKOeIf0epIQ" name="RTComponentModel" nsURI="http://CHESS.Predictability/schemas/RTComponentModel/_4giBkEAEEeCQKOeIf0epIQ/21" nsPrefix="RTComponentModel">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4n1jcEAEEeCQKOeIf0epIQ" source="PapyrusVersion">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4n1jcUAEEeCQKOeIf0epIQ" key="Version" value="0.1.13"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4n1jckAEEeCQKOeIf0epIQ" key="Comment" value=""/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4n1jc0AEEeCQKOeIf0epIQ" key="Copyright" value=""/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4n1jdEAEEeCQKOeIf0epIQ" key="Date" value="2011-02-24"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4n1jdUAEEeCQKOeIf0epIQ" key="Author" value=""/>
+            </eAnnotations>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_4g1jkUAEEeCQKOeIf0epIQ" name="CHRtSpecification">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4g1jkkAEEeCQKOeIf0epIQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_Y4GZwDcwEd-mWLzcI61s7Q"/>
+              <eSuperTypes xmi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/MARTE/1#//HLAM/RtSpecification"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_4g1jk0AEEeCQKOeIf0epIQ" name="partWithPort" ordered="false" unique="false">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_4g1jo0AEEeCQKOeIf0epIQ" name="slot" ordered="false">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Slot"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_4hbZcEAEEeCQKOeIf0epIQ" name="WCET" ordered="false" lowerBound="1" eType="_4hbZckAEEeCQKOeIf0epIQ"/>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_4h4FYEAEEeCQKOeIf0epIQ" name="localWCET" ordered="false" eType="_4hbZckAEEeCQKOeIf0epIQ"/>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_4insQEAEEeCQKOeIf0epIQ" name="relativePriority" ordered="false" eType="_4insQkAEEeCQKOeIf0epIQ"/>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_4jEYMEAEEeCQKOeIf0epIQ" name="ceiling" ordered="false" eType="_4insQkAEEeCQKOeIf0epIQ"/>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_4jqOEEAEEeCQKOeIf0epIQ" name="memorySizeFootprint" ordered="false" eType="_4jqOEkAEEeCQKOeIf0epIQ"/>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_4kG6AEAEEeCQKOeIf0epIQ" name="stackSize" ordered="false" eType="_4jqOEkAEEeCQKOeIf0epIQ"/>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_4ktW8EAEEeCQKOeIf0epIQ" name="heapSize" ordered="false" eType="_4jqOEkAEEeCQKOeIf0epIQ"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_4g1kBkAEEeCQKOeIf0epIQ" name="MARTE_Library_MARTE_DataTypes_VSL_Expression" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4g1kB0AEEeCQKOeIf0epIQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_bManMBEBEdyx6M3BlUjlCQ"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_4g1kCEAEEeCQKOeIf0epIQ" name="MARTE_Library_BasicNFP_Types_SourceKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4g1kCUAEEeCQKOeIf0epIQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_oMZzEBD-EdyybZnLxHsjyA"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_4g1kCkAEEeCQKOeIf0epIQ" name="est"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_4g1kC0AEEeCQKOeIf0epIQ" name="meas" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_4g1kDEAEEeCQKOeIf0epIQ" name="calc" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_4g1kDUAEEeCQKOeIf0epIQ" name="req" value="3"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_4g1kDkAEEeCQKOeIf0epIQ" name="MARTE_Library_BasicNFP_Types_StatisticalQualifierKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4g1kD0AEEeCQKOeIf0epIQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_0N52EBD-EdyybZnLxHsjyA"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_4g1kEEAEEeCQKOeIf0epIQ" name="max"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_4g1kEUAEEeCQKOeIf0epIQ" name="min" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_4g1kEkAEEeCQKOeIf0epIQ" name="mean" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_4g1kE0AEEeCQKOeIf0epIQ" name="range" value="3"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_4g1kFEAEEeCQKOeIf0epIQ" name="percent" value="4"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_4g1kFUAEEeCQKOeIf0epIQ" name="distrib" value="5"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_4g1kFkAEEeCQKOeIf0epIQ" name="determ" value="6"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_4g1kF0AEEeCQKOeIf0epIQ" name="other" value="7"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_4g1kGEAEEeCQKOeIf0epIQ" name="variance" value="8"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_4g1kGUAEEeCQKOeIf0epIQ" name="MARTE_Library_BasicNFP_Types_DirectionKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4g1kGkAEEeCQKOeIf0epIQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_vvfxEBD-EdyybZnLxHsjyA"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_4g1kG0AEEeCQKOeIf0epIQ" name="incr"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_4g1kHEAEEeCQKOeIf0epIQ" name="decr" value="1"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_4g1kHUAEEeCQKOeIf0epIQ" name="MARTE_Library_MARTE_PrimitivesTypes_Real" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4g1kHkAEEeCQKOeIf0epIQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_beo90AnpEdy9WM11hWri2g"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_4g1kH0AEEeCQKOeIf0epIQ" name="MARTE_Library_MARTE_PrimitivesTypes_Integer" instanceClassName="int">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4g1kIEAEEeCQKOeIf0epIQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_HJ1zcAnfEdy9WM11hWri2g"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_4g1kIUAEEeCQKOeIf0epIQ" name="MARTE_Library_MeasurementUnits_TimeUnitKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4g1kIkAEEeCQKOeIf0epIQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_Iaa3gA4yEdysTsAUPnp57Q"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_4g1kI0AEEeCQKOeIf0epIQ" name="s"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_4g1kJEAEEeCQKOeIf0epIQ" name="tick" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_4g1kJUAEEeCQKOeIf0epIQ" name="ms" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_4g1kJkAEEeCQKOeIf0epIQ" name="us" value="3"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_4g1kJ0AEEeCQKOeIf0epIQ" name="min" value="4"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_4g1kKEAEEeCQKOeIf0epIQ" name="hrs" value="5"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_4g1kKUAEEeCQKOeIf0epIQ" name="day" value="6"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_4g1kKkAEEeCQKOeIf0epIQ" name="MARTE_Library_MARTE_PrimitivesTypes_String" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4g1kK0AEEeCQKOeIf0epIQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_qZ3GUAnxEdy9WM11hWri2g"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_4g1kOEAEEeCQKOeIf0epIQ" name="MARTE_Library_MeasurementUnits_DataSizeUnitKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4g1kOUAEEeCQKOeIf0epIQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_2pVmEA4yEdysTsAUPnp57Q"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_4g1kOkAEEeCQKOeIf0epIQ" name="bit"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_4g1kO0AEEeCQKOeIf0epIQ" name="Byte" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_4g1kPEAEEeCQKOeIf0epIQ" name="KB" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_4g1kPUAEEeCQKOeIf0epIQ" name="MB" value="3"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_4g1kPkAEEeCQKOeIf0epIQ" name="GB" value="4"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_4g1kP0AEEeCQKOeIf0epIQ" name="CHRtPortSlot">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4g1kQEAEEeCQKOeIf0epIQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="__uhSsDg3EeCE2sZUGxu35w"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_4g1kQUAEEeCQKOeIf0epIQ" name="base_Slot" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Slot"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_4g1kQ0AEEeCQKOeIf0epIQ" name="cH_RtSpecification" ordered="false" upperBound="-1" eType="_4g1jkUAEEeCQKOeIf0epIQ"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_4hbZckAEEeCQKOeIf0epIQ" name="NFP_Duration" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4hbZc0AEEeCQKOeIf0epIQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_kMwX8BFREdyUJeMeN__D-A"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_4insQkAEEeCQKOeIf0epIQ" name="NFP_Integer" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4insQ0AEEeCQKOeIf0epIQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_0KWSgBFQEdyUJeMeN__D-A"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_4jqOEkAEEeCQKOeIf0epIQ" name="NFP_DataSize" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4jqOE0AEEeCQKOeIf0epIQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_5LrMcBFSEdyUJeMeN__D-A"/>
+              </eAnnotations>
+            </eClassifiers>
+          </contents>
+          <contents xmi:type="ecore:EPackage" xmi:id="_5RCccDg4EeCE2sZUGxu35w" name="RTComponentModel" nsURI="http://CHESS.Predictability/schemas/RTComponentModel/_5Q4rcDg4EeCE2sZUGxu35w/20" nsPrefix="RTComponentModel">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_5WGioDg4EeCE2sZUGxu35w" source="PapyrusVersion">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_5WGioTg4EeCE2sZUGxu35w" key="Version" value="0.1.12"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_5WGiojg4EeCE2sZUGxu35w" key="Comment" value="Temporary patch: removed extension from CHRtSpecification to RtSpecification due to a bug in MARTE."/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_5WGiozg4EeCE2sZUGxu35w" key="Copyright" value=""/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_5WGipDg4EeCE2sZUGxu35w" key="Date" value="2011-02-14"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_5WGipTg4EeCE2sZUGxu35w" key="Author" value=""/>
+            </eAnnotations>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_5RCccTg4EeCE2sZUGxu35w" name="CHRtSpecification">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_5RCccjg4EeCE2sZUGxu35w" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_Y4GZwDcwEd-mWLzcI61s7Q"/>
+              <eSuperTypes xmi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/MARTE/1#//HLAM/RtSpecification"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_5RCcczg4EeCE2sZUGxu35w" name="partWithPort" ordered="false" unique="false">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_5RCcgzg4EeCE2sZUGxu35w" name="slot" ordered="false">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Slot"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_5RehUDg4EeCE2sZUGxu35w" name="WCET" ordered="false" lowerBound="1" eType="_5RehUjg4EeCE2sZUGxu35w"/>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_5RyDUDg4EeCE2sZUGxu35w" name="localWCET" ordered="false" eType="_5RehUjg4EeCE2sZUGxu35w"/>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_5SE-QDg4EeCE2sZUGxu35w" name="relativePriority" ordered="false" eType="_5SE-Qjg4EeCE2sZUGxu35w"/>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_5SX5MDg4EeCE2sZUGxu35w" name="ceiling" ordered="false" eType="_5SE-Qjg4EeCE2sZUGxu35w"/>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_5S0lIDg4EeCE2sZUGxu35w" name="memorySizeFootprint" ordered="false" eType="_5S0lIjg4EeCE2sZUGxu35w"/>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_5THgEDg4EeCE2sZUGxu35w" name="stackSize" ordered="false" eType="_5S0lIjg4EeCE2sZUGxu35w"/>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_5T3G8Dg4EeCE2sZUGxu35w" name="heapSize" ordered="false" eType="_5S0lIjg4EeCE2sZUGxu35w"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_5RCc5jg4EeCE2sZUGxu35w" name="MARTE_Library_MARTE_DataTypes_VSL_Expression" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_5RCc5zg4EeCE2sZUGxu35w" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_bManMBEBEdyx6M3BlUjlCQ"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_5RCc6Dg4EeCE2sZUGxu35w" name="MARTE_Library_BasicNFP_Types_SourceKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_5RCc6Tg4EeCE2sZUGxu35w" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_oMZzEBD-EdyybZnLxHsjyA"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_5RCc6jg4EeCE2sZUGxu35w" name="est"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_5RCc6zg4EeCE2sZUGxu35w" name="meas" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_5RCc7Dg4EeCE2sZUGxu35w" name="calc" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_5RCc7Tg4EeCE2sZUGxu35w" name="req" value="3"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_5RCc7jg4EeCE2sZUGxu35w" name="MARTE_Library_BasicNFP_Types_StatisticalQualifierKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_5RCc7zg4EeCE2sZUGxu35w" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_0N52EBD-EdyybZnLxHsjyA"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_5RCc8Dg4EeCE2sZUGxu35w" name="max"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_5RCc8Tg4EeCE2sZUGxu35w" name="min" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_5RCc8jg4EeCE2sZUGxu35w" name="mean" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_5RCc8zg4EeCE2sZUGxu35w" name="range" value="3"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_5RCc9Dg4EeCE2sZUGxu35w" name="percent" value="4"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_5RCc9Tg4EeCE2sZUGxu35w" name="distrib" value="5"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_5RCc9jg4EeCE2sZUGxu35w" name="determ" value="6"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_5RCc9zg4EeCE2sZUGxu35w" name="other" value="7"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_5RCc-Dg4EeCE2sZUGxu35w" name="variance" value="8"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_5RCc-Tg4EeCE2sZUGxu35w" name="MARTE_Library_BasicNFP_Types_DirectionKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_5RCc-jg4EeCE2sZUGxu35w" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_vvfxEBD-EdyybZnLxHsjyA"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_5RCc-zg4EeCE2sZUGxu35w" name="incr"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_5RCc_Dg4EeCE2sZUGxu35w" name="decr" value="1"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_5RCc_Tg4EeCE2sZUGxu35w" name="MARTE_Library_MARTE_PrimitivesTypes_Real" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_5RCc_jg4EeCE2sZUGxu35w" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_beo90AnpEdy9WM11hWri2g"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_5RCc_zg4EeCE2sZUGxu35w" name="MARTE_Library_MARTE_PrimitivesTypes_Integer" instanceClassName="int">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_5RCdADg4EeCE2sZUGxu35w" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_HJ1zcAnfEdy9WM11hWri2g"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_5RCdATg4EeCE2sZUGxu35w" name="MARTE_Library_MeasurementUnits_TimeUnitKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_5RCdAjg4EeCE2sZUGxu35w" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_Iaa3gA4yEdysTsAUPnp57Q"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_5RCdAzg4EeCE2sZUGxu35w" name="s"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_5RCdBDg4EeCE2sZUGxu35w" name="tick" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_5RCdBTg4EeCE2sZUGxu35w" name="ms" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_5RCdBjg4EeCE2sZUGxu35w" name="us" value="3"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_5RCdBzg4EeCE2sZUGxu35w" name="min" value="4"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_5RCdCDg4EeCE2sZUGxu35w" name="hrs" value="5"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_5RCdCTg4EeCE2sZUGxu35w" name="day" value="6"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_5RCdCjg4EeCE2sZUGxu35w" name="MARTE_Library_MARTE_PrimitivesTypes_String" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_5RCdCzg4EeCE2sZUGxu35w" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_qZ3GUAnxEdy9WM11hWri2g"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_5RCdGDg4EeCE2sZUGxu35w" name="MARTE_Library_MeasurementUnits_DataSizeUnitKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_5RCdGTg4EeCE2sZUGxu35w" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_2pVmEA4yEdysTsAUPnp57Q"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_5RCdGjg4EeCE2sZUGxu35w" name="bit"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_5RCdGzg4EeCE2sZUGxu35w" name="Byte" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_5RCdHDg4EeCE2sZUGxu35w" name="KB" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_5RCdHTg4EeCE2sZUGxu35w" name="MB" value="3"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_5RCdHjg4EeCE2sZUGxu35w" name="GB" value="4"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_5RCdHzg4EeCE2sZUGxu35w" name="CHRtPortSlot">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_5RCdIDg4EeCE2sZUGxu35w" source="http://www.eclipse.org/uml2/2.0.0/UML" references="__uhSsDg3EeCE2sZUGxu35w"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_5RCdITg4EeCE2sZUGxu35w" name="base_Slot" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Slot"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_5RCdIzg4EeCE2sZUGxu35w" name="rtSpecification" ordered="false" upperBound="-1" eType="_5RCccTg4EeCE2sZUGxu35w"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_5RehUjg4EeCE2sZUGxu35w" name="NFP_Duration" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_5RehUzg4EeCE2sZUGxu35w" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_kMwX8BFREdyUJeMeN__D-A"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_5SE-Qjg4EeCE2sZUGxu35w" name="NFP_Integer" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_5SE-Qzg4EeCE2sZUGxu35w" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_0KWSgBFQEdyUJeMeN__D-A"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_5S0lIjg4EeCE2sZUGxu35w" name="NFP_DataSize" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_5S0lIzg4EeCE2sZUGxu35w" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_5LrMcBFSEdyUJeMeN__D-A"/>
+              </eAnnotations>
+            </eClassifiers>
+          </contents>
+          <contents xmi:type="ecore:EPackage" xmi:id="_meUkUTg4EeCE2sZUGxu35w" name="RTComponentModel" nsURI="http://CHESS.Predictability/schemas/RTComponentModel/_meUkUDg4EeCE2sZUGxu35w/19" nsPrefix="RTComponentModel">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_mjrlcDg4EeCE2sZUGxu35w" source="PapyrusVersion">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_mjrlcTg4EeCE2sZUGxu35w" key="Version" value="0.1.11"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_mjrlcjg4EeCE2sZUGxu35w" key="Comment" value="Renamed CHRtSpecification, removed concurrencyKind"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_mjrlczg4EeCE2sZUGxu35w" key="Copyright" value=""/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_mjrldDg4EeCE2sZUGxu35w" key="Date" value="2011-02-14"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_mjrldTg4EeCE2sZUGxu35w" key="Author" value=""/>
+            </eAnnotations>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_meUkUjg4EeCE2sZUGxu35w" name="CHRtSpecification">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_meUkUzg4EeCE2sZUGxu35w" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_Y4GZwDcwEd-mWLzcI61s7Q"/>
+              <eSuperTypes xmi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/MARTE/1#//HLAM/RtSpecification"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_meUkVDg4EeCE2sZUGxu35w" name="partWithPort" ordered="false" unique="false">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_meUkZDg4EeCE2sZUGxu35w" name="slot" ordered="false">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Slot"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_mfELMDg4EeCE2sZUGxu35w" name="WCET" ordered="false" lowerBound="1" eType="_mfELMjg4EeCE2sZUGxu35w"/>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_mfXGIDg4EeCE2sZUGxu35w" name="localWCET" ordered="false" eType="_mfELMjg4EeCE2sZUGxu35w"/>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_mfqBEDg4EeCE2sZUGxu35w" name="relativePriority" ordered="false" eType="_mfqBEjg4EeCE2sZUGxu35w"/>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_mgGtADg4EeCE2sZUGxu35w" name="ceiling" ordered="false" eType="_mfqBEjg4EeCE2sZUGxu35w"/>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_mgaPADg4EeCE2sZUGxu35w" name="memorySizeFootprint" ordered="false" eType="_mgaPAjg4EeCE2sZUGxu35w"/>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_mg2T4Dg4EeCE2sZUGxu35w" name="stackSize" ordered="false" eType="_mgaPAjg4EeCE2sZUGxu35w"/>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_mhJ14Dg4EeCE2sZUGxu35w" name="heapSize" ordered="false" eType="_mgaPAjg4EeCE2sZUGxu35w"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_meUkxzg4EeCE2sZUGxu35w" name="MARTE_Library_MARTE_DataTypes_VSL_Expression" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_meUkyDg4EeCE2sZUGxu35w" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_bManMBEBEdyx6M3BlUjlCQ"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_meUkyTg4EeCE2sZUGxu35w" name="MARTE_Library_BasicNFP_Types_SourceKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_meUkyjg4EeCE2sZUGxu35w" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_oMZzEBD-EdyybZnLxHsjyA"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_meUkyzg4EeCE2sZUGxu35w" name="est"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_meUkzDg4EeCE2sZUGxu35w" name="meas" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_meUkzTg4EeCE2sZUGxu35w" name="calc" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_meUkzjg4EeCE2sZUGxu35w" name="req" value="3"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_meUkzzg4EeCE2sZUGxu35w" name="MARTE_Library_BasicNFP_Types_StatisticalQualifierKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_meUk0Dg4EeCE2sZUGxu35w" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_0N52EBD-EdyybZnLxHsjyA"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_meUk0Tg4EeCE2sZUGxu35w" name="max"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_meUk0jg4EeCE2sZUGxu35w" name="min" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_meUk0zg4EeCE2sZUGxu35w" name="mean" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_meUk1Dg4EeCE2sZUGxu35w" name="range" value="3"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_meUk1Tg4EeCE2sZUGxu35w" name="percent" value="4"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_meUk1jg4EeCE2sZUGxu35w" name="distrib" value="5"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_meUk1zg4EeCE2sZUGxu35w" name="determ" value="6"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_meUk2Dg4EeCE2sZUGxu35w" name="other" value="7"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_meUk2Tg4EeCE2sZUGxu35w" name="variance" value="8"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_meUk2jg4EeCE2sZUGxu35w" name="MARTE_Library_BasicNFP_Types_DirectionKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_meUk2zg4EeCE2sZUGxu35w" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_vvfxEBD-EdyybZnLxHsjyA"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_meUk3Dg4EeCE2sZUGxu35w" name="incr"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_meUk3Tg4EeCE2sZUGxu35w" name="decr" value="1"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_meUk3jg4EeCE2sZUGxu35w" name="MARTE_Library_MARTE_PrimitivesTypes_Real" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_meUk3zg4EeCE2sZUGxu35w" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_beo90AnpEdy9WM11hWri2g"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_meUk4Dg4EeCE2sZUGxu35w" name="MARTE_Library_MARTE_PrimitivesTypes_Integer" instanceClassName="int">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_meUk4Tg4EeCE2sZUGxu35w" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_HJ1zcAnfEdy9WM11hWri2g"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_meUk4jg4EeCE2sZUGxu35w" name="MARTE_Library_MeasurementUnits_TimeUnitKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_meUk4zg4EeCE2sZUGxu35w" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_Iaa3gA4yEdysTsAUPnp57Q"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_meUk5Dg4EeCE2sZUGxu35w" name="s"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_meUk5Tg4EeCE2sZUGxu35w" name="tick" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_meUk5jg4EeCE2sZUGxu35w" name="ms" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_meUk5zg4EeCE2sZUGxu35w" name="us" value="3"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_meUk6Dg4EeCE2sZUGxu35w" name="min" value="4"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_meUk6Tg4EeCE2sZUGxu35w" name="hrs" value="5"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_meUk6jg4EeCE2sZUGxu35w" name="day" value="6"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_meUk6zg4EeCE2sZUGxu35w" name="MARTE_Library_MARTE_PrimitivesTypes_String" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_meUk7Dg4EeCE2sZUGxu35w" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_qZ3GUAnxEdy9WM11hWri2g"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_meUk-Tg4EeCE2sZUGxu35w" name="MARTE_Library_MeasurementUnits_DataSizeUnitKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_meUk-jg4EeCE2sZUGxu35w" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_2pVmEA4yEdysTsAUPnp57Q"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_meUk-zg4EeCE2sZUGxu35w" name="bit"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_meUk_Dg4EeCE2sZUGxu35w" name="Byte" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_meUk_Tg4EeCE2sZUGxu35w" name="KB" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_meUk_jg4EeCE2sZUGxu35w" name="MB" value="3"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_meUk_zg4EeCE2sZUGxu35w" name="GB" value="4"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_meUlADg4EeCE2sZUGxu35w" name="CHRtPortSlot">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_meUlATg4EeCE2sZUGxu35w" source="http://www.eclipse.org/uml2/2.0.0/UML" references="__uhSsDg3EeCE2sZUGxu35w"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_meUlAjg4EeCE2sZUGxu35w" name="base_Slot" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Slot"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_meUlBDg4EeCE2sZUGxu35w" name="cH_RtSpecification" ordered="false" upperBound="-1" eType="_meUkUjg4EeCE2sZUGxu35w"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_mfELMjg4EeCE2sZUGxu35w" name="NFP_Duration" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_mfELMzg4EeCE2sZUGxu35w" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_kMwX8BFREdyUJeMeN__D-A"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_mfqBEjg4EeCE2sZUGxu35w" name="NFP_Integer" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_mfqBEzg4EeCE2sZUGxu35w" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_0KWSgBFQEdyUJeMeN__D-A"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_mgaPAjg4EeCE2sZUGxu35w" name="NFP_DataSize" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_mgaPAzg4EeCE2sZUGxu35w" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_5LrMcBFSEdyUJeMeN__D-A"/>
+              </eAnnotations>
+            </eClassifiers>
+          </contents>
+          <contents xmi:type="ecore:EPackage" xmi:id="_G7lWUDg4EeCE2sZUGxu35w" name="RTComponentModel" nsURI="http://CHESS.Predictability/schemas/RTComponentModel/_G7blUDg4EeCE2sZUGxu35w/18" nsPrefix="RTComponentModel">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_HAWhkDg4EeCE2sZUGxu35w" source="PapyrusVersion">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_HAWhkTg4EeCE2sZUGxu35w" key="Version" value="0.1.10"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_HAWhkjg4EeCE2sZUGxu35w" key="Comment" value="AddedCHRtPortSlot"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_HAWhkzg4EeCE2sZUGxu35w" key="Copyright" value=""/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_HAWhlDg4EeCE2sZUGxu35w" key="Date" value="2011-02-14"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_HAWhlTg4EeCE2sZUGxu35w" key="Author" value=""/>
+            </eAnnotations>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_G7lWUTg4EeCE2sZUGxu35w" name="CH_RtSpecification">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_G7lWUjg4EeCE2sZUGxu35w" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_Y4GZwDcwEd-mWLzcI61s7Q"/>
+              <eSuperTypes xmi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/MARTE/1#//HLAM/RtSpecification"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_G7lWUzg4EeCE2sZUGxu35w" name="partWithPort" ordered="false" unique="false">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_G7lWXTg4EeCE2sZUGxu35w" name="concPolicy" ordered="false">
+                <eType xmi:type="ecore:EEnum" href="http://www.eclipse.org/papyrus/MARTE/1#//HLAM/CallConcurrencyKind"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_G7lWZTg4EeCE2sZUGxu35w" name="slot" ordered="false">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Slot"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_G8CCQDg4EeCE2sZUGxu35w" name="WCET" ordered="false" lowerBound="1" eType="_G8CCQjg4EeCE2sZUGxu35w"/>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_G8U9MDg4EeCE2sZUGxu35w" name="localWCET" ordered="false" eType="_G8CCQjg4EeCE2sZUGxu35w"/>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_G8xpIDg4EeCE2sZUGxu35w" name="relativePriority" ordered="false" eType="_G8xpIjg4EeCE2sZUGxu35w"/>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_G9EkEDg4EeCE2sZUGxu35w" name="ceiling" ordered="false" eType="_G8xpIjg4EeCE2sZUGxu35w"/>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_G9XfADg4EeCE2sZUGxu35w" name="memorySizeFootprint" ordered="false" eType="_G9XfAjg4EeCE2sZUGxu35w"/>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_G9rBADg4EeCE2sZUGxu35w" name="stackSize" ordered="false" eType="_G9XfAjg4EeCE2sZUGxu35w"/>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_G-HF4Dg4EeCE2sZUGxu35w" name="heapSize" ordered="false" eType="_G9XfAjg4EeCE2sZUGxu35w"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_G7lWyDg4EeCE2sZUGxu35w" name="MARTE_Library_MARTE_DataTypes_VSL_Expression" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_G7lWyTg4EeCE2sZUGxu35w" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_bManMBEBEdyx6M3BlUjlCQ"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_G7lWyjg4EeCE2sZUGxu35w" name="MARTE_Library_BasicNFP_Types_SourceKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_G7lWyzg4EeCE2sZUGxu35w" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_oMZzEBD-EdyybZnLxHsjyA"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_G7lWzDg4EeCE2sZUGxu35w" name="est"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_G7lWzTg4EeCE2sZUGxu35w" name="meas" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_G7lWzjg4EeCE2sZUGxu35w" name="calc" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_G7lWzzg4EeCE2sZUGxu35w" name="req" value="3"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_G7lW0Dg4EeCE2sZUGxu35w" name="MARTE_Library_BasicNFP_Types_StatisticalQualifierKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_G7lW0Tg4EeCE2sZUGxu35w" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_0N52EBD-EdyybZnLxHsjyA"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_G7lW0jg4EeCE2sZUGxu35w" name="max"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_G7lW0zg4EeCE2sZUGxu35w" name="min" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_G7lW1Dg4EeCE2sZUGxu35w" name="mean" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_G7lW1Tg4EeCE2sZUGxu35w" name="range" value="3"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_G7lW1jg4EeCE2sZUGxu35w" name="percent" value="4"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_G7lW1zg4EeCE2sZUGxu35w" name="distrib" value="5"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_G7lW2Dg4EeCE2sZUGxu35w" name="determ" value="6"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_G7lW2Tg4EeCE2sZUGxu35w" name="other" value="7"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_G7lW2jg4EeCE2sZUGxu35w" name="variance" value="8"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_G7lW2zg4EeCE2sZUGxu35w" name="MARTE_Library_BasicNFP_Types_DirectionKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_G7lW3Dg4EeCE2sZUGxu35w" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_vvfxEBD-EdyybZnLxHsjyA"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_G7lW3Tg4EeCE2sZUGxu35w" name="incr"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_G7lW3jg4EeCE2sZUGxu35w" name="decr" value="1"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_G7lW3zg4EeCE2sZUGxu35w" name="MARTE_Library_MARTE_PrimitivesTypes_Real" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_G7lW4Dg4EeCE2sZUGxu35w" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_beo90AnpEdy9WM11hWri2g"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_G7lW4Tg4EeCE2sZUGxu35w" name="MARTE_Library_MARTE_PrimitivesTypes_Integer" instanceClassName="int">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_G7lW4jg4EeCE2sZUGxu35w" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_HJ1zcAnfEdy9WM11hWri2g"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_G7lW4zg4EeCE2sZUGxu35w" name="MARTE_Library_MeasurementUnits_TimeUnitKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_G7lW5Dg4EeCE2sZUGxu35w" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_Iaa3gA4yEdysTsAUPnp57Q"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_G7lW5Tg4EeCE2sZUGxu35w" name="s"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_G7lW5jg4EeCE2sZUGxu35w" name="tick" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_G7lW5zg4EeCE2sZUGxu35w" name="ms" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_G7lW6Dg4EeCE2sZUGxu35w" name="us" value="3"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_G7lW6Tg4EeCE2sZUGxu35w" name="min" value="4"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_G7lW6jg4EeCE2sZUGxu35w" name="hrs" value="5"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_G7lW6zg4EeCE2sZUGxu35w" name="day" value="6"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_G7lW7Dg4EeCE2sZUGxu35w" name="MARTE_Library_MARTE_PrimitivesTypes_String" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_G7lW7Tg4EeCE2sZUGxu35w" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_qZ3GUAnxEdy9WM11hWri2g"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_G7lW-jg4EeCE2sZUGxu35w" name="MARTE_Library_MeasurementUnits_DataSizeUnitKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_G7lW-zg4EeCE2sZUGxu35w" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_2pVmEA4yEdysTsAUPnp57Q"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_G7lW_Dg4EeCE2sZUGxu35w" name="bit"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_G7lW_Tg4EeCE2sZUGxu35w" name="Byte" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_G7lW_jg4EeCE2sZUGxu35w" name="KB" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_G7lW_zg4EeCE2sZUGxu35w" name="MB" value="3"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_G7lXADg4EeCE2sZUGxu35w" name="GB" value="4"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_G7lXATg4EeCE2sZUGxu35w" name="CHRtPortSlot">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_G7lXAjg4EeCE2sZUGxu35w" source="http://www.eclipse.org/uml2/2.0.0/UML" references="__uhSsDg3EeCE2sZUGxu35w"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_G7lXAzg4EeCE2sZUGxu35w" name="base_Slot" ordered="false" lowerBound="1">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Slot"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_G7lXBTg4EeCE2sZUGxu35w" name="cH_RtSpecification" ordered="false" upperBound="-1" eType="_G7lWUTg4EeCE2sZUGxu35w"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_G8CCQjg4EeCE2sZUGxu35w" name="NFP_Duration" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_G8CCQzg4EeCE2sZUGxu35w" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_kMwX8BFREdyUJeMeN__D-A"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_G8xpIjg4EeCE2sZUGxu35w" name="NFP_Integer" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_G8xpIzg4EeCE2sZUGxu35w" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_0KWSgBFQEdyUJeMeN__D-A"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_G9XfAjg4EeCE2sZUGxu35w" name="NFP_DataSize" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_G9XfAzg4EeCE2sZUGxu35w" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_5LrMcBFSEdyUJeMeN__D-A"/>
+              </eAnnotations>
+            </eClassifiers>
+          </contents>
+          <contents xmi:type="ecore:EPackage" xmi:id="_xO8yIDg0EeCE2sZUGxu35w" name="RTComponentModel" nsURI="http://CHESS.Predictability/schemas/RTComponentModel/_xOzBIDg0EeCE2sZUGxu35w/17" nsPrefix="RTComponentModel">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_xTRRcTg0EeCE2sZUGxu35w" source="PapyrusVersion">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_xTRRcjg0EeCE2sZUGxu35w" key="Version" value="0.1.9"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_xTRRczg0EeCE2sZUGxu35w" key="Comment" value="Updated CH_RtSpecification"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_xTRRdDg0EeCE2sZUGxu35w" key="Copyright" value=""/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_xTRRdTg0EeCE2sZUGxu35w" key="Date" value="2011-02-14"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_xTRRdjg0EeCE2sZUGxu35w" key="Author" value=""/>
+            </eAnnotations>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_xO8yITg0EeCE2sZUGxu35w" name="CH_RtSpecification">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_xO8yIjg0EeCE2sZUGxu35w" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_Y4GZwDcwEd-mWLzcI61s7Q"/>
+              <eSuperTypes xmi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/MARTE/1#//HLAM/RtSpecification"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_xO8yIzg0EeCE2sZUGxu35w" name="partWithPort" ordered="false" unique="false">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_xO8yLTg0EeCE2sZUGxu35w" name="concPolicy" ordered="false">
+                <eType xmi:type="ecore:EEnum" href="http://www.eclipse.org/papyrus/MARTE/1#//HLAM/CallConcurrencyKind"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_xO8yNTg0EeCE2sZUGxu35w" name="slot" ordered="false">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Slot"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_xPPtEDg0EeCE2sZUGxu35w" name="WCET" ordered="false" lowerBound="1" eType="_xPPtEjg0EeCE2sZUGxu35w"/>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_xPioADg0EeCE2sZUGxu35w" name="localWCET" ordered="false" eType="_xPPtEjg0EeCE2sZUGxu35w"/>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_xP_T8Dg0EeCE2sZUGxu35w" name="relativePriority" ordered="false" eType="_xP_T8jg0EeCE2sZUGxu35w"/>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_xQSO4Dg0EeCE2sZUGxu35w" name="ceiling" ordered="false" eType="_xP_T8jg0EeCE2sZUGxu35w"/>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_xQu60Dg0EeCE2sZUGxu35w" name="memorySizeFootprint" ordered="false" eType="_xQu60jg0EeCE2sZUGxu35w"/>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_xRB1wDg0EeCE2sZUGxu35w" name="stackSize" ordered="false" eType="_xQu60jg0EeCE2sZUGxu35w"/>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_xRehsDg0EeCE2sZUGxu35w" name="heapSize" ordered="false" eType="_xQu60jg0EeCE2sZUGxu35w"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_xO8ymDg0EeCE2sZUGxu35w" name="MARTE_Library_MARTE_DataTypes_VSL_Expression" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_xO8ymTg0EeCE2sZUGxu35w" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_bManMBEBEdyx6M3BlUjlCQ"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_xO8ymjg0EeCE2sZUGxu35w" name="MARTE_Library_BasicNFP_Types_SourceKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_xO8ymzg0EeCE2sZUGxu35w" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_oMZzEBD-EdyybZnLxHsjyA"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_xO8ynDg0EeCE2sZUGxu35w" name="est"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_xO8ynTg0EeCE2sZUGxu35w" name="meas" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_xO8ynjg0EeCE2sZUGxu35w" name="calc" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_xO8ynzg0EeCE2sZUGxu35w" name="req" value="3"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_xO8yoDg0EeCE2sZUGxu35w" name="MARTE_Library_BasicNFP_Types_StatisticalQualifierKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_xO8yoTg0EeCE2sZUGxu35w" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_0N52EBD-EdyybZnLxHsjyA"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_xO8yojg0EeCE2sZUGxu35w" name="max"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_xO8yozg0EeCE2sZUGxu35w" name="min" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_xO8ypDg0EeCE2sZUGxu35w" name="mean" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_xO8ypTg0EeCE2sZUGxu35w" name="range" value="3"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_xO8ypjg0EeCE2sZUGxu35w" name="percent" value="4"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_xO8ypzg0EeCE2sZUGxu35w" name="distrib" value="5"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_xO8yqDg0EeCE2sZUGxu35w" name="determ" value="6"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_xO8yqTg0EeCE2sZUGxu35w" name="other" value="7"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_xO8yqjg0EeCE2sZUGxu35w" name="variance" value="8"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_xO8yqzg0EeCE2sZUGxu35w" name="MARTE_Library_BasicNFP_Types_DirectionKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_xO8yrDg0EeCE2sZUGxu35w" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_vvfxEBD-EdyybZnLxHsjyA"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_xO8yrTg0EeCE2sZUGxu35w" name="incr"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_xO8yrjg0EeCE2sZUGxu35w" name="decr" value="1"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_xO8yrzg0EeCE2sZUGxu35w" name="MARTE_Library_MARTE_PrimitivesTypes_Real" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_xO8ysDg0EeCE2sZUGxu35w" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_beo90AnpEdy9WM11hWri2g"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_xO8ysTg0EeCE2sZUGxu35w" name="MARTE_Library_MARTE_PrimitivesTypes_Integer" instanceClassName="int">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_xO8ysjg0EeCE2sZUGxu35w" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_HJ1zcAnfEdy9WM11hWri2g"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_xO8yszg0EeCE2sZUGxu35w" name="MARTE_Library_MeasurementUnits_TimeUnitKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_xO8ytDg0EeCE2sZUGxu35w" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_Iaa3gA4yEdysTsAUPnp57Q"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_xO8ytTg0EeCE2sZUGxu35w" name="s"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_xO8ytjg0EeCE2sZUGxu35w" name="tick" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_xO8ytzg0EeCE2sZUGxu35w" name="ms" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_xO8yuDg0EeCE2sZUGxu35w" name="us" value="3"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_xO8yuTg0EeCE2sZUGxu35w" name="min" value="4"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_xO8yujg0EeCE2sZUGxu35w" name="hrs" value="5"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_xO8yuzg0EeCE2sZUGxu35w" name="day" value="6"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_xO8yvDg0EeCE2sZUGxu35w" name="MARTE_Library_MARTE_PrimitivesTypes_String" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_xO8yvTg0EeCE2sZUGxu35w" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_qZ3GUAnxEdy9WM11hWri2g"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_xO8yyjg0EeCE2sZUGxu35w" name="MARTE_Library_MeasurementUnits_DataSizeUnitKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_xO8yyzg0EeCE2sZUGxu35w" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_2pVmEA4yEdysTsAUPnp57Q"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_xO8yzDg0EeCE2sZUGxu35w" name="bit"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_xO8yzTg0EeCE2sZUGxu35w" name="Byte" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_xO8yzjg0EeCE2sZUGxu35w" name="KB" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_xO8yzzg0EeCE2sZUGxu35w" name="MB" value="3"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_xO8y0Dg0EeCE2sZUGxu35w" name="GB" value="4"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_xPPtEjg0EeCE2sZUGxu35w" name="NFP_Duration" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_xPPtEzg0EeCE2sZUGxu35w" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_kMwX8BFREdyUJeMeN__D-A"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_xP_T8jg0EeCE2sZUGxu35w" name="NFP_Integer" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_xP_T8zg0EeCE2sZUGxu35w" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_0KWSgBFQEdyUJeMeN__D-A"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_xQu60jg0EeCE2sZUGxu35w" name="NFP_DataSize" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_xQu60zg0EeCE2sZUGxu35w" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_5LrMcBFSEdyUJeMeN__D-A"/>
+              </eAnnotations>
+            </eClassifiers>
+          </contents>
+          <contents xmi:type="ecore:EPackage" xmi:id="_UVZQ4Me6Ed-7etIj5eTw0Q" name="RTComponentModel" nsURI="http://CHESS.Predictability/schemas/RTComponentModel/_T3cwoMe6Ed-7etIj5eTw0Q/16" nsPrefix="RTComponentModel">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_a02noMe6Ed-7etIj5eTw0Q" source="PapyrusVersion">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_a02noce6Ed-7etIj5eTw0Q" key="Version" value="0.1.8"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_a02nose6Ed-7etIj5eTw0Q" key="Comment" value=""/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_a02no8e6Ed-7etIj5eTw0Q" key="Copyright" value=""/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_a02npMe6Ed-7etIj5eTw0Q" key="Date" value="2010-09-24"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_a02npce6Ed-7etIj5eTw0Q" key="Author" value=""/>
+            </eAnnotations>
+            <eClassifiers xmi:type="ecore:EClass" xmi:id="_UVZQ4ce6Ed-7etIj5eTw0Q" name="CH_RtSpecification">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_UVZQ4se6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_Y4GZwDcwEd-mWLzcI61s7Q"/>
+              <eSuperTypes xmi:type="ecore:EClass" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_1R2sA5i4Ed-m0Oaexd_lJA"/>
+              <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_UVZQ48e6Ed-7etIj5eTw0Q" name="partWithPort" ordered="false" unique="false">
+                <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
+              </eStructuralFeatures>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_UVZQ78e6Ed-7etIj5eTw0Q" name="concPolicy" ordered="false" eType="_UVZSb8e6Ed-7etIj5eTw0Q"/>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_aSb3EMe6Ed-7etIj5eTw0Q" name="WCET" ordered="false" lowerBound="1" eType="_aSb3Ese6Ed-7etIj5eTw0Q"/>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_aU9moMe6Ed-7etIj5eTw0Q" name="localWCET" ordered="false" eType="_aSb3Ese6Ed-7etIj5eTw0Q"/>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_aYFzIMe6Ed-7etIj5eTw0Q" name="relativePriority" ordered="false" eType="_aYFzIse6Ed-7etIj5eTw0Q"/>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_aaeYwMe6Ed-7etIj5eTw0Q" name="ceiling" ordered="false" eType="_aYFzIse6Ed-7etIj5eTw0Q"/>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_adnMUMe6Ed-7etIj5eTw0Q" name="memorySizeFootprint" ordered="false" eType="_adnMUse6Ed-7etIj5eTw0Q"/>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_agI74Me6Ed-7etIj5eTw0Q" name="stackSize" ordered="false" eType="_adnMUse6Ed-7etIj5eTw0Q"/>
+              <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_ajRIYMe6Ed-7etIj5eTw0Q" name="heapSize" ordered="false" eType="_adnMUse6Ed-7etIj5eTw0Q"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_UVZRKMe6Ed-7etIj5eTw0Q" name="MARTE_Library_MARTE_PrimitivesTypes_Boolean" instanceClassName="MARTE_Library_MARTE_PrimitivesTypes_Boolean">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_UVZRKce6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_Ddte8AnqEdy9WM11hWri2g"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_UVZRqce6Ed-7etIj5eTw0Q" name="MARTE_Library_MARTE_DataTypes_VSL_Expression" instanceClassName="MARTE_Library_MARTE_DataTypes_VSL_Expression">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_UVZRqse6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_bManMBEBEdyx6M3BlUjlCQ"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_UVZRq8e6Ed-7etIj5eTw0Q" name="MARTE_Library_BasicNFP_Types_SourceKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_UVZRrMe6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_oMZzEBD-EdyybZnLxHsjyA"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_UVZRrce6Ed-7etIj5eTw0Q" name="est"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_UVZRrse6Ed-7etIj5eTw0Q" name="meas" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_UVZRr8e6Ed-7etIj5eTw0Q" name="calc" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_UVZRsMe6Ed-7etIj5eTw0Q" name="req" value="3"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_UVZRsce6Ed-7etIj5eTw0Q" name="MARTE_Library_BasicNFP_Types_StatisticalQualifierKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_UVZRsse6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_0N52EBD-EdyybZnLxHsjyA"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_UVZRs8e6Ed-7etIj5eTw0Q" name="max"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_UVZRtMe6Ed-7etIj5eTw0Q" name="min" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_UVZRtce6Ed-7etIj5eTw0Q" name="mean" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_UVZRtse6Ed-7etIj5eTw0Q" name="range" value="3"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_UVZRt8e6Ed-7etIj5eTw0Q" name="percent" value="4"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_UVZRuMe6Ed-7etIj5eTw0Q" name="distrib" value="5"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_UVZRuce6Ed-7etIj5eTw0Q" name="determ" value="6"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_UVZRuse6Ed-7etIj5eTw0Q" name="other" value="7"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_UVZRu8e6Ed-7etIj5eTw0Q" name="variance" value="8"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_UVZRvMe6Ed-7etIj5eTw0Q" name="MARTE_Library_BasicNFP_Types_DirectionKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_UVZRvce6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_vvfxEBD-EdyybZnLxHsjyA"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_UVZRvse6Ed-7etIj5eTw0Q" name="incr"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_UVZRv8e6Ed-7etIj5eTw0Q" name="decr" value="1"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_UVZRwMe6Ed-7etIj5eTw0Q" name="MARTE_Library_MARTE_PrimitivesTypes_Real" instanceClassName="MARTE_Library_MARTE_PrimitivesTypes_Real">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_UVZRwce6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_beo90AnpEdy9WM11hWri2g"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_UVZRwse6Ed-7etIj5eTw0Q" name="MARTE_Library_MARTE_PrimitivesTypes_Integer" instanceClassName="MARTE_Library_MARTE_PrimitivesTypes_Integer">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_UVZRw8e6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_HJ1zcAnfEdy9WM11hWri2g"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_UVZRxMe6Ed-7etIj5eTw0Q" name="MARTE_Library_MeasurementUnits_TimeUnitKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_UVZRxce6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_Iaa3gA4yEdysTsAUPnp57Q"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_UVZRxse6Ed-7etIj5eTw0Q" name="s"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_UVZRx8e6Ed-7etIj5eTw0Q" name="tick" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_UVZRyMe6Ed-7etIj5eTw0Q" name="ms" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_UVZRyce6Ed-7etIj5eTw0Q" name="us" value="3"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_UVZRyse6Ed-7etIj5eTw0Q" name="min" value="4"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_UVZRy8e6Ed-7etIj5eTw0Q" name="hrs" value="5"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_UVZRzMe6Ed-7etIj5eTw0Q" name="day" value="6"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_UVZRzce6Ed-7etIj5eTw0Q" name="MARTE_Library_MARTE_PrimitivesTypes_String" instanceClassName="MARTE_Library_MARTE_PrimitivesTypes_String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_UVZRzse6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_qZ3GUAnxEdy9WM11hWri2g"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_UVZSCse6Ed-7etIj5eTw0Q" name="MARTE_Library_MeasurementUnits_FrequencyUnitKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_UVZSC8e6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_qFaygA4yEdysTsAUPnp57Q"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_UVZSDMe6Ed-7etIj5eTw0Q" name="Hz"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_UVZSDce6Ed-7etIj5eTw0Q" name="KHz" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_UVZSDse6Ed-7etIj5eTw0Q" name="MHz" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_UVZSD8e6Ed-7etIj5eTw0Q" name="GHz" value="3"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_UVZSEMe6Ed-7etIj5eTw0Q" name="rpm" value="4"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_UVZSK8e6Ed-7etIj5eTw0Q" name="MARTE_Library_TimeTypesLibrary_TimeStandardKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_UVZSLMe6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_MDyyoA-KEdyNj8xzjk-DoA"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_UVZSLce6Ed-7etIj5eTw0Q" name="TAI"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_UVZSLse6Ed-7etIj5eTw0Q" name="UT0" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_UVZSL8e6Ed-7etIj5eTw0Q" name="UT1" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_UVZSMMe6Ed-7etIj5eTw0Q" name="UTC" value="3"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_UVZSMce6Ed-7etIj5eTw0Q" name="Local" value="4"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_UVZSMse6Ed-7etIj5eTw0Q" name="TT" value="5"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_UVZSM8e6Ed-7etIj5eTw0Q" name="TBD" value="6"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_UVZSNMe6Ed-7etIj5eTw0Q" name="TCG" value="7"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_UVZSNce6Ed-7etIj5eTw0Q" name="TCB" value="8"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_UVZSNse6Ed-7etIj5eTw0Q" name="Sidereal" value="9"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_UVZSN8e6Ed-7etIj5eTw0Q" name="GPS" value="10"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_UVZSTse6Ed-7etIj5eTw0Q" name="MARTE_Library_TimeTypesLibrary_TimeNatureKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_UVZST8e6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_WAvb0A75EdyML4mHwjNDrw"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_UVZSUMe6Ed-7etIj5eTw0Q" name="discrete"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_UVZSUce6Ed-7etIj5eTw0Q" name="dense" value="1"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_UVZSXMe6Ed-7etIj5eTw0Q" name="MARTE_Library_TimeTypesLibrary_EventKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_UVZSXce6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_eMs4wA-KEdyNj8xzjk-DoA"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_UVZSXse6Ed-7etIj5eTw0Q" name="start"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_UVZSX8e6Ed-7etIj5eTw0Q" name="finish" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_UVZSYMe6Ed-7etIj5eTw0Q" name="send" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_UVZSYce6Ed-7etIj5eTw0Q" name="receive" value="3"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_UVZSYse6Ed-7etIj5eTw0Q" name="consume" value="4"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_UVZSaMe6Ed-7etIj5eTw0Q" name="MARTE_Library_MARTE_PrimitivesTypes_DateTime" instanceClassName="MARTE_Library_MARTE_PrimitivesTypes_DateTime">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_UVZSace6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:PrimitiveType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_sexkYAnxEdy9WM11hWri2g"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_UVZSb8e6Ed-7etIj5eTw0Q" name="MARTE_MARTE_DesignModel_HLAM_CallConcurrencyKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_UVZScMe6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_9CDJMBHjEdy7mJMaejUq5Q"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_UVZScce6Ed-7etIj5eTw0Q" name="sequential"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_UVZScse6Ed-7etIj5eTw0Q" name="guarded" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_UVZSc8e6Ed-7etIj5eTw0Q" name="concurrent" value="2"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EEnum" xmi:id="_UVZSe8e6Ed-7etIj5eTw0Q" name="MARTE_Library_MeasurementUnits_DataSizeUnitKind">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_UVZSfMe6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_2pVmEA4yEdysTsAUPnp57Q"/>
+              </eAnnotations>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_UVZSfce6Ed-7etIj5eTw0Q" name="bit"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_UVZSfse6Ed-7etIj5eTw0Q" name="Byte" value="1"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_UVZSf8e6Ed-7etIj5eTw0Q" name="KB" value="2"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_UVZSgMe6Ed-7etIj5eTw0Q" name="MB" value="3"/>
+              <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_UVZSgce6Ed-7etIj5eTw0Q" name="GB" value="4"/>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_aSb3Ese6Ed-7etIj5eTw0Q" name="NFP_Duration" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_aSb3E8e6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_kMwX8BFREdyUJeMeN__D-A"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_aYFzIse6Ed-7etIj5eTw0Q" name="NFP_Integer" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_aYFzI8e6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_0KWSgBFQEdyUJeMeN__D-A"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_adnMUse6Ed-7etIj5eTw0Q" name="NFP_DataSize" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_adnMU8e6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_5LrMcBFSEdyUJeMeN__D-A"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_amGZ8Me6Ed-7etIj5eTw0Q" name="UtilityType" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_amGZ8ce6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_4TENQBEBEdyx6M3BlUjlCQ"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_amGZ88e6Ed-7etIj5eTw0Q" name="ArrivalPattern" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_amGZ9Me6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_VDec8BFXEdyUJeMeN__D-A"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_am_x0ce6Ed-7etIj5eTw0Q" name="NFP_DateTime" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_am_x0se6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_NIDGMBFREdyUJeMeN__D-A"/>
+              </eAnnotations>
+            </eClassifiers>
+            <eClassifiers xmi:type="ecore:EDataType" xmi:id="_aoowkce6Ed-7etIj5eTw0Q" name="NFP_Percentage" instanceClassName="java.lang.String">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_aoowkse6Ed-7etIj5eTw0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+                <references xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_ZPC-IBFaEdyUJeMeN__D-A"/>
+              </eAnnotations>
+            </eClassifiers>
+          </contents>
+        </eAnnotations>
+        <elementImport xmi:type="uml:ElementImport" xmi:id="_WP3MMDcwEd-mWLzcI61s7Q" alias="RtSpecification">
+          <importedElement xmi:type="uml:Stereotype" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_AZ8eMEFeEd6UW4qJC-Vahw"/>
+        </elementImport>
+        <elementImport xmi:type="uml:ElementImport" xmi:id="_eScikDcwEd-mWLzcI61s7Q" alias="Property">
+          <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+        </elementImport>
+        <elementImport xmi:type="uml:ElementImport" xmi:id="_KH7CgDi7Ed-BkomQ9Pp_0A" alias="BehavioralFeature">
+          <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#BehavioralFeature"/>
+        </elementImport>
+        <elementImport xmi:type="uml:ElementImport" xmi:id="_d-TA0Dg0EeCE2sZUGxu35w" alias="Slot">
+          <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Slot"/>
+        </elementImport>
+        <elementImport xmi:type="uml:ElementImport" xmi:id="_QvznAEAbEeCQKOeIf0epIQ" alias="Comment">
+          <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Comment"/>
+        </elementImport>
+        <elementImport xmi:type="uml:ElementImport" xmi:id="_6dTt4NqwEeCgKdScvhOcyQ" alias="InstanceSpecification">
+          <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#InstanceSpecification"/>
+        </elementImport>
+        <packagedElement xmi:type="uml:Association" xmi:id="_gmfo0DcwEd-mWLzcI61s7Q" name="A_Stereotype_0_Property" memberEnd="_gnE3oDcwEd-mWLzcI61s7Q _gnGFwjcwEd-mWLzcI61s7Q">
+          <ownedEnd xmi:type="uml:Property" xmi:id="_gnGFwjcwEd-mWLzcI61s7Q" name="stereotype_0" type="_Y4GZwDcwEd-mWLzcI61s7Q" isUnique="false" association="_gmfo0DcwEd-mWLzcI61s7Q">
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gnHT4TcwEd-mWLzcI61s7Q"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gnHT4DcwEd-mWLzcI61s7Q" value="*"/>
+          </ownedEnd>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Stereotype" xmi:id="_Y4GZwDcwEd-mWLzcI61s7Q" name="CHRtSpecification">
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_gnE3oDcwEd-mWLzcI61s7Q" name="partWithPort" isUnique="false" association="_gmfo0DcwEd-mWLzcI61s7Q">
+            <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gnGFwDcwEd-mWLzcI61s7Q"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gnGFwTcwEd-mWLzcI61s7Q" value="1"/>
+          </ownedAttribute>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_krv04MASEd-Dn5_MBIs5Vw" name="WCET" visibility="public">
+            <type xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_kMwX8BFREdyUJeMeN__D-A"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_l7BrcMASEd-Dn5_MBIs5Vw" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_l7K1YMASEd-Dn5_MBIs5Vw" value="1"/>
+            <defaultValue xmi:type="uml:LiteralString" xmi:id="_l7K1YcASEd-Dn5_MBIs5Vw">
+              <value xsi:nil="true"/>
+            </defaultValue>
+          </ownedAttribute>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_7t0z8MATEd-Dn5_MBIs5Vw" name="localWCET" visibility="public">
+            <type xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_kMwX8BFREdyUJeMeN__D-A"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_9PR_oMATEd-Dn5_MBIs5Vw"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_9PbwoMATEd-Dn5_MBIs5Vw" value="1"/>
+            <defaultValue xmi:type="uml:LiteralString" xmi:id="_9PbwocATEd-Dn5_MBIs5Vw">
+              <value xsi:nil="true"/>
+            </defaultValue>
+          </ownedAttribute>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_GLIWsMDMEd-RT45s8cwWMg" name="relativePriority" visibility="public">
+            <type xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_0KWSgBFQEdyUJeMeN__D-A"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_JTtRMMDMEd-RT45s8cwWMg"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_JT3CMMDMEd-RT45s8cwWMg" value="1"/>
+            <defaultValue xmi:type="uml:LiteralString" xmi:id="_JT3CMcDMEd-RT45s8cwWMg">
+              <value xsi:nil="true"/>
+            </defaultValue>
+          </ownedAttribute>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_AzLIoMDOEd-RT45s8cwWMg" name="ceiling" visibility="public">
+            <type xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_0KWSgBFQEdyUJeMeN__D-A"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_C8RjIMDOEd-RT45s8cwWMg"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_C8atEMDOEd-RT45s8cwWMg" value="1"/>
+            <defaultValue xmi:type="uml:LiteralString" xmi:id="_C8atEcDOEd-RT45s8cwWMg">
+              <value xsi:nil="true"/>
+            </defaultValue>
+          </ownedAttribute>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_p-hwQMGKEd--atLXXafOiQ" name="memorySizeFootprint" visibility="public">
+            <type xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_5LrMcBFSEdyUJeMeN__D-A"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_zESa4MGKEd--atLXXafOiQ"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_zEcL4MGKEd--atLXXafOiQ" value="1"/>
+            <defaultValue xmi:type="uml:LiteralString" xmi:id="_zEcL4cGKEd--atLXXafOiQ">
+              <value xsi:nil="true"/>
+            </defaultValue>
+          </ownedAttribute>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_Fv3wQMGLEd--atLXXafOiQ" name="stackSize" visibility="public">
+            <type xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_5LrMcBFSEdyUJeMeN__D-A"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Hm8moMGLEd--atLXXafOiQ"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_HnFwkMGLEd--atLXXafOiQ" value="1"/>
+            <defaultValue xmi:type="uml:LiteralString" xmi:id="_HnFwkcGLEd--atLXXafOiQ">
+              <value xsi:nil="true"/>
+            </defaultValue>
+          </ownedAttribute>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_IjvmEMGLEd--atLXXafOiQ" name="heapSize" visibility="public">
+            <type xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_5LrMcBFSEdyUJeMeN__D-A"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_LB3OUMGLEd--atLXXafOiQ"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_LCAYQMGLEd--atLXXafOiQ" value="1"/>
+            <defaultValue xmi:type="uml:LiteralString" xmi:id="_LCKJQMGLEd--atLXXafOiQ">
+              <value xsi:nil="true"/>
+            </defaultValue>
+          </ownedAttribute>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_hMroYDg0EeCE2sZUGxu35w" name="slot" association="_hMroYzg0EeCE2sZUGxu35w">
+            <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Slot"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hMroYjg0EeCE2sZUGxu35w"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_hMroYTg0EeCE2sZUGxu35w" value="1"/>
+          </ownedAttribute>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_RtpIQEAbEeCQKOeIf0epIQ" name="base_Comment" association="_RtpIQUAbEeCQKOeIf0epIQ">
+            <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Comment"/>
+          </ownedAttribute>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_voeRYEAoEeCgBsnPy5jVRQ" name="occKind" visibility="public">
+            <type xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_VDec8BFXEdyUJeMeN__D-A"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_y0orYEAoEeCgBsnPy5jVRQ"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_y0x1UEAoEeCgBsnPy5jVRQ" value="1"/>
+            <defaultValue xmi:type="uml:LiteralString" xmi:id="_y07mUEAoEeCgBsnPy5jVRQ">
+              <value xsi:nil="true"/>
+            </defaultValue>
+          </ownedAttribute>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_GcHoUEApEeCgBsnPy5jVRQ" name="protection" visibility="public">
+            <type xmi:type="uml:Enumeration" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_9CDJMBHjEdy7mJMaejUq5Q"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Ib02QEApEeCgBsnPy5jVRQ"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Ib-nQEApEeCgBsnPy5jVRQ" value="1"/>
+            <defaultValue xmi:type="uml:LiteralString" xmi:id="_IcIYQEApEeCgBsnPy5jVRQ">
+              <value xsi:nil="true"/>
+            </defaultValue>
+          </ownedAttribute>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_XJT-YEApEeCgBsnPy5jVRQ" name="rlDl" visibility="public">
+            <type xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_kMwX8BFREdyUJeMeN__D-A"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_ZXBzIEApEeCgBsnPy5jVRQ"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_ZXLkIEApEeCgBsnPy5jVRQ" value="1"/>
+            <defaultValue xmi:type="uml:LiteralString" xmi:id="_ZXefEEApEeCgBsnPy5jVRQ">
+              <value xsi:nil="true"/>
+            </defaultValue>
+          </ownedAttribute>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_kNveAEApEeCgBsnPy5jVRQ" name="context" association="_kN5PAEApEeCgBsnPy5jVRQ">
+            <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#BehavioralFeature"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_kNveAkApEeCgBsnPy5jVRQ" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_kNveAUApEeCgBsnPy5jVRQ" value="1"/>
+          </ownedAttribute>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_4RoA0NqtEeCgKdScvhOcyQ" name="respT">
+            <type xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_kMwX8BFREdyUJeMeN__D-A"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_AtvRgNquEeCgKdScvhOcyQ"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_At4bcNquEeCgKdScvhOcyQ" value="*"/>
+          </ownedAttribute>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_jGsCMNqvEeCgKdScvhOcyQ" name="blockT">
+            <type xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_kMwX8BFREdyUJeMeN__D-A"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_ox1AENqvEeCgKdScvhOcyQ"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_ox-xENqvEeCgKdScvhOcyQ" value="*"/>
+          </ownedAttribute>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Package" xmi:id="_B55pwMAWEd-Dn5_MBIs5Vw" name="RTDataTypes">
+          <packagedElement xmi:type="uml:DataType" xmi:id="_FbW-UMAWEd-Dn5_MBIs5Vw" name="CH_SporadicPattern">
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_avJsEMAWEd-Dn5_MBIs5Vw" name="bufferSize" visibility="public">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_dASoQMAWEd-Dn5_MBIs5Vw" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_dASoQcAWEd-Dn5_MBIs5Vw" value="1"/>
+              <defaultValue xmi:type="uml:LiteralString" xmi:id="_dAcZQMAWEd-Dn5_MBIs5Vw">
+                <value xsi:nil="true"/>
+              </defaultValue>
+            </ownedAttribute>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_UhDd8MDNEd-RT45s8cwWMg" name="bufferCeilingPriority" visibility="public">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_WqczYMDNEd-RT45s8cwWMg"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_WqczYcDNEd-RT45s8cwWMg" value="1"/>
+              <defaultValue xmi:type="uml:LiteralString" xmi:id="_Wql9UMDNEd-RT45s8cwWMg">
+                <value xsi:nil="true"/>
+              </defaultValue>
+            </ownedAttribute>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_ZBFeIMDOEd-RT45s8cwWMg" name="TA_period" visibility="public">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_dkafYMDOEd-RT45s8cwWMg" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_dkafYcDOEd-RT45s8cwWMg" value="1"/>
+              <defaultValue xmi:type="uml:LiteralString" xmi:id="_dkkQYMDOEd-RT45s8cwWMg">
+                <value xsi:nil="true"/>
+              </defaultValue>
+            </ownedAttribute>
+          </packagedElement>
+          <packagedElement xmi:type="uml:DataType" xmi:id="_Q6EbEMDLEd-RT45s8cwWMg" name="CH_PeriodicPattern">
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_0Jv04MDLEd-RT45s8cwWMg" name="TA_minInterarrival" visibility="public">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_15D2YMDLEd-RT45s8cwWMg"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_15D2YcDLEd-RT45s8cwWMg" value="1"/>
+              <defaultValue xmi:type="uml:LiteralString" xmi:id="_15D2YsDLEd-RT45s8cwWMg">
+                <value xsi:nil="true"/>
+              </defaultValue>
+            </ownedAttribute>
+          </packagedElement>
+          <packagedElement xmi:type="uml:DataType" xmi:id="_3ypYwMDMEd-RT45s8cwWMg" name="CH_BurstPattern">
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_o3-A4MAWEd-Dn5_MBIs5Vw" name="bufferSize" visibility="public">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_qm_HcMAWEd-Dn5_MBIs5Vw" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_qnI4cMAWEd-Dn5_MBIs5Vw" value="1"/>
+              <defaultValue xmi:type="uml:LiteralString" xmi:id="_qnI4ccAWEd-Dn5_MBIs5Vw">
+                <value xsi:nil="true"/>
+              </defaultValue>
+            </ownedAttribute>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_B2_ykMDNEd-RT45s8cwWMg" name="bufferCeilingPriority" visibility="public">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Fa1swMDNEd-RT45s8cwWMg"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Fa1swcDNEd-RT45s8cwWMg" value="1"/>
+              <defaultValue xmi:type="uml:LiteralString" xmi:id="_Fa_dwMDNEd-RT45s8cwWMg">
+                <value xsi:nil="true"/>
+              </defaultValue>
+            </ownedAttribute>
+          </packagedElement>
+          <packagedElement xmi:type="uml:DataType" xmi:id="_sfc7UMDOEd-RT45s8cwWMg" name="TA_Pattern">
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_IJ5pIMDPEd-RT45s8cwWMg" name="offset" visibility="public">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Jnx8YMDPEd-RT45s8cwWMg" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Jnx8YcDPEd-RT45s8cwWMg" value="1"/>
+              <defaultValue xmi:type="uml:LiteralString" xmi:id="_Jn7tYMDPEd-RT45s8cwWMg">
+                <value xsi:nil="true"/>
+              </defaultValue>
+            </ownedAttribute>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_K9nt8MDPEd-RT45s8cwWMg" name="jitter" visibility="public">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Mh6LMMDPEd-RT45s8cwWMg" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Mh6LMcDPEd-RT45s8cwWMg" value="1"/>
+              <defaultValue xmi:type="uml:LiteralString" xmi:id="_MiDVIMDPEd-RT45s8cwWMg">
+                <value xsi:nil="true"/>
+              </defaultValue>
+            </ownedAttribute>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_NV6bAMDPEd-RT45s8cwWMg" name="minInterarrival" visibility="public">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_PdhAsMDPEd-RT45s8cwWMg" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_PdhAscDPEd-RT45s8cwWMg" value="1"/>
+              <defaultValue xmi:type="uml:LiteralString" xmi:id="_PdqxsMDPEd-RT45s8cwWMg">
+                <value xsi:nil="true"/>
+              </defaultValue>
+            </ownedAttribute>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_RjoYoMDPEd-RT45s8cwWMg" name="occurrence" visibility="public">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_TTsBAMDPEd-RT45s8cwWMg"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_TT1yAMDPEd-RT45s8cwWMg" value="*"/>
+              <defaultValue xmi:type="uml:LiteralString" xmi:id="_TT-78MDPEd-RT45s8cwWMg">
+                <value xsi:nil="true"/>
+              </defaultValue>
+            </ownedAttribute>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_WjkdYMDPEd-RT45s8cwWMg" name="period" visibility="public">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_YWKcYMDPEd-RT45s8cwWMg" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_YWTmUMDPEd-RT45s8cwWMg" value="1"/>
+              <defaultValue xmi:type="uml:LiteralString" xmi:id="_YWTmUcDPEd-RT45s8cwWMg">
+                <value xsi:nil="true"/>
+              </defaultValue>
+            </ownedAttribute>
+          </packagedElement>
+          <packagedElement xmi:type="uml:DataType" xmi:id="_PwkqIMDQEd-RT45s8cwWMg" name="TA_ArbitraryPattern">
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_UVY5IMDQEd-RT45s8cwWMg" name="offset" visibility="public">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_V51HYMDQEd-RT45s8cwWMg" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_V5-RUMDQEd-RT45s8cwWMg" value="1"/>
+              <defaultValue xmi:type="uml:LiteralString" xmi:id="_V6ICUMDQEd-RT45s8cwWMg">
+                <value xsi:nil="true"/>
+              </defaultValue>
+            </ownedAttribute>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_W97osMDQEd-RT45s8cwWMg" name="maxInterarrival" visibility="public">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_YjaYwMDQEd-RT45s8cwWMg" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_YjjisMDQEd-RT45s8cwWMg" value="1"/>
+              <defaultValue xmi:type="uml:LiteralString" xmi:id="_YjtTsMDQEd-RT45s8cwWMg">
+                <value xsi:nil="true"/>
+              </defaultValue>
+            </ownedAttribute>
+            <ownedAttribute xmi:type="uml:Property" xmi:id="_ZXaokMDQEd-RT45s8cwWMg" name="minInterarrival" visibility="public">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_bU4a0MDQEd-RT45s8cwWMg" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_bVCL0MDQEd-RT45s8cwWMg" value="1"/>
+              <defaultValue xmi:type="uml:LiteralString" xmi:id="_bVCL0cDQEd-RT45s8cwWMg">
+                <value xsi:nil="true"/>
+              </defaultValue>
+            </ownedAttribute>
+          </packagedElement>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Association" xmi:id="_hMroYzg0EeCE2sZUGxu35w" name="cH_RtSpecification_slot_0" memberEnd="_hMroZDg0EeCE2sZUGxu35w _hMroYDg0EeCE2sZUGxu35w">
+          <ownedEnd xmi:type="uml:Property" xmi:id="_hMroZDg0EeCE2sZUGxu35w" name="cH_RtSpecification" type="_Y4GZwDcwEd-mWLzcI61s7Q" association="_hMroYzg0EeCE2sZUGxu35w">
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hMroZjg0EeCE2sZUGxu35w" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_hMroZTg0EeCE2sZUGxu35w" value="1"/>
+          </ownedEnd>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Stereotype" xmi:id="__uhSsDg3EeCE2sZUGxu35w" name="CHRtPortSlot">
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_BXSAQDg4EeCE2sZUGxu35w" name="base_Slot" association="_BXSAQTg4EeCE2sZUGxu35w">
+            <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Slot"/>
+          </ownedAttribute>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_CNOJwDg4EeCE2sZUGxu35w" name="cH_RtSpecification" type="_Y4GZwDcwEd-mWLzcI61s7Q" association="_CNOJwzg4EeCE2sZUGxu35w">
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_CNOJwjg4EeCE2sZUGxu35w"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_CNOJwTg4EeCE2sZUGxu35w" value="*"/>
+          </ownedAttribute>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Extension" xmi:id="_BXSAQTg4EeCE2sZUGxu35w" name="E_CHRtPortSlot_Slot0" memberEnd="_BXSAQjg4EeCE2sZUGxu35w _BXSAQDg4EeCE2sZUGxu35w">
+          <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_BXSAQjg4EeCE2sZUGxu35w" name="extension_CHRtPortSlot" type="__uhSsDg3EeCE2sZUGxu35w" aggregation="composite" association="_BXSAQTg4EeCE2sZUGxu35w"/>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Association" xmi:id="_CNOJwzg4EeCE2sZUGxu35w" name="cHRtPortSlot_cH_RtSpecification_0" memberEnd="_CNOJxDg4EeCE2sZUGxu35w _CNOJwDg4EeCE2sZUGxu35w">
+          <ownedEnd xmi:type="uml:Property" xmi:id="_CNOJxDg4EeCE2sZUGxu35w" name="cHRtPortSlot" type="__uhSsDg3EeCE2sZUGxu35w" association="_CNOJwzg4EeCE2sZUGxu35w">
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_CNOJxjg4EeCE2sZUGxu35w" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_CNOJxTg4EeCE2sZUGxu35w" value="1"/>
+          </ownedEnd>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Extension" xmi:id="_RtpIQUAbEeCQKOeIf0epIQ" name="E_CHRtSpecification_Comment0" memberEnd="_RtpIQkAbEeCQKOeIf0epIQ _RtpIQEAbEeCQKOeIf0epIQ">
+          <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_RtpIQkAbEeCQKOeIf0epIQ" name="extension_CHRtSpecification" type="_Y4GZwDcwEd-mWLzcI61s7Q" aggregation="composite" association="_RtpIQUAbEeCQKOeIf0epIQ"/>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Association" xmi:id="_kN5PAEApEeCgBsnPy5jVRQ" name="cHRtSpecification_behavioralFeature_0" memberEnd="_kN5PAUApEeCgBsnPy5jVRQ _kNveAEApEeCgBsnPy5jVRQ">
+          <ownedEnd xmi:type="uml:Property" xmi:id="_kN5PAUApEeCgBsnPy5jVRQ" name="cHRtSpecification" type="_Y4GZwDcwEd-mWLzcI61s7Q" association="_kN5PAEApEeCgBsnPy5jVRQ">
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_kN5PA0ApEeCgBsnPy5jVRQ" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_kN5PAkApEeCgBsnPy5jVRQ" value="1"/>
+          </ownedEnd>
+        </packagedElement>
+      </packagedElement>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Profile" xmi:id="_MftccDQ2EeC0ueejuetpgA" name="ComponentModel" URI="http://CHESS/ComponentModel" metaclassReference="_akN5ADQ2EeC0ueejuetpgA">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_GzlGcTQ-EeC0ueejuetpgA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <contents xmi:type="ecore:EPackage" xmi:id="_xt9poDUkEeC3rNpnAhYo0w" name="ComponentModel" nsURI="http://CHESS/ComponentModel" nsPrefix="ComponentModel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_xuQkkDUkEeC3rNpnAhYo0w" source="PapyrusVersion">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_xuQkkTUkEeC3rNpnAhYo0w" key="Version" value="0.0.3"/>
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_xuQkkjUkEeC3rNpnAhYo0w" key="Comment" value=""/>
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_xuQkkzUkEeC3rNpnAhYo0w" key="Copyright" value=""/>
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_xuQklDUkEeC3rNpnAhYo0w" key="Date" value="2011-02-10"/>
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_xuQklTUkEeC3rNpnAhYo0w" key="Author" value=""/>
+          </eAnnotations>
+          <eClassifiers xmi:type="ecore:EClass" xmi:id="_xt9poTUkEeC3rNpnAhYo0w" name="ComponentType">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_xt9pojUkEeC3rNpnAhYo0w" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_EfKMwDQ-EeC0ueejuetpgA"/>
+            <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_xt9pozUkEeC3rNpnAhYo0w" name="base_Component" ordered="false" lowerBound="1">
+              <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Component"/>
+            </eStructuralFeatures>
+          </eClassifiers>
+          <eClassifiers xmi:type="ecore:EClass" xmi:id="_xt9ppTUkEeC3rNpnAhYo0w" name="ComponentImplementation">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_xt9ppjUkEeC3rNpnAhYo0w" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_CuRAcDRKEeChqekVLFmSjQ"/>
+            <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_xt9ppzUkEeC3rNpnAhYo0w" name="base_Component" ordered="false" lowerBound="1">
+              <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Component"/>
+            </eStructuralFeatures>
+            <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_xt9pqTUkEeC3rNpnAhYo0w" name="language" ordered="false">
+              <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+            </eStructuralFeatures>
+            <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_xt9pqzUkEeC3rNpnAhYo0w" name="OS" ordered="false">
+              <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+            </eStructuralFeatures>
+          </eClassifiers>
+        </contents>
+        <contents xmi:type="ecore:EPackage" xmi:id="_OopHwDRKEeChqekVLFmSjQ" name="ComponentModel" nsURI="http://CHESS/schemas/ComponentModel/_OofWwDRKEeChqekVLFmSjQ/1" nsPrefix="ComponentModel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Oo8CsDRKEeChqekVLFmSjQ" source="PapyrusVersion">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Oo8CsTRKEeChqekVLFmSjQ" key="Version" value="0.0.2"/>
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Oo8CsjRKEeChqekVLFmSjQ" key="Comment" value=""/>
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Oo8CszRKEeChqekVLFmSjQ" key="Copyright" value=""/>
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Oo8CtDRKEeChqekVLFmSjQ" key="Date" value="2011-02-09"/>
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Oo8CtTRKEeChqekVLFmSjQ" key="Author" value=""/>
+          </eAnnotations>
+          <eClassifiers xmi:type="ecore:EClass" xmi:id="_OopHwTRKEeChqekVLFmSjQ" name="ComponentType">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_OopHwjRKEeChqekVLFmSjQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_EfKMwDQ-EeC0ueejuetpgA"/>
+            <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_OopHwzRKEeChqekVLFmSjQ" name="base_Component" ordered="false" lowerBound="1">
+              <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Component"/>
+            </eStructuralFeatures>
+          </eClassifiers>
+          <eClassifiers xmi:type="ecore:EClass" xmi:id="_OopHxTRKEeChqekVLFmSjQ" name="ComponentImplementation">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_OopHxjRKEeChqekVLFmSjQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_CuRAcDRKEeChqekVLFmSjQ"/>
+            <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_OopHxzRKEeChqekVLFmSjQ" name="base_Component" ordered="false" lowerBound="1">
+              <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Component"/>
+            </eStructuralFeatures>
+            <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_OopHyTRKEeChqekVLFmSjQ" name="language" ordered="false">
+              <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+            </eStructuralFeatures>
+            <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_OopHyzRKEeChqekVLFmSjQ" name="OS" ordered="false">
+              <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+            </eStructuralFeatures>
+          </eClassifiers>
+        </contents>
+        <contents xmi:type="ecore:EPackage" xmi:id="_GzlGcjQ-EeC0ueejuetpgA" name="ComponentModel" nsURI="http://CHESS/schemas/ComponentModel/_GzlGcDQ-EeC0ueejuetpgA/0" nsPrefix="ComponentModel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Gzu3cTQ-EeC0ueejuetpgA" source="PapyrusVersion">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Gzu3cjQ-EeC0ueejuetpgA" key="Version" value="0.0.1"/>
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Gzu3czQ-EeC0ueejuetpgA" key="Comment" value=""/>
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Gzu3dDQ-EeC0ueejuetpgA" key="Copyright" value=""/>
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Gzu3dTQ-EeC0ueejuetpgA" key="Date" value="2011-02-09"/>
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Gzu3djQ-EeC0ueejuetpgA" key="Author" value=""/>
+          </eAnnotations>
+          <eClassifiers xmi:type="ecore:EClass" xmi:id="_GzlGczQ-EeC0ueejuetpgA" name="ComponentType">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_GzlGdDQ-EeC0ueejuetpgA" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_EfKMwDQ-EeC0ueejuetpgA"/>
+            <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_GzlGdTQ-EeC0ueejuetpgA" name="base_Component" ordered="false" lowerBound="1">
+              <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Component"/>
+            </eStructuralFeatures>
+          </eClassifiers>
+        </contents>
+      </eAnnotations>
+      <elementImport xmi:type="uml:ElementImport" xmi:id="_akN5ADQ2EeC0ueejuetpgA" alias="Component">
+        <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Component"/>
+      </elementImport>
+      <packagedElement xmi:type="uml:Stereotype" xmi:id="_EfKMwDQ-EeC0ueejuetpgA" name="ComponentType">
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_FrKF0DQ-EeC0ueejuetpgA" name="base_Component" association="_FrT20DQ-EeC0ueejuetpgA">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Component"/>
+        </ownedAttribute>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Extension" xmi:id="_FrT20DQ-EeC0ueejuetpgA" name="E_ComponentType_Component0" memberEnd="_FrT20TQ-EeC0ueejuetpgA _FrKF0DQ-EeC0ueejuetpgA">
+        <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_FrT20TQ-EeC0ueejuetpgA" name="extension_ComponentType" type="_EfKMwDQ-EeC0ueejuetpgA" aggregation="composite" association="_FrT20DQ-EeC0ueejuetpgA"/>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Stereotype" xmi:id="_CuRAcDRKEeChqekVLFmSjQ" name="ComponentImplementation">
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_D0clYDRKEeChqekVLFmSjQ" name="base_Component" association="_D0clYTRKEeChqekVLFmSjQ">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Component"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_E_QLoDRKEeChqekVLFmSjQ" name="language" visibility="public">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_GhmvMDRKEeChqekVLFmSjQ"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_GhmvMTRKEeChqekVLFmSjQ" value="1"/>
+          <defaultValue xmi:type="uml:LiteralString" xmi:id="_GhwgMDRKEeChqekVLFmSjQ">
+            <value xsi:nil="true"/>
+          </defaultValue>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_G55TYDRKEeChqekVLFmSjQ" name="OS" visibility="public">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_H5hkYDRKEeChqekVLFmSjQ"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_H5rVYDRKEeChqekVLFmSjQ" value="1"/>
+          <defaultValue xmi:type="uml:LiteralString" xmi:id="_H51GYDRKEeChqekVLFmSjQ">
+            <value xsi:nil="true"/>
+          </defaultValue>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_qDnbgL85EeCLOv-_yLVzGQ" name="sourceCodeLocation" visibility="public">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_qDnbgr85EeCLOv-_yLVzGQ"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_qDnbgb85EeCLOv-_yLVzGQ" value="*"/>
+          <defaultValue xmi:type="uml:LiteralString" xmi:id="_qDnbg785EeCLOv-_yLVzGQ">
+            <value xsi:nil="true"/>
+          </defaultValue>
+        </ownedAttribute>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Extension" xmi:id="_D0clYTRKEeChqekVLFmSjQ" name="E_ComponentImplementation_Component0" memberEnd="_D0clYjRKEeChqekVLFmSjQ _D0clYDRKEeChqekVLFmSjQ">
+        <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_D0clYjRKEeChqekVLFmSjQ" name="extension_ComponentImplementation" type="_CuRAcDRKEeChqekVLFmSjQ" aggregation="composite" association="_D0clYTRKEeChqekVLFmSjQ"/>
+      </packagedElement>
+    </packagedElement>
+    <packagedElement xmi:type="uml:DataType" xmi:id="__Ya2gGviEeCFqs3XUsvipQ" name="dummy"/>
+    <packagedElement xmi:type="uml:Interval" xmi:id="_bCFZ8P3lEeOmz-4FDV-1Kw" name="Interval"/>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4nGdAFt2EeCB9JyGkIbTqQ">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4nHEEFt2EeCB9JyGkIbTqQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="pathmap://UML_PROFILES/Ecore.profile.uml#_z1OFcHjqEdy8S4Cr8Rc_NA"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://UML_PROFILES/Ecore.profile.uml#_0"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_zP9FcP3gEeOmz-4FDV-1Kw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_zT38IP3gEeOmz-4FDV-1Kw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/MARTE/1#//VSL/DataTypes"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_9FdqwA-MEdyLh7muGbCqMw"/>
+    </profileApplication>
+  </uml:Profile>
+  <Ecore:EPackage xmi:id="_5bIiAFt2EeCB9JyGkIbTqQ" base_Package="_EA6IcDcwEd-mWLzcI61s7Q" packageName="chessmlprofile" nsPrefix="CHESS" nsURI="http://CHESS" basePackage="org.polarsys.chess" prefix="chessmlprofile"/>
+  <Ecore:EPackage xmi:id="_rb2uQFt3EeCB9JyGkIbTqQ" base_Package="_ad4owDgVEd-68Z_bhNRGsA" packageName="Core" nsPrefix="Core" nsURI="http://CHESS/Core" prefix="Core"/>
+  <Ecore:EPackage xmi:id="_tNFbUFt3EeCB9JyGkIbTqQ" base_Package="_FttqgMJDEd-0jpzjleFnug" packageName="CHESSViews" nsPrefix="CHESSViews" nsURI="http://CHESS/Core/Views" prefix="CHESSViews"/>
+  <Ecore:EPackage xmi:id="_2MAeIFt3EeCB9JyGkIbTqQ" base_Package="_hdOrwLwzEd-CDNLmLgazUQ" packageName="FailurePropagation" nsPrefix="FailurePropagation" nsURI="http://CHESS/Dependability/FailurePropagation" prefix="FailurePropagation"/>
+  <Ecore:EPackage xmi:id="_EVBnQFt4EeCB9JyGkIbTqQ" base_Package="_zBudQLwzEd-CDNLmLgazUQ" packageName="DataFlowCallGraph" nsPrefix="DataFlowCallGraph" nsURI="http://CHESS.DependabilitySecurity/schemas/DataFlowCallGraph/_QB3mMMe6Ed-7etIj5eTw0Q/8" prefix="DataFlowCallGraph"/>
+  <Ecore:EPackage xmi:id="_GS96oFt4EeCB9JyGkIbTqQ" base_Package="_cE_bwLwzEd-CDNLmLgazUQ" packageName="StateBased" nsPrefix="StateBased" nsURI="http://CHESS/Dependability/StateBased" prefix="StateBased"/>
+  <Ecore:EPackage xmi:id="_IC9RkFt4EeCB9JyGkIbTqQ" base_Package="_d50lQL86Ed-TL8tpOyViyA" packageName="StateBasedComponents" nsPrefix="StateBasedComponents" nsURI="http://CHESS/Dependability/StateBased/StateBasedComponents" prefix="StateBasedComponents"/>
+  <Ecore:EPackage xmi:id="_KsQ2IFt4EeCB9JyGkIbTqQ" base_Package="_mbqqgL86Ed-TL8tpOyViyA" packageName="FaultTolerance" nsPrefix="FaultTolerance" nsURI="http://CHESS/Dependability/StateBased/FaultTolerance" prefix="FaultTolerance"/>
+  <Ecore:EPackage xmi:id="_LicQMFt4EeCB9JyGkIbTqQ" base_Package="_oUVxcL88Ed-TL8tpOyViyA" packageName="MaintenanceMonitoring" nsPrefix="MaintenanceMonitoring" nsURI="http://CHESS/Dependability/StateBased/MaintenanceMonitoring" prefix="MaintenanceMonitoring"/>
+  <Ecore:EPackage xmi:id="_Mt3FAFt5EeCB9JyGkIbTqQ" base_Package="_Wgxh0L8_Ed-TL8tpOyViyA" packageName="StateBasedAnalysis" nsPrefix="StateBasedAnalysis" nsURI="http://CHESS/Dependability/StateBased/StateBasedAnalysis" prefix="StateBasedAnalysis"/>
+  <Ecore:EPackage xmi:id="_O5f2IFt5EeCB9JyGkIbTqQ" base_Package="_Z59uoLwzEd-CDNLmLgazUQ" packageName="FMEA" nsPrefix="FMEA" nsURI="http://CHESS.Dependability/schemas/FMEA/_wfALMFrLEeCvGuvlF-wh1g/9" prefix="FMEA"/>
+  <Ecore:EPackage xmi:id="_eSL3YFt5EeCB9JyGkIbTqQ" base_Package="_uNKOgDQ2EeC0ueejuetpgA" packageName="DependableComponent" nsPrefix="DependableComponent" nsURI="http://CHESS/Dependability/DependableComponent" prefix="DependableComponent"/>
+  <Ecore:EPackage xmi:id="_fj9oUFt5EeCB9JyGkIbTqQ" base_Package="_5g4wEDQ3EeC0ueejuetpgA" packageName="ThreatsPropagation" nsPrefix="ThreatsPropagation" nsURI="http://CHESS/Dependability/ThreatsPropagation" prefix="ThreatsPropagation"/>
+  <Ecore:EPackage xmi:id="_oo4lcFt5EeCB9JyGkIbTqQ" base_Package="_u88ZMLwzEd-CDNLmLgazUQ" packageName="TimingAnalysis" nsPrefix="TimingAnalysis" nsURI="http://CHESS.Predictability/schemas/TimingAnaylsis/_SGMOYMe6Ed-7etIj5eTw0Q/8" prefix="TimingAnalysis"/>
+  <Ecore:EPackage xmi:id="_pt8JAFt5EeCB9JyGkIbTqQ" base_Package="_dyWJQMF0Ed--atLXXafOiQ" packageName="TimingConstraints" nsPrefix="TimingConstraints" nsURI="http://CHESS.Predictability.TimingAnaylsis/schemas/TimingConstraints/_ShUEIMe6Ed-7etIj5eTw0Q/8" prefix="TimingConstraints"/>
+  <Ecore:EPackage xmi:id="_tI1ikFt5EeCB9JyGkIbTqQ" base_Package="_nyQ7MLwzEd-CDNLmLgazUQ" packageName="DeploymentConfiguration" nsPrefix="DeploymentConfiguration" nsURI="http://CHESS/Predictability/DeploymentConfiguration" prefix="DeploymentConfiguration"/>
+  <Ecore:EPackage xmi:id="_uZ3soFt5EeCB9JyGkIbTqQ" base_Package="_1TsX8MCpEd-RT45s8cwWMg" packageName="HardwareBaseline" nsPrefix="HardwareBaseline" nsURI="http://CHESS/Predictability/DeploymentConfiguration/HardwareBaseline" prefix="HardwareBaseline"/>
+  <Ecore:EPackage xmi:id="_wgrBEFt5EeCB9JyGkIbTqQ" base_Package="_1xBQUMCtEd-RT45s8cwWMg" packageName="DeploymentConfAnalysis" nsPrefix="DeploymentConfAnalysis" nsURI="http://CHESS/Predictability/DeploymentConfiguration/DeploymentConfAnalysis" prefix="DeploymentConfAnalysis"/>
+  <Ecore:EPackage xmi:id="_2qiiUFt5EeCB9JyGkIbTqQ" base_Package="_WgatoDgVEd-68Z_bhNRGsA" packageName="RTComponentModel" nsPrefix="RTComponentModel" nsURI="http://CHESS/Predictability/RTComponentModel" prefix="RTComponentModel"/>
+  <Ecore:EPackage xmi:id="_4jFYUFt5EeCB9JyGkIbTqQ" base_Package="_MftccDQ2EeC0ueejuetpgA" packageName="ComponentModel" nsPrefix="ComponentModel" nsURI="http://CHESS/ComponentModel" prefix="ComponentModel"/>
+  <Ecore:EPackage xmi:id="_mH408FiIEeGbwa2cK55fPQ" base_Package="_kJICMFiIEeGbwa2cK55fPQ" packageName="MitigationMeans" nsPrefix="MitigationMeans" nsURI="http://CHESS.Dependability/MitigationMeans" prefix="MitigationMeans"/>
+  <DataTypes:TupleType xmi:id="_dWkP8P3jEeOmz-4FDV-1Kw" base_DataType="_1_8MgL9BEd-TL8tpOyViyA"/>
+  <DataTypes:ChoiceType xmi:id="_kzgioP3jEeOmz-4FDV-1Kw" base_DataType="_ypgcML9BEd-TL8tpOyViyA"/>
+  <DataTypes:TupleType xmi:id="_Gdk0EP3lEeOmz-4FDV-1Kw" base_DataType="_ZD9v8L9CEd-TL8tpOyViyA"/>
+  <DataTypes:TupleType xmi:id="_J0lzMP3lEeOmz-4FDV-1Kw" base_DataType="_BV7X4L9DEd-TL8tpOyViyA"/>
+  <DataTypes:TupleType xmi:id="_MACXEP3lEeOmz-4FDV-1Kw" base_DataType="_IXDbwMAIEd-Dn5_MBIs5Vw"/>
+  <DataTypes:TupleType xmi:id="_UJoUYP3lEeOmz-4FDV-1Kw" base_DataType="_gg-JgL9BEd-TL8tpOyViyA"/>
+  <DataTypes:ChoiceType xmi:id="_WmWOcP3lEeOmz-4FDV-1Kw" base_DataType="_JEphoL9EEd-TL8tpOyViyA"/>
+  <DataTypes:TupleType xmi:id="_X13VkP3lEeOmz-4FDV-1Kw" base_DataType="_Nim6sL9EEd-TL8tpOyViyA"/>
+</xmi:XMI>
diff --git a/plugins/org.polarsys.chess.chessmlprofile/model/MARTE.ecore b/plugins/org.polarsys.chess.chessmlprofile/model/MARTE.ecore
new file mode 100644
index 000000000..e7b6a924b
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/model/MARTE.ecore
@@ -0,0 +1,1799 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="MARTE" nsURI="http://www.eclipse.org/papyrus/MARTE/1" nsPrefix="MARTE">
+  <eClassifiers xsi:type="ecore:EEnum" name="dummy"/>
+  <eSubpackages name="MARTE_Foundations" nsURI="http:///MARTE/MARTE_Foundations.ecore"
+      nsPrefix="MARTE.MARTE_Foundations">
+    <eSubpackages name="NFPs" nsURI="http://www.eclipse.org/papyrus/NFPs/1" nsPrefix="NFPs">
+      <eClassifiers xsi:type="ecore:EEnum" name="ConstraintKind">
+        <eLiterals name="required"/>
+        <eLiterals name="offered" value="1"/>
+        <eLiterals name="contract" value="2"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="Nfp">
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_Property" ordered="false"
+            unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="Unit">
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="convFactor" ordered="false"
+            unique="false" eType="ecore:EDataType MARTE_Library.ecore#//MARTE_PrimitivesTypes/Real"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="convOffset" ordered="false"
+            unique="false" eType="ecore:EDataType MARTE_Library.ecore#//MARTE_PrimitivesTypes/Real"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="baseUnit" ordered="false"
+            unique="false" eType="#//MARTE_Foundations/NFPs/Unit"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_EnumerationLiteral"
+            ordered="false" unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//EnumerationLiteral"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="NfpConstraint">
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" ordered="false"
+            unique="false" eType="#//MARTE_Foundations/NFPs/ConstraintKind"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_Constraint" ordered="false"
+            unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Constraint"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="mode" ordered="false"
+            unique="false" upperBound="-1" eType="#//MARTE_Foundations/CoreElements/Mode"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="NfpType" eSuperTypes="#//MARTE_Annexes/VSL/DataTypes/TupleType">
+        <eStructuralFeatures xsi:type="ecore:EReference" name="valueAttrib" ordered="false"
+            unique="false" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property">
+          <eAnnotations source="subsets" references="#//MARTE_Annexes/VSL/DataTypes/TupleType/tupleAttrib"/>
+        </eStructuralFeatures>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="unitAttrib" ordered="false"
+            unique="false" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property">
+          <eAnnotations source="subsets" references="#//MARTE_Annexes/VSL/DataTypes/TupleType/tupleAttrib"/>
+        </eStructuralFeatures>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="exprAttrib" ordered="false"
+            unique="false" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property">
+          <eAnnotations source="subsets" references="#//MARTE_Annexes/VSL/DataTypes/TupleType/tupleAttrib"/>
+        </eStructuralFeatures>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="Dimension">
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="symbol" ordered="false"
+            unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="baseDimension" unique="false"
+            upperBound="-1" eType="#//MARTE_Foundations/NFPs/Dimension"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="baseExponent" unique="false"
+            upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_Enumeration" ordered="false"
+            unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Enumeration"/>
+      </eClassifiers>
+    </eSubpackages>
+    <eSubpackages name="CoreElements" nsURI="http://www.eclipse.org/papyrus/CoreElements/1"
+        nsPrefix="CoreElements">
+      <eClassifiers xsi:type="ecore:EClass" name="ModeTransition">
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_Transition" ordered="false"
+            unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Transition"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="ModeBehavior">
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_StateMachine"
+            ordered="false" unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//StateMachine"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="Configuration">
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_StructuredClassifier"
+            ordered="false" unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//StructuredClassifier"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_Package" ordered="false"
+            unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Package"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="mode" ordered="false"
+            unique="false" upperBound="-1" eType="#//MARTE_Foundations/CoreElements/Mode"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="Mode">
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_State" ordered="false"
+            unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//State"/>
+      </eClassifiers>
+    </eSubpackages>
+    <eSubpackages name="Alloc" nsURI="http://www.eclipse.org/papyrus/Alloc/1" nsPrefix="Alloc">
+      <eClassifiers xsi:type="ecore:EClass" name="Allocated">
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_NamedElement"
+            ordered="false" unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="allocatedTo" ordered="false"
+            unique="false" upperBound="-1" eType="#//MARTE_Foundations/Alloc/Allocated"
+            volatile="true" transient="true" derived="true"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="allocatedFrom" ordered="false"
+            unique="false" upperBound="-1" eType="#//MARTE_Foundations/Alloc/Allocated"
+            volatile="true" transient="true" derived="true"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" ordered="false"
+            unique="false" eType="#//MARTE_Foundations/Alloc/AllocationEndKind"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EEnum" name="AllocationEndKind">
+        <eLiterals name="undef"/>
+        <eLiterals name="application" value="1"/>
+        <eLiterals name="executionPlatform" value="2"/>
+        <eLiterals name="both" value="3"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EEnum" name="AllocationNature">
+        <eLiterals name="spatialDistribution"/>
+        <eLiterals name="timeScheduling" value="1"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EEnum" name="AllocationKind">
+        <eLiterals name="structural"/>
+        <eLiterals name="behavioral" value="1"/>
+        <eLiterals name="hybrid" value="2"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="AllocateActivityGroup">
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="isUnique" ordered="false"
+            unique="false" eType="ecore:EDataType MARTE_Library.ecore#//MARTE_PrimitivesTypes/Boolean"
+            defaultValueLiteral="false"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_ActivityPartition"
+            ordered="false" unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//ActivityPartition"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="NfpRefine">
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_Dependency" ordered="false"
+            unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Dependency"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="constraint" ordered="false"
+            unique="false" upperBound="-1" eType="#//MARTE_Foundations/NFPs/NfpConstraint"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="Assign">
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" ordered="false"
+            unique="false" lowerBound="1" eType="#//MARTE_Foundations/Alloc/AssignmentKind"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="nature" ordered="false"
+            unique="false" lowerBound="1" eType="#//MARTE_Foundations/Alloc/AssignmentNature"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="impliedConstraint"
+            ordered="false" unique="false" upperBound="-1" eType="#//MARTE_Foundations/NFPs/NfpConstraint"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="from" ordered="false"
+            unique="false" lowerBound="1" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Element"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="to" ordered="false"
+            unique="false" lowerBound="1" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Element"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_Comment" ordered="false"
+            unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Comment"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EEnum" name="AssignmentKind">
+        <eLiterals name="structural"/>
+        <eLiterals name="behavioral" value="1"/>
+        <eLiterals name="hybrid" value="2"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EEnum" name="AssignmentNature">
+        <eLiterals name="spatialDistribution"/>
+        <eLiterals name="timeScheduling" value="1"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="Allocate">
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" ordered="false"
+            unique="false" eType="#//MARTE_Foundations/Alloc/AllocationKind"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="nature" ordered="false"
+            unique="false" eType="#//MARTE_Foundations/Alloc/AllocationNature"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_Abstraction" ordered="false"
+            unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Abstraction"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="impliedConstraint"
+            ordered="false" unique="false" upperBound="-1" eType="#//MARTE_Foundations/NFPs/NfpConstraint"/>
+      </eClassifiers>
+    </eSubpackages>
+    <eSubpackages name="Time" nsURI="http://www.eclipse.org/papyrus/Time/1" nsPrefix="Time">
+      <eClassifiers xsi:type="ecore:EClass" name="TimedDomain">
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_Namespace" ordered="false"
+            unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Namespace"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="Clock">
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="standard" ordered="false"
+            unique="false" eType="ecore:EEnum MARTE_Library.ecore#//TimeTypesLibrary/TimeStandardKind"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_InstanceSpecification"
+            ordered="false" unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//InstanceSpecification"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="type" ordered="false"
+            unique="false" lowerBound="1" eType="#//MARTE_Foundations/Time/ClockType"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="unit" ordered="false"
+            unique="false" eType="#//MARTE_Foundations/NFPs/Unit"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_Property" ordered="false"
+            unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_Event" ordered="false"
+            lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Event"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="ClockType">
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="nature" ordered="false"
+            unique="false" lowerBound="1" eType="ecore:EEnum MARTE_Library.ecore#//TimeTypesLibrary/TimeNatureKind"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="unitType" ordered="false"
+            unique="false" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Enumeration"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="isLogical" ordered="false"
+            unique="false" lowerBound="1" eType="ecore:EDataType MARTE_Library.ecore#//MARTE_PrimitivesTypes/Boolean"
+            defaultValueLiteral="false"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="resolAttr" ordered="false"
+            unique="false" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="maxValAttr" ordered="false"
+            unique="false" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="offsetAttr" ordered="false"
+            unique="false" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="getTime" ordered="false"
+            unique="false" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Operation"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="setTime" ordered="false"
+            unique="false" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Operation"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="indexToValue" ordered="false"
+            unique="false" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Operation"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_Class" ordered="false"
+            unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Class"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="TimedElement" abstract="true">
+        <eStructuralFeatures xsi:type="ecore:EReference" name="on" ordered="false"
+            unique="false" lowerBound="1" upperBound="-1" eType="#//MARTE_Foundations/Time/Clock"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="TimedValueSpecification" eSuperTypes="#//MARTE_Foundations/Time/TimedElement">
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="interpretation" ordered="false"
+            unique="false" eType="ecore:EEnum MARTE_Library.ecore#//TimeTypesLibrary/TimeInterpretationKind"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_ValueSpecification"
+            ordered="false" unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//ValueSpecification"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="TimedConstraint" eSuperTypes="#//MARTE_Foundations/NFPs/NfpConstraint #//MARTE_Foundations/Time/TimedElement">
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="interpretation" ordered="false"
+            unique="false" eType="ecore:EEnum MARTE_Library.ecore#//TimeTypesLibrary/TimeInterpretationKind"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="ClockConstraint" eSuperTypes="#//MARTE_Foundations/NFPs/NfpConstraint #//MARTE_Foundations/Time/TimedElement">
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="isCoincidenceBased"
+            ordered="false" unique="false" lowerBound="1" eType="ecore:EDataType MARTE_Library.ecore#//MARTE_PrimitivesTypes/Boolean"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="isPrecedenceBased"
+            ordered="false" unique="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="isChronometricBased"
+            ordered="false" unique="false" lowerBound="1" eType="ecore:EDataType MARTE_Library.ecore#//MARTE_PrimitivesTypes/Boolean"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="TimedInstantObservation" eSuperTypes="#//MARTE_Foundations/Time/TimedElement">
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="obsKind" ordered="false"
+            unique="false" eType="ecore:EEnum MARTE_Library.ecore#//TimeTypesLibrary/EventKind"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_TimeObservation"
+            ordered="false" unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//TimeObservation"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="TimedDurationObservation" eSuperTypes="#//MARTE_Foundations/Time/TimedElement">
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="obsKind" ordered="false"
+            unique="false" upperBound="2" eType="ecore:EEnum MARTE_Library.ecore#//TimeTypesLibrary/EventKind"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_DurationObservation"
+            ordered="false" unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//DurationObservation"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="TimedEvent" eSuperTypes="#//MARTE_Foundations/Time/TimedElement">
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="repetition" ordered="false"
+            unique="false" eType="ecore:EDataType MARTE_Library.ecore#//MARTE_PrimitivesTypes/Integer"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_TimeEvent" ordered="false"
+            unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//TimeEvent"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="every" ordered="false"
+            unique="false" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//ValueSpecification"
+            containment="true"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="TimedProcessing" eSuperTypes="#//MARTE_Foundations/Time/TimedElement">
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_Action" ordered="false"
+            unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Action"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_Behavior" ordered="false"
+            unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Behavior"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_Message" ordered="false"
+            unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Message"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="duration" ordered="false"
+            unique="false" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//ValueSpecification"
+            containment="true"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="start" ordered="false"
+            unique="false" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Event"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="finish" ordered="false"
+            unique="false" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Event"/>
+      </eClassifiers>
+    </eSubpackages>
+    <eSubpackages name="GRM" nsURI="http://www.eclipse.org/papyrus/GRM/1" nsPrefix="GRM">
+      <eClassifiers xsi:type="ecore:EClass" name="Resource">
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="resMult" ordered="false"
+            unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Integer"
+            defaultValueLiteral="1"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="isProtected" ordered="false"
+            unique="false" eType="ecore:EDataType MARTE_Library.ecore#//MARTE_PrimitivesTypes/Boolean"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="isActive" ordered="false"
+            unique="false" eType="ecore:EDataType MARTE_Library.ecore#//MARTE_PrimitivesTypes/Boolean"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_Property" ordered="false"
+            unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_InstanceSpecification"
+            ordered="false" unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//InstanceSpecification"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_Classifier" ordered="false"
+            unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Classifier"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_Lifeline" ordered="false"
+            unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Lifeline"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_ConnectableElement"
+            ordered="false" unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//ConnectableElement"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="StorageResource" eSuperTypes="#//MARTE_Foundations/GRM/Resource">
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="elementSize" ordered="false"
+            unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Integer"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="CommunicationEndPoint" eSuperTypes="#//MARTE_Foundations/GRM/Resource">
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="packetSize" ordered="false"
+            unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Integer"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="SynchronizationResource" eSuperTypes="#//MARTE_Foundations/GRM/Resource"/>
+      <eClassifiers xsi:type="ecore:EClass" name="ConcurrencyResource" eSuperTypes="#//MARTE_Foundations/GRM/Resource"/>
+      <eClassifiers xsi:type="ecore:EClass" name="Scheduler" eSuperTypes="#//MARTE_Foundations/GRM/Resource">
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="isPreemptible" ordered="false"
+            unique="false" eType="ecore:EDataType MARTE_Library.ecore#//MARTE_PrimitivesTypes/Boolean"
+            defaultValueLiteral="true"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="schedPolicy" ordered="false"
+            unique="false" eType="ecore:EEnum MARTE_Library.ecore#//GRM_BasicTypes/SchedPolicyKind"
+            defaultValueLiteral="FixedPriority"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="otherSchedPolicy" ordered="false"
+            unique="false" eType="ecore:EDataType MARTE_Library.ecore#//MARTE_PrimitivesTypes/String"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="schedule" ordered="false"
+            unique="false" eType="ecore:EDataType MARTE_Library.ecore#//GRM_BasicTypes/ScheduleSpecification"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="processingUnits" ordered="false"
+            unique="false" upperBound="-1" eType="#//MARTE_Foundations/GRM/ProcessingResource"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="host" ordered="false"
+            unique="false" eType="#//MARTE_Foundations/GRM/ComputingResource"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="protectedSharedResources"
+            ordered="false" upperBound="-1" eType="#//MARTE_Foundations/GRM/MutualExclusionResource"
+            eOpposite="#//MARTE_Foundations/GRM/MutualExclusionResource/scheduler"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="schedulableResources"
+            ordered="false" upperBound="-1" eType="#//MARTE_Foundations/GRM/SchedulableResource"
+            eOpposite="#//MARTE_Foundations/GRM/SchedulableResource/host"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="ProcessingResource" eSuperTypes="#//MARTE_Foundations/GRM/Resource">
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="speedFactor" ordered="false"
+            unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Real"
+            defaultValueLiteral="1.0"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="mainScheduler" ordered="false"
+            unique="false" eType="#//MARTE_Foundations/GRM/Scheduler"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="ComputingResource" eSuperTypes="#//MARTE_Foundations/GRM/ProcessingResource"/>
+      <eClassifiers xsi:type="ecore:EClass" name="MutualExclusionResource" eSuperTypes="#//MARTE_Foundations/GRM/Resource">
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="protectKind" ordered="false"
+            unique="false" eType="ecore:EEnum MARTE_Library.ecore#//GRM_BasicTypes/ProtectProtocolKind"
+            defaultValueLiteral="PriorityInheritance"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="ceiling" ordered="false"
+            unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Integer"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="otherProtectProtocol"
+            ordered="false" unique="false" eType="ecore:EDataType MARTE_Library.ecore#//MARTE_PrimitivesTypes/String"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="scheduler" ordered="false"
+            unique="false" eType="#//MARTE_Foundations/GRM/Scheduler" eOpposite="#//MARTE_Foundations/GRM/Scheduler/protectedSharedResources"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="SchedulableResource" eSuperTypes="#//MARTE_Foundations/GRM/Resource">
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="schedParams" ordered="false"
+            upperBound="-1" eType="ecore:EDataType MARTE_Library.ecore#//GRM_BasicTypes/SchedParameters"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="dependentScheduler"
+            ordered="false" unique="false" eType="#//MARTE_Foundations/GRM/SecondaryScheduler"
+            eOpposite="#//MARTE_Foundations/GRM/SecondaryScheduler/virtualProcessingUnits"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="host" ordered="false"
+            unique="false" eType="#//MARTE_Foundations/GRM/Scheduler" eOpposite="#//MARTE_Foundations/GRM/Scheduler/schedulableResources"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="SecondaryScheduler" eSuperTypes="#//MARTE_Foundations/GRM/Scheduler">
+        <eStructuralFeatures xsi:type="ecore:EReference" name="virtualProcessingUnits"
+            ordered="false" upperBound="-1" eType="#//MARTE_Foundations/GRM/SchedulableResource"
+            eOpposite="#//MARTE_Foundations/GRM/SchedulableResource/dependentScheduler"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="CommunicationMedia" eSuperTypes="#//MARTE_Foundations/GRM/ProcessingResource">
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="elementSize" ordered="false"
+            unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Integer"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_Connector" ordered="false"
+            unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Connector"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="transmMode" ordered="false"
+            unique="false" eType="ecore:EEnum MARTE_Library.ecore#//MARTE_DataTypes/TransmModeKind"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="blockT" ordered="false"
+            upperBound="-1" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Duration"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="packetT" ordered="false"
+            upperBound="-1" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Duration"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="capacity" ordered="false"
+            upperBound="-1" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_DataTxRate"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="DeviceResource" eSuperTypes="#//MARTE_Foundations/GRM/ProcessingResource"/>
+      <eClassifiers xsi:type="ecore:EClass" name="TimingResource" eSuperTypes="#//MARTE_Foundations/GRM/Resource"/>
+      <eClassifiers xsi:type="ecore:EClass" name="ClockResource" eSuperTypes="#//MARTE_Foundations/GRM/TimingResource"/>
+      <eClassifiers xsi:type="ecore:EClass" name="TimerResource" eSuperTypes="#//MARTE_Foundations/GRM/TimingResource">
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="duration" ordered="false"
+            unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Duration"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="isPeriodic" ordered="false"
+            unique="false" eType="ecore:EDataType MARTE_Library.ecore#//MARTE_PrimitivesTypes/Boolean"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="GrService">
+        <eStructuralFeatures xsi:type="ecore:EReference" name="owner" ordered="false"
+            unique="false" eType="#//MARTE_Foundations/GRM/Resource"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_ExecutionSpecification"
+            ordered="false" unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//ExecutionSpecification"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_BehavioralFeature"
+            ordered="false" unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//BehavioralFeature"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_Behavior" ordered="false"
+            unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Behavior"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_Collaboration"
+            ordered="false" unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Collaboration"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_CollaborationUse"
+            ordered="false" unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//CollaborationUse"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="Release" eSuperTypes="#//MARTE_Foundations/GRM/GrService"/>
+      <eClassifiers xsi:type="ecore:EClass" name="Acquire" eSuperTypes="#//MARTE_Foundations/GRM/GrService">
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="isBlocking" ordered="false"
+            unique="false" eType="ecore:EDataType MARTE_Library.ecore#//MARTE_PrimitivesTypes/Boolean"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="ResourceUsage">
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="execTime" upperBound="-1"
+            eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Duration"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="allocatedMemory" upperBound="-1"
+            eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_DataSize"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="usedMemory" upperBound="-1"
+            eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_DataSize"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="powerPeak" upperBound="-1"
+            eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Power"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="energy" upperBound="-1"
+            eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Energy"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_NamedElement"
+            ordered="false" unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="subUsage" ordered="false"
+            unique="false" upperBound="-1" eType="#//MARTE_Foundations/GRM/ResourceUsage"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="usedResources" unique="false"
+            upperBound="-1" eType="#//MARTE_Foundations/GRM/Resource"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="msgSize" upperBound="-1"
+            eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_DataSize"/>
+      </eClassifiers>
+    </eSubpackages>
+  </eSubpackages>
+  <eSubpackages name="MARTE_Annexes" nsURI="http:///MARTE/MARTE_Annexes.ecore" nsPrefix="MARTE.MARTE_Annexes">
+    <eSubpackages name="RSM" nsURI="http://www.eclipse.org/papyrus/RSM/1" nsPrefix="RSM">
+      <eClassifiers xsi:type="ecore:EClass" name="LinkTopology" abstract="true">
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_Connector" ordered="false"
+            unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Connector"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="DefaultLink" eSuperTypes="#//MARTE_Annexes/RSM/LinkTopology"/>
+      <eClassifiers xsi:type="ecore:EClass" name="InterRepetition" eSuperTypes="#//MARTE_Annexes/RSM/LinkTopology">
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="repetitionShapeDependence"
+            ordered="false" unique="false" lowerBound="1" eType="ecore:EDataType MARTE_Library.ecore#//MARTE_DataTypes/IntegerVector"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="isModulo" ordered="false"
+            unique="false" eType="ecore:EDataType MARTE_Library.ecore#//MARTE_PrimitivesTypes/Boolean"
+            defaultValueLiteral="false"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="Distribute" eSuperTypes="#//MARTE_Foundations/Alloc/Allocate">
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="patternShape" ordered="false"
+            unique="false" lowerBound="1" eType="ecore:EDataType MARTE_Library.ecore#//RS_Library/ShapeSpecification"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="repetitionSpace" ordered="false"
+            unique="false" lowerBound="1" eType="ecore:EDataType MARTE_Library.ecore#//RS_Library/ShapeSpecification"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="fromTiler" ordered="false"
+            unique="false" lowerBound="1" eType="ecore:EDataType MARTE_Library.ecore#//RS_Library/TilerSpecification"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="toTiler" ordered="false"
+            unique="false" lowerBound="1" eType="ecore:EDataType MARTE_Library.ecore#//RS_Library/TilerSpecification"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="Reshape" eSuperTypes="#//MARTE_Annexes/RSM/LinkTopology">
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="patternShape" ordered="false"
+            unique="false" lowerBound="1" eType="ecore:EDataType MARTE_Library.ecore#//RS_Library/ShapeSpecification"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="repetitonShape" ordered="false"
+            unique="false" lowerBound="1" eType="ecore:EDataType MARTE_Library.ecore#//RS_Library/ShapeSpecification"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="Tiler" eSuperTypes="#//MARTE_Annexes/RSM/LinkTopology">
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="origin" ordered="false"
+            unique="false" eType="ecore:EDataType MARTE_Library.ecore#//MARTE_DataTypes/IntegerVector"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="paving" ordered="false"
+            unique="false" eType="ecore:EDataType MARTE_Library.ecore#//MARTE_DataTypes/IntegerMatrix"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="fitting" ordered="false"
+            unique="false" eType="ecore:EDataType MARTE_Library.ecore#//MARTE_DataTypes/IntegerMatrix"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="tiler" ordered="false"
+            unique="false" eType="ecore:EDataType MARTE_Library.ecore#//RS_Library/TilerSpecification"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_ConnectorEnd"
+            ordered="false" unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//ConnectorEnd"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="Shaped">
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="shape" ordered="false"
+            unique="false" lowerBound="1" eType="ecore:EDataType MARTE_Library.ecore#//RS_Library/ShapeSpecification"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_MultiplicityElement"
+            ordered="false" unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//MultiplicityElement"/>
+      </eClassifiers>
+    </eSubpackages>
+    <eSubpackages name="VSL" nsURI="http://www.eclipse.org/papyrus/VSL/1" nsPrefix="VSL">
+      <eClassifiers xsi:type="ecore:EEnum" name="dummy"/>
+      <eSubpackages name="Variables" nsURI="http://www.eclipse.org/papyrus/Variables/1"
+          nsPrefix="Variables">
+        <eClassifiers xsi:type="ecore:EEnum" name="VariableDirectionKind">
+          <eLiterals name="in"/>
+          <eLiterals name="out" value="1"/>
+          <eLiterals name="inout" value="2"/>
+        </eClassifiers>
+        <eClassifiers xsi:type="ecore:EClass" name="Var">
+          <eStructuralFeatures xsi:type="ecore:EAttribute" name="dir" ordered="false"
+              unique="false" eType="#//MARTE_Annexes/VSL/Variables/VariableDirectionKind"
+              defaultValueLiteral="inout"/>
+          <eStructuralFeatures xsi:type="ecore:EReference" name="base_Property" ordered="false"
+              unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property"/>
+        </eClassifiers>
+        <eClassifiers xsi:type="ecore:EClass" name="ExpressionContext">
+          <eStructuralFeatures xsi:type="ecore:EReference" name="base_NamedElement"
+              ordered="false" unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement"/>
+        </eClassifiers>
+      </eSubpackages>
+      <eSubpackages name="Operators" nsURI="http://www.eclipse.org/papyrus/Operators/1"
+          nsPrefix="Operators">
+        <eClassifiers xsi:type="ecore:EClass" name="Operator">
+          <eStructuralFeatures xsi:type="ecore:EAttribute" name="symbol" ordered="false"
+              lowerBound="1" eType="ecore:EDataType MARTE_Library.ecore#//MARTE_PrimitivesTypes/String"/>
+          <eStructuralFeatures xsi:type="ecore:EAttribute" name="arity" ordered="false"
+              lowerBound="1" eType="ecore:EDataType MARTE_Library.ecore#//MARTE_PrimitivesTypes/Integer"
+              volatile="true" derived="true"/>
+          <eStructuralFeatures xsi:type="ecore:EReference" name="base_Behavior" ordered="false"
+              lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Behavior"/>
+        </eClassifiers>
+      </eSubpackages>
+      <eSubpackages name="DataTypes" nsURI="http://www.eclipse.org/papyrus/DataTypes/1"
+          nsPrefix="DataTypes">
+        <eClassifiers xsi:type="ecore:EClass" name="BoundedSubtype">
+          <eStructuralFeatures xsi:type="ecore:EReference" name="baseType" ordered="false"
+              unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//DataType"/>
+          <eStructuralFeatures xsi:type="ecore:EAttribute" name="minValue" ordered="false"
+              unique="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+          <eStructuralFeatures xsi:type="ecore:EAttribute" name="maxValue" ordered="false"
+              unique="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+          <eStructuralFeatures xsi:type="ecore:EAttribute" name="isMinOpen" ordered="false"
+              unique="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+          <eStructuralFeatures xsi:type="ecore:EAttribute" name="isMaxOpen" ordered="false"
+              unique="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+          <eStructuralFeatures xsi:type="ecore:EReference" name="base_DataType" ordered="false"
+              unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//DataType"/>
+        </eClassifiers>
+        <eClassifiers xsi:type="ecore:EClass" name="IntervalType">
+          <eStructuralFeatures xsi:type="ecore:EReference" name="intervalAttrib" ordered="false"
+              unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property"/>
+          <eStructuralFeatures xsi:type="ecore:EReference" name="base_DataType" ordered="false"
+              unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//DataType"/>
+        </eClassifiers>
+        <eClassifiers xsi:type="ecore:EClass" name="CollectionType">
+          <eStructuralFeatures xsi:type="ecore:EReference" name="collectionAttrib"
+              ordered="false" unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property"/>
+          <eStructuralFeatures xsi:type="ecore:EReference" name="base_DataType" ordered="false"
+              unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//DataType"/>
+        </eClassifiers>
+        <eClassifiers xsi:type="ecore:EClass" name="ChoiceType">
+          <eStructuralFeatures xsi:type="ecore:EReference" name="choiceAttrib" ordered="false"
+              unique="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property"/>
+          <eStructuralFeatures xsi:type="ecore:EReference" name="defaultAttrib" ordered="false"
+              unique="false" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property"/>
+          <eStructuralFeatures xsi:type="ecore:EReference" name="base_DataType" ordered="false"
+              unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//DataType"/>
+        </eClassifiers>
+        <eClassifiers xsi:type="ecore:EClass" name="TupleType">
+          <eStructuralFeatures xsi:type="ecore:EReference" name="tupleAttrib" ordered="false"
+              unique="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property"/>
+          <eStructuralFeatures xsi:type="ecore:EReference" name="base_DataType" ordered="false"
+              unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//DataType"/>
+        </eClassifiers>
+      </eSubpackages>
+    </eSubpackages>
+  </eSubpackages>
+  <eSubpackages name="MARTE_DesignModel" nsURI="http:///MARTE/MARTE_DesignModel.ecore"
+      nsPrefix="MARTE.MARTE_DesignModel">
+    <eSubpackages name="HLAM" nsURI="http://www.eclipse.org/papyrus/HLAM/1" nsPrefix="HLAM">
+      <eClassifiers xsi:type="ecore:EClass" name="RtUnit">
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="isDynamic" ordered="false"
+            unique="false" lowerBound="1" eType="ecore:EDataType MARTE_Library.ecore#//MARTE_PrimitivesTypes/Boolean"
+            defaultValueLiteral="true"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="isMain" ordered="false"
+            unique="false" eType="ecore:EDataType MARTE_Library.ecore#//MARTE_PrimitivesTypes/Boolean"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="srPoolSize" ordered="false"
+            unique="false" eType="ecore:EDataType MARTE_Library.ecore#//MARTE_PrimitivesTypes/Integer"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="srPoolPolicy" ordered="false"
+            unique="false" eType="#//MARTE_DesignModel/HLAM/PoolMgtPolicyKind"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="srPoolWaitingTime"
+            ordered="false" unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Duration"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="operationalMode" ordered="false"
+            unique="false" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Behavior"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="main" ordered="false"
+            unique="false" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Operation"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="memorySize" ordered="false"
+            unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_DataSize"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_BehavioredClassifier"
+            ordered="false" unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//BehavioredClassifier"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="queueSchedPolicy" ordered="false"
+            unique="false" eType="ecore:EEnum MARTE_Library.ecore#//GRM_BasicTypes/SchedPolicyKind"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="queueSize" ordered="false"
+            unique="false" eType="ecore:EDataType MARTE_Library.ecore#//MARTE_PrimitivesTypes/Integer"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="msgMaxSize" ordered="false"
+            unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_DataSize"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EEnum" name="PoolMgtPolicyKind">
+        <eLiterals name="infiniteWait"/>
+        <eLiterals name="timedWait" value="1"/>
+        <eLiterals name="dynamic" value="2"/>
+        <eLiterals name="exception" value="3"/>
+        <eLiterals name="other" value="4"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="PpUnit">
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="concPolicy" ordered="false"
+            unique="false" eType="#//MARTE_DesignModel/HLAM/CallConcurrencyKind"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="memorySize" ordered="false"
+            unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_DataSize"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_BehavioredClassifier"
+            ordered="false" unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//BehavioredClassifier"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EEnum" name="CallConcurrencyKind">
+        <eLiterals name="sequential"/>
+        <eLiterals name="guarded" value="1"/>
+        <eLiterals name="concurrent" value="2"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="RtFeature">
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_BehavioralFeature"
+            ordered="false" unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//BehavioralFeature"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_Message" ordered="false"
+            unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Message"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_Signal" ordered="false"
+            unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Signal"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_Port" ordered="false"
+            unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Port"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_InvocationAction"
+            ordered="false" unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//InvocationAction"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="specification" ordered="false"
+            unique="false" lowerBound="1" upperBound="-1" eType="#//MARTE_DesignModel/HLAM/RtSpecification"
+            volatile="true" transient="true" derived="true">
+          <eAnnotations source="subsets" references="platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Element/ownedComment"/>
+        </eStructuralFeatures>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="RtSpecification">
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="utility" ordered="false"
+            unique="false" eType="ecore:EDataType MARTE_Library.ecore#//MARTE_DataTypes/UtilityType"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="occKind" ordered="false"
+            unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/ArrivalPattern"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="tRef" ordered="false"
+            unique="false" eType="#//MARTE_Foundations/Time/TimedInstantObservation"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="relDl" ordered="false"
+            unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Duration"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="absDl" ordered="false"
+            unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_DateTime"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="boundDl" ordered="false"
+            unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Duration"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="rdTime" ordered="false"
+            unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Duration"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="miss" ordered="false"
+            unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Percentage"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="priority" ordered="false"
+            unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Integer"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_Comment" ordered="false"
+            unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Comment"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="context" ordered="false"
+            eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//BehavioralFeature"
+            volatile="true" transient="true" derived="true"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EEnum" name="SynchronizationKind">
+        <eLiterals name="synchronous"/>
+        <eLiterals name="asynchronous" value="1"/>
+        <eLiterals name="delayedSynchronous" value="2"/>
+        <eLiterals name="rendezVous" value="3"/>
+        <eLiterals name="other" value="4"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="RtAction">
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="isAtomic" ordered="false"
+            unique="false" lowerBound="1" eType="ecore:EDataType MARTE_Library.ecore#//MARTE_PrimitivesTypes/Boolean"
+            defaultValueLiteral="false"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="synchKind" ordered="false"
+            unique="false" eType="#//MARTE_DesignModel/HLAM/SynchronizationKind"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="msgSize" ordered="false"
+            unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_DataSize"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_BehavioralFeature"
+            ordered="false" unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//BehavioralFeature"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_InvocationAction"
+            ordered="false" unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//InvocationAction"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EEnum" name="ExecutionKind">
+        <eLiterals name="deferred"/>
+        <eLiterals name="remoteImmediate" value="1"/>
+        <eLiterals name="localImmediate" value="2"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EEnum" name="ConcurrencyKind">
+        <eLiterals name="reader"/>
+        <eLiterals name="writer" value="1"/>
+        <eLiterals name="parallel" value="2"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="RtService">
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="concPolicy" ordered="false"
+            unique="false" eType="#//MARTE_DesignModel/HLAM/ConcurrencyKind"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="exeKind" ordered="false"
+            unique="false" eType="#//MARTE_DesignModel/HLAM/ExecutionKind"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="isAtomic" ordered="false"
+            unique="false" lowerBound="1" eType="ecore:EDataType MARTE_Library.ecore#//MARTE_PrimitivesTypes/Boolean"
+            defaultValueLiteral="false"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="synchKind" ordered="false"
+            unique="false" eType="#//MARTE_DesignModel/HLAM/SynchronizationKind"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_BehavioralFeature"
+            ordered="false" unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//BehavioralFeature"/>
+      </eClassifiers>
+    </eSubpackages>
+    <eSubpackages name="HRM" nsURI="http://www.eclipse.org/papyrus/HRM/1" nsPrefix="HRM">
+      <eClassifiers xsi:type="ecore:EEnum" name="dummy"/>
+      <eSubpackages name="HwLogical" nsURI="http://www.eclipse.org/papyrus/HwLogical/1"
+          nsPrefix="HwLogical">
+        <eClassifiers xsi:type="ecore:EEnum" name="dummy"/>
+        <eSubpackages name="HwComputing" nsURI="http://www.eclipse.org/papyrus/HwComputing/1"
+            nsPrefix="HwComputing">
+          <eClassifiers xsi:type="ecore:EEnum" name="ISA_Type">
+            <eLiterals name="RISC"/>
+            <eLiterals name="CISC" value="1"/>
+            <eLiterals name="VLIW" value="2"/>
+            <eLiterals name="SIMD" value="3"/>
+            <eLiterals name="other" value="4"/>
+            <eLiterals name="undef" value="5"/>
+          </eClassifiers>
+          <eClassifiers xsi:type="ecore:EEnum" name="PLD_Technology">
+            <eLiterals name="SRAM"/>
+            <eLiterals name="antifuse" value="1"/>
+            <eLiterals name="flash" value="2"/>
+            <eLiterals name="other" value="3"/>
+            <eLiterals name="undef" value="4"/>
+          </eClassifiers>
+          <eClassifiers xsi:type="ecore:EEnum" name="PLD_Class">
+            <eLiterals name="symetricalArray"/>
+            <eLiterals name="rowBased" value="1"/>
+            <eLiterals name="seaOfGates" value="2"/>
+            <eLiterals name="hierarchicalPLD" value="3"/>
+            <eLiterals name="other" value="4"/>
+            <eLiterals name="undef" value="5"/>
+          </eClassifiers>
+          <eClassifiers xsi:type="ecore:EDataType" name="PLD_Organization" instanceClassName="java.lang.String"/>
+          <eClassifiers xsi:type="ecore:EClass" name="HwProcessor" eSuperTypes="#//MARTE_DesignModel/HRM/HwLogical/HwComputing/HwComputingResource">
+            <eStructuralFeatures xsi:type="ecore:EAttribute" name="architecture" ordered="false"
+                unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_DataSize"
+                volatile="true" derived="true"/>
+            <eStructuralFeatures xsi:type="ecore:EAttribute" name="mips" ordered="false"
+                unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Natural"/>
+            <eStructuralFeatures xsi:type="ecore:EAttribute" name="ipc" ordered="false"
+                unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Real"
+                volatile="true" derived="true"/>
+            <eStructuralFeatures xsi:type="ecore:EAttribute" name="nbCores" ordered="false"
+                unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Natural"/>
+            <eStructuralFeatures xsi:type="ecore:EAttribute" name="nbPipelines" ordered="false"
+                unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Natural"/>
+            <eStructuralFeatures xsi:type="ecore:EAttribute" name="nbStages" ordered="false"
+                unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Natural"/>
+            <eStructuralFeatures xsi:type="ecore:EAttribute" name="nbALUs" ordered="false"
+                unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Natural"/>
+            <eStructuralFeatures xsi:type="ecore:EAttribute" name="nbFPUs" ordered="false"
+                unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Natural"/>
+            <eStructuralFeatures xsi:type="ecore:EReference" name="ownedISAs" ordered="false"
+                upperBound="-1" eType="#//MARTE_DesignModel/HRM/HwLogical/HwComputing/HwISA">
+              <eAnnotations source="subsets" references="#//MARTE_DesignModel/HRM/HwGeneral/HwResource/ownedHW"/>
+            </eStructuralFeatures>
+            <eStructuralFeatures xsi:type="ecore:EReference" name="predictors" ordered="false"
+                upperBound="-1" eType="#//MARTE_DesignModel/HRM/HwLogical/HwComputing/HwBranchPredictor">
+              <eAnnotations source="subsets" references="#//MARTE_DesignModel/HRM/HwGeneral/HwResource/ownedHW"/>
+            </eStructuralFeatures>
+            <eStructuralFeatures xsi:type="ecore:EReference" name="caches" ordered="false"
+                upperBound="-1" eType="#//MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/HwCache">
+              <eAnnotations source="subsets" references="#//MARTE_DesignModel/HRM/HwGeneral/HwResource/ownedHW"/>
+            </eStructuralFeatures>
+            <eStructuralFeatures xsi:type="ecore:EReference" name="ownedMMUs" ordered="false"
+                upperBound="-1" eType="#//MARTE_DesignModel/HRM/HwLogical/HwStorage/HwStorageManager/HwMMU">
+              <eAnnotations source="subsets" references="#//MARTE_DesignModel/HRM/HwGeneral/HwResource/ownedHW"/>
+            </eStructuralFeatures>
+          </eClassifiers>
+          <eClassifiers xsi:type="ecore:EClass" name="HwComputingResource" eSuperTypes="#//MARTE_DesignModel/HRM/HwGeneral/HwResource #//MARTE_Foundations/GRM/ComputingResource">
+            <eStructuralFeatures xsi:type="ecore:EAttribute" name="op_Frequencies"
+                ordered="false" unique="false" eType="ecore:EDataType MARTE_Library.ecore#//MARTE_DataTypes/NFP_FrequencyInterval"/>
+          </eClassifiers>
+          <eClassifiers xsi:type="ecore:EClass" name="HwISA" eSuperTypes="#//MARTE_DesignModel/HRM/HwGeneral/HwResource">
+            <eStructuralFeatures xsi:type="ecore:EAttribute" name="family" ordered="false"
+                unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_String"/>
+            <eStructuralFeatures xsi:type="ecore:EAttribute" name="inst_Width" ordered="false"
+                unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_DataSize"/>
+            <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" ordered="false"
+                unique="false" eType="#//MARTE_DesignModel/HRM/HwLogical/HwComputing/ISA_Type"/>
+          </eClassifiers>
+          <eClassifiers xsi:type="ecore:EClass" name="HwBranchPredictor" eSuperTypes="#//MARTE_DesignModel/HRM/HwGeneral/HwResource"/>
+          <eClassifiers xsi:type="ecore:EClass" name="HwASIC" eSuperTypes="#//MARTE_DesignModel/HRM/HwLogical/HwComputing/HwComputingResource"/>
+          <eClassifiers xsi:type="ecore:EClass" name="HwPLD" eSuperTypes="#//MARTE_DesignModel/HRM/HwLogical/HwComputing/HwComputingResource">
+            <eStructuralFeatures xsi:type="ecore:EAttribute" name="technology" ordered="false"
+                unique="false" eType="#//MARTE_DesignModel/HRM/HwLogical/HwComputing/PLD_Technology"/>
+            <eStructuralFeatures xsi:type="ecore:EAttribute" name="organization" ordered="false"
+                unique="false" eType="#//MARTE_DesignModel/HRM/HwLogical/HwComputing/PLD_Organization"/>
+            <eStructuralFeatures xsi:type="ecore:EAttribute" name="nbLUTs" ordered="false"
+                unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Natural"/>
+            <eStructuralFeatures xsi:type="ecore:EAttribute" name="ndLUT_Inputs" ordered="false"
+                unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Natural"/>
+            <eStructuralFeatures xsi:type="ecore:EAttribute" name="nbFlipFlops" ordered="false"
+                unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Natural"/>
+            <eStructuralFeatures xsi:type="ecore:EReference" name="blocksRAM" ordered="false"
+                upperBound="-1" eType="#//MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/HwRAM">
+              <eAnnotations source="subsets" references="#//MARTE_DesignModel/HRM/HwGeneral/HwResource/ownedHW"/>
+            </eStructuralFeatures>
+            <eStructuralFeatures xsi:type="ecore:EReference" name="blocksComputing"
+                ordered="false" upperBound="-1" eType="#//MARTE_DesignModel/HRM/HwLogical/HwComputing/HwComputingResource">
+              <eAnnotations source="subsets" references="#//MARTE_DesignModel/HRM/HwGeneral/HwResource/ownedHW"/>
+            </eStructuralFeatures>
+          </eClassifiers>
+        </eSubpackages>
+        <eSubpackages name="HwCommunication" nsURI="http://www.eclipse.org/papyrus/HwCommunication/1"
+            nsPrefix="HwCommunication">
+          <eClassifiers xsi:type="ecore:EClass" name="HwCommunicationResource" eSuperTypes="#//MARTE_DesignModel/HRM/HwGeneral/HwResource"/>
+          <eClassifiers xsi:type="ecore:EClass" name="HwArbiter" eSuperTypes="#//MARTE_DesignModel/HRM/HwLogical/HwCommunication/HwCommunicationResource">
+            <eStructuralFeatures xsi:type="ecore:EReference" name="controlledMedias"
+                ordered="false" upperBound="-1" eType="#//MARTE_DesignModel/HRM/HwLogical/HwCommunication/HwMedia"
+                eOpposite="#//MARTE_DesignModel/HRM/HwLogical/HwCommunication/HwMedia/arbiters"/>
+          </eClassifiers>
+          <eClassifiers xsi:type="ecore:EClass" name="HwMedia" eSuperTypes="#//MARTE_Foundations/GRM/CommunicationMedia #//MARTE_DesignModel/HRM/HwLogical/HwCommunication/HwCommunicationResource">
+            <eStructuralFeatures xsi:type="ecore:EAttribute" name="bandWidth" ordered="false"
+                unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_DataTxRate"/>
+            <eStructuralFeatures xsi:type="ecore:EReference" name="arbiters" ordered="false"
+                upperBound="-1" eType="#//MARTE_DesignModel/HRM/HwLogical/HwCommunication/HwArbiter"
+                eOpposite="#//MARTE_DesignModel/HRM/HwLogical/HwCommunication/HwArbiter/controlledMedias"/>
+          </eClassifiers>
+          <eClassifiers xsi:type="ecore:EClass" name="HwBus" eSuperTypes="#//MARTE_DesignModel/HRM/HwLogical/HwCommunication/HwMedia">
+            <eStructuralFeatures xsi:type="ecore:EAttribute" name="adressWidth" ordered="false"
+                unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_DataSize"/>
+            <eStructuralFeatures xsi:type="ecore:EAttribute" name="wordWidth" ordered="false"
+                unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_DataSize"/>
+            <eStructuralFeatures xsi:type="ecore:EAttribute" name="isSynchronous"
+                ordered="false" unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Boolean"/>
+            <eStructuralFeatures xsi:type="ecore:EAttribute" name="isSerial" ordered="false"
+                unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Boolean"/>
+          </eClassifiers>
+          <eClassifiers xsi:type="ecore:EClass" name="HwBridge" eSuperTypes="#//MARTE_DesignModel/HRM/HwLogical/HwCommunication/HwMedia">
+            <eStructuralFeatures xsi:type="ecore:EReference" name="sides" ordered="false"
+                unique="false" upperBound="-1" eType="#//MARTE_DesignModel/HRM/HwLogical/HwCommunication/HwMedia"/>
+          </eClassifiers>
+          <eClassifiers xsi:type="ecore:EClass" name="HwEndPoint" eSuperTypes="#//MARTE_DesignModel/HRM/HwLogical/HwCommunication/HwCommunicationResource #//MARTE_Foundations/GRM/CommunicationEndPoint">
+            <eStructuralFeatures xsi:type="ecore:EReference" name="connectedTo" ordered="false"
+                unique="false" upperBound="-1" eType="#//MARTE_DesignModel/HRM/HwLogical/HwCommunication/HwMedia"/>
+          </eClassifiers>
+        </eSubpackages>
+        <eSubpackages name="HwStorage" nsURI="http://www.eclipse.org/papyrus/HwStorage/1"
+            nsPrefix="HwStorage">
+          <eClassifiers xsi:type="ecore:EEnum" name="dummy"/>
+          <eSubpackages name="HwStorageManager" nsURI="http://www.eclipse.org/papyrus/HwStorageManager/1"
+              nsPrefix="HwStorageManager">
+            <eClassifiers xsi:type="ecore:EClass" name="HwStorageManager" eSuperTypes="#//MARTE_DesignModel/HRM/HwGeneral/HwResource #//MARTE_Foundations/GRM/StorageResource">
+              <eStructuralFeatures xsi:type="ecore:EReference" name="managedMemories"
+                  ordered="false" unique="false" upperBound="-1" eType="#//MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/HwMemory"/>
+            </eClassifiers>
+            <eClassifiers xsi:type="ecore:EClass" name="HwDMA" eSuperTypes="#//MARTE_DesignModel/HRM/HwLogical/HwStorage/HwStorageManager/HwStorageManager #//MARTE_DesignModel/HRM/HwLogical/HwCommunication/HwArbiter">
+              <eStructuralFeatures xsi:type="ecore:EAttribute" name="nbChannels" ordered="false"
+                  unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Natural"/>
+              <eStructuralFeatures xsi:type="ecore:EAttribute" name="transferWidth"
+                  ordered="false" unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_DataSize"/>
+              <eStructuralFeatures xsi:type="ecore:EReference" name="drivenBy" ordered="false"
+                  unique="false" upperBound="-1" eType="#//MARTE_DesignModel/HRM/HwLogical/HwComputing/HwProcessor"/>
+            </eClassifiers>
+            <eClassifiers xsi:type="ecore:EClass" name="HwMMU" eSuperTypes="#//MARTE_DesignModel/HRM/HwLogical/HwStorage/HwStorageManager/HwStorageManager">
+              <eStructuralFeatures xsi:type="ecore:EAttribute" name="virtualAddrSpace"
+                  ordered="false" unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_DataSize"/>
+              <eStructuralFeatures xsi:type="ecore:EAttribute" name="physicalAddrSpace"
+                  ordered="false" unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_DataSize"/>
+              <eStructuralFeatures xsi:type="ecore:EAttribute" name="memoryProtection"
+                  ordered="false" unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Boolean"/>
+              <eStructuralFeatures xsi:type="ecore:EAttribute" name="nbEntries" ordered="false"
+                  unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Natural"
+                  volatile="true" derived="true"/>
+              <eStructuralFeatures xsi:type="ecore:EReference" name="ownedTLBs" ordered="false"
+                  upperBound="-1" eType="#//MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/HwCache">
+                <eAnnotations source="subsets" references="#//MARTE_DesignModel/HRM/HwGeneral/HwResource/ownedHW"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+          </eSubpackages>
+          <eSubpackages name="HwMemory" nsURI="http://www.eclipse.org/papyrus/HwMemory/1"
+              nsPrefix="HwMemory">
+            <eClassifiers xsi:type="ecore:EClass" name="HwMemory" eSuperTypes="#//MARTE_DesignModel/HRM/HwGeneral/HwResource #//MARTE_Foundations/GRM/StorageResource">
+              <eStructuralFeatures xsi:type="ecore:EAttribute" name="memorySize" ordered="false"
+                  unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_DataSize"/>
+              <eStructuralFeatures xsi:type="ecore:EAttribute" name="adressSize" ordered="false"
+                  unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_DataSize"/>
+              <eStructuralFeatures xsi:type="ecore:EAttribute" name="timings" ordered="false"
+                  upperBound="-1" eType="#//MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/Timing"/>
+              <eStructuralFeatures xsi:type="ecore:EAttribute" name="throughput" ordered="false"
+                  unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_DataTxRate"/>
+            </eClassifiers>
+            <eClassifiers xsi:type="ecore:EDataType" name="Timing" instanceClassName="java.lang.String"/>
+            <eClassifiers xsi:type="ecore:EEnum" name="Repl_Policy">
+              <eLiterals name="LRU"/>
+              <eLiterals name="NFU" value="1"/>
+              <eLiterals name="FIFO" value="2"/>
+              <eLiterals name="random" value="3"/>
+              <eLiterals name="other" value="4"/>
+              <eLiterals name="undef" value="5"/>
+            </eClassifiers>
+            <eClassifiers xsi:type="ecore:EEnum" name="WritePolicy">
+              <eLiterals name="writeBack"/>
+              <eLiterals name="writeThrough" value="1"/>
+              <eLiterals name="other" value="2"/>
+              <eLiterals name="undef" value="3"/>
+            </eClassifiers>
+            <eClassifiers xsi:type="ecore:EEnum" name="CacheType">
+              <eLiterals name="data"/>
+              <eLiterals name="instruction" value="1"/>
+              <eLiterals name="unified" value="2"/>
+              <eLiterals name="other" value="3"/>
+              <eLiterals name="undef" value="4"/>
+            </eClassifiers>
+            <eClassifiers xsi:type="ecore:EEnum" name="ROM_Type">
+              <eLiterals name="maskedROM"/>
+              <eLiterals name="EPROM" value="1"/>
+              <eLiterals name="OTP_EPROM" value="2"/>
+              <eLiterals name="EEPROM" value="3"/>
+              <eLiterals name="Flash" value="4"/>
+              <eLiterals name="other" value="5"/>
+              <eLiterals name="undef" value="6"/>
+            </eClassifiers>
+            <eClassifiers xsi:type="ecore:EDataType" name="CacheStructure" instanceClassName="java.lang.String"/>
+            <eClassifiers xsi:type="ecore:EDataType" name="MemoryOrganization" instanceClassName="java.lang.String"/>
+            <eClassifiers xsi:type="ecore:EClass" name="HwRAM" eSuperTypes="#//MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/HwMemory">
+              <eStructuralFeatures xsi:type="ecore:EAttribute" name="organization"
+                  ordered="false" unique="false" eType="#//MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/MemoryOrganization"/>
+              <eStructuralFeatures xsi:type="ecore:EAttribute" name="isSynchronous"
+                  ordered="false" unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Boolean"/>
+              <eStructuralFeatures xsi:type="ecore:EAttribute" name="isStatic" ordered="false"
+                  unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Boolean"/>
+              <eStructuralFeatures xsi:type="ecore:EAttribute" name="isNonVolatile"
+                  ordered="false" unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Boolean"/>
+              <eStructuralFeatures xsi:type="ecore:EAttribute" name="repl_Policy"
+                  ordered="false" unique="false" eType="#//MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/Repl_Policy"/>
+              <eStructuralFeatures xsi:type="ecore:EAttribute" name="writePolicy"
+                  ordered="false" unique="false" eType="#//MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/WritePolicy"/>
+            </eClassifiers>
+            <eClassifiers xsi:type="ecore:EClass" name="HwROM" eSuperTypes="#//MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/HwMemory">
+              <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" ordered="false"
+                  unique="false" eType="#//MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/ROM_Type"/>
+              <eStructuralFeatures xsi:type="ecore:EAttribute" name="organization"
+                  ordered="false" unique="false" eType="#//MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/MemoryOrganization"/>
+            </eClassifiers>
+            <eClassifiers xsi:type="ecore:EClass" name="HwDrive" eSuperTypes="#//MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/HwMemory">
+              <eStructuralFeatures xsi:type="ecore:EAttribute" name="sectorSize" ordered="false"
+                  unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_DataSize"/>
+              <eStructuralFeatures xsi:type="ecore:EReference" name="buffer" ordered="false"
+                  unique="false" eType="#//MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/HwRAM">
+                <eAnnotations source="subsets" references="#//MARTE_DesignModel/HRM/HwGeneral/HwResource/ownedHW"/>
+              </eStructuralFeatures>
+            </eClassifiers>
+            <eClassifiers xsi:type="ecore:EClass" name="HwCache" eSuperTypes="#//MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/HwMemory">
+              <eStructuralFeatures xsi:type="ecore:EAttribute" name="level" ordered="false"
+                  unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Natural"/>
+              <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" ordered="false"
+                  unique="false" eType="#//MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/CacheType"/>
+              <eStructuralFeatures xsi:type="ecore:EAttribute" name="structure" ordered="false"
+                  unique="false" eType="#//MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/CacheStructure"/>
+              <eStructuralFeatures xsi:type="ecore:EAttribute" name="repl_Policy"
+                  ordered="false" unique="false" eType="#//MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/Repl_Policy"/>
+              <eStructuralFeatures xsi:type="ecore:EAttribute" name="writePolicy"
+                  ordered="false" unique="false" eType="#//MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/WritePolicy"/>
+            </eClassifiers>
+          </eSubpackages>
+        </eSubpackages>
+        <eSubpackages name="HwTiming" nsURI="http://www.eclipse.org/papyrus/HwTiming/1"
+            nsPrefix="HwTiming">
+          <eClassifiers xsi:type="ecore:EClass" name="HwTimingResource" eSuperTypes="#//MARTE_DesignModel/HRM/HwGeneral/HwResource #//MARTE_Foundations/GRM/TimingResource"/>
+          <eClassifiers xsi:type="ecore:EClass" name="HwClock" eSuperTypes="#//MARTE_DesignModel/HRM/HwLogical/HwTiming/HwTimingResource"/>
+          <eClassifiers xsi:type="ecore:EClass" name="HwTimer" eSuperTypes="#//MARTE_DesignModel/HRM/HwLogical/HwTiming/HwTimingResource">
+            <eStructuralFeatures xsi:type="ecore:EAttribute" name="nbCounters" ordered="false"
+                unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Natural"/>
+            <eStructuralFeatures xsi:type="ecore:EAttribute" name="counterWidth" ordered="false"
+                unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_DataSize"/>
+            <eStructuralFeatures xsi:type="ecore:EReference" name="inputClock" ordered="false"
+                unique="false" eType="#//MARTE_DesignModel/HRM/HwLogical/HwTiming/HwClock"/>
+          </eClassifiers>
+        </eSubpackages>
+        <eSubpackages name="HwDevice" nsURI="http://www.eclipse.org/papyrus/HwDevice/1"
+            nsPrefix="HwDevice">
+          <eClassifiers xsi:type="ecore:EClass" name="HwDevice" eSuperTypes="#//MARTE_DesignModel/HRM/HwGeneral/HwResource #//MARTE_Foundations/GRM/DeviceResource"/>
+          <eClassifiers xsi:type="ecore:EClass" name="HwI_O" eSuperTypes="#//MARTE_DesignModel/HRM/HwLogical/HwDevice/HwDevice"/>
+          <eClassifiers xsi:type="ecore:EClass" name="HwSupport" eSuperTypes="#//MARTE_DesignModel/HRM/HwLogical/HwDevice/HwDevice"/>
+          <eClassifiers xsi:type="ecore:EClass" name="HWActuator" eSuperTypes="#//MARTE_DesignModel/HRM/HwLogical/HwDevice/HwI_O"/>
+          <eClassifiers xsi:type="ecore:EClass" name="HWSensor" eSuperTypes="#//MARTE_DesignModel/HRM/HwLogical/HwDevice/HwI_O"/>
+        </eSubpackages>
+      </eSubpackages>
+      <eSubpackages name="HwGeneral" nsURI="http://www.eclipse.org/papyrus/HwGeneral/1"
+          nsPrefix="HwGeneral">
+        <eClassifiers xsi:type="ecore:EClass" name="HwResourceService" eSuperTypes="#//MARTE_Foundations/GRM/GrService">
+          <eStructuralFeatures xsi:type="ecore:EAttribute" name="consumption" ordered="false"
+              unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Power"/>
+          <eStructuralFeatures xsi:type="ecore:EAttribute" name="dissipation" ordered="false"
+              unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Power"/>
+        </eClassifiers>
+        <eClassifiers xsi:type="ecore:EClass" name="HwResource" eSuperTypes="#//MARTE_Foundations/GRM/Resource">
+          <eStructuralFeatures xsi:type="ecore:EAttribute" name="description" ordered="false"
+              unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_String"/>
+          <eStructuralFeatures xsi:type="ecore:EReference" name="p_HW_Services" ordered="false"
+              upperBound="-1" eType="#//MARTE_DesignModel/HRM/HwGeneral/HwResourceService"
+              containment="true"/>
+          <eStructuralFeatures xsi:type="ecore:EReference" name="r_HW_Services" ordered="false"
+              upperBound="-1" eType="#//MARTE_DesignModel/HRM/HwGeneral/HwResourceService"/>
+          <eStructuralFeatures xsi:type="ecore:EReference" name="ownedHW" ordered="false"
+              upperBound="-1" eType="#//MARTE_DesignModel/HRM/HwGeneral/HwResource"/>
+          <eStructuralFeatures xsi:type="ecore:EReference" name="endPoints" ordered="false"
+              upperBound="-1" eType="#//MARTE_DesignModel/HRM/HwLogical/HwCommunication/HwEndPoint">
+            <eAnnotations source="subsets" references="#//MARTE_DesignModel/HRM/HwGeneral/HwResource/ownedHW"/>
+          </eStructuralFeatures>
+          <eStructuralFeatures xsi:type="ecore:EAttribute" name="frequency" ordered="false"
+              unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Frequency"/>
+        </eClassifiers>
+      </eSubpackages>
+      <eSubpackages name="HwPhysical" nsURI="http://www.eclipse.org/papyrus/HwPhysical/1"
+          nsPrefix="HwPhysical">
+        <eClassifiers xsi:type="ecore:EEnum" name="dummy"/>
+        <eSubpackages name="HwLayout" nsURI="http://www.eclipse.org/papyrus/HwLayout/1"
+            nsPrefix="HwLayout">
+          <eClassifiers xsi:type="ecore:EClass" name="HwComponent" eSuperTypes="#//MARTE_DesignModel/HRM/HwGeneral/HwResource">
+            <eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" ordered="false"
+                unique="false" eType="#//MARTE_DesignModel/HRM/HwPhysical/HwLayout/ComponentKind"/>
+            <eStructuralFeatures xsi:type="ecore:EAttribute" name="dimensions" ordered="false"
+                upperBound="3" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Length"/>
+            <eStructuralFeatures xsi:type="ecore:EAttribute" name="area" ordered="false"
+                unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Area"
+                volatile="true" derived="true"/>
+            <eStructuralFeatures xsi:type="ecore:EAttribute" name="position" ordered="false"
+                upperBound="2" eType="ecore:EDataType MARTE_Library.ecore#//MARTE_DataTypes/NFP_NaturalInterval"/>
+            <eStructuralFeatures xsi:type="ecore:EAttribute" name="grid" ordered="false"
+                upperBound="2" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Natural"/>
+            <eStructuralFeatures xsi:type="ecore:EAttribute" name="nbPins" ordered="false"
+                unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Natural"/>
+            <eStructuralFeatures xsi:type="ecore:EAttribute" name="weight" ordered="false"
+                unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Real"/>
+            <eStructuralFeatures xsi:type="ecore:EAttribute" name="price" ordered="false"
+                unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Price"/>
+            <eStructuralFeatures xsi:type="ecore:EAttribute" name="r_Conditions" ordered="false"
+                upperBound="-1" eType="#//MARTE_DesignModel/HRM/HwPhysical/HwLayout/Env_Condition"/>
+            <eStructuralFeatures xsi:type="ecore:EReference" name="poweredServices"
+                ordered="false" upperBound="-1" eType="#//MARTE_DesignModel/HRM/HwGeneral/HwResourceService"
+                containment="true">
+              <eAnnotations source="redefines" references="#//MARTE_DesignModel/HRM/HwGeneral/HwResource/p_HW_Services"/>
+            </eStructuralFeatures>
+            <eStructuralFeatures xsi:type="ecore:EAttribute" name="staticConsumption"
+                ordered="false" unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Power"/>
+            <eStructuralFeatures xsi:type="ecore:EAttribute" name="staticDissipation"
+                ordered="false" unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Power"/>
+            <eStructuralFeatures xsi:type="ecore:EReference" name="subComponents"
+                ordered="false" upperBound="-1" eType="#//MARTE_DesignModel/HRM/HwPhysical/HwLayout/HwComponent">
+              <eAnnotations source="subsets" references="#//MARTE_DesignModel/HRM/HwGeneral/HwResource/ownedHW"/>
+            </eStructuralFeatures>
+          </eClassifiers>
+          <eClassifiers xsi:type="ecore:EEnum" name="ComponentKind">
+            <eLiterals name="card"/>
+            <eLiterals name="channel" value="1"/>
+            <eLiterals name="chip" value="2"/>
+            <eLiterals name="port" value="3"/>
+            <eLiterals name="unit" value="4"/>
+            <eLiterals name="other" value="5"/>
+            <eLiterals name="undef" value="6"/>
+          </eClassifiers>
+          <eClassifiers xsi:type="ecore:EDataType" name="Env_Condition" instanceClassName="java.lang.String"/>
+          <eClassifiers xsi:type="ecore:EEnum" name="ConditionType">
+            <eLiterals name="temperature"/>
+            <eLiterals name="humidity" value="1"/>
+            <eLiterals name="altitude" value="2"/>
+            <eLiterals name="vibration" value="3"/>
+            <eLiterals name="shock" value="4"/>
+            <eLiterals name="other" value="5"/>
+            <eLiterals name="undef" value="6"/>
+          </eClassifiers>
+          <eClassifiers xsi:type="ecore:EEnum" name="ComponentState">
+            <eLiterals name="operating"/>
+            <eLiterals name="storage" value="1"/>
+            <eLiterals name="other" value="2"/>
+            <eLiterals name="undef" value="3"/>
+          </eClassifiers>
+        </eSubpackages>
+        <eSubpackages name="HwPower" nsURI="http://www.eclipse.org/papyrus/HwPower/1"
+            nsPrefix="HwPower">
+          <eClassifiers xsi:type="ecore:EClass" name="HwPowerSupply" eSuperTypes="#//MARTE_DesignModel/HRM/HwPhysical/HwLayout/HwComponent">
+            <eStructuralFeatures xsi:type="ecore:EAttribute" name="suppliedPower"
+                ordered="false" unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Power"/>
+            <eStructuralFeatures xsi:type="ecore:EAttribute" name="capacity" ordered="false"
+                unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Energy"/>
+          </eClassifiers>
+          <eClassifiers xsi:type="ecore:EClass" name="HwCoolingSupply" eSuperTypes="#//MARTE_DesignModel/HRM/HwPhysical/HwLayout/HwComponent">
+            <eStructuralFeatures xsi:type="ecore:EAttribute" name="coolingPower" ordered="false"
+                unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Power"/>
+          </eClassifiers>
+        </eSubpackages>
+      </eSubpackages>
+    </eSubpackages>
+    <eSubpackages name="SRM" nsURI="http://www.eclipse.org/papyrus/SRM/1" nsPrefix="SRM">
+      <eClassifiers xsi:type="ecore:EEnum" name="dummy"/>
+      <eSubpackages name="SW_ResourceCore" nsURI="http://www.eclipse.org/papyrus/SW_ResourceCore/1"
+          nsPrefix="SW_ResourceCore">
+        <eClassifiers xsi:type="ecore:EClass" name="SwResource" abstract="true" eSuperTypes="#//MARTE_Foundations/GRM/Resource">
+          <eStructuralFeatures xsi:type="ecore:EReference" name="identifierElements"
+              ordered="false" unique="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//TypedElement"/>
+          <eStructuralFeatures xsi:type="ecore:EReference" name="stateElements" ordered="false"
+              unique="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//TypedElement"/>
+          <eStructuralFeatures xsi:type="ecore:EReference" name="memorySizeFootprint"
+              ordered="false" unique="false" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//TypedElement"/>
+          <eStructuralFeatures xsi:type="ecore:EReference" name="createServices" ordered="false"
+              unique="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//BehavioralFeature"/>
+          <eStructuralFeatures xsi:type="ecore:EReference" name="deleteServices" ordered="false"
+              unique="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//BehavioralFeature"/>
+          <eStructuralFeatures xsi:type="ecore:EReference" name="initializeServices"
+              ordered="false" unique="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//BehavioralFeature"/>
+        </eClassifiers>
+        <eClassifiers xsi:type="ecore:EClass" name="SwAccessService" eSuperTypes="#//MARTE_Foundations/GRM/GrService">
+          <eStructuralFeatures xsi:type="ecore:EAttribute" name="isModifier" ordered="false"
+              unique="false" eType="ecore:EDataType MARTE_Library.ecore#//MARTE_PrimitivesTypes/Boolean"/>
+          <eStructuralFeatures xsi:type="ecore:EReference" name="accessedElement"
+              ordered="false" unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property"/>
+        </eClassifiers>
+      </eSubpackages>
+      <eSubpackages name="SW_Concurrency" nsURI="http://www.eclipse.org/papyrus/SW_Concurrency/1"
+          nsPrefix="SW_Concurrency">
+        <eClassifiers xsi:type="ecore:EEnum" name="InterruptKind">
+          <eLiterals name="HardwareInterruption"/>
+          <eLiterals name="ProcessorDetectedException" value="1"/>
+          <eLiterals name="ProgrammedException" value="2"/>
+          <eLiterals name="Undef" value="3"/>
+          <eLiterals name="Other" value="4"/>
+        </eClassifiers>
+        <eClassifiers xsi:type="ecore:EClass" name="EntryPoint" eSuperTypes="#//MARTE_Foundations/Alloc/Allocate">
+          <eStructuralFeatures xsi:type="ecore:EAttribute" name="isReentrant" ordered="false"
+              unique="false" eType="ecore:EDataType MARTE_Library.ecore#//MARTE_PrimitivesTypes/Boolean"/>
+          <eStructuralFeatures xsi:type="ecore:EReference" name="routine" ordered="false"
+              unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//BehavioralFeature"/>
+        </eClassifiers>
+        <eClassifiers xsi:type="ecore:EClass" name="SwConcurrentResource" abstract="true"
+            eSuperTypes="#//MARTE_DesignModel/SRM/SW_ResourceCore/SwResource">
+          <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" ordered="false"
+              unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/ArrivalPattern"/>
+          <eStructuralFeatures xsi:type="ecore:EAttribute" name="activationCapacity"
+              ordered="false" unique="false" eType="ecore:EDataType MARTE_Library.ecore#//MARTE_PrimitivesTypes/Integer"/>
+          <eStructuralFeatures xsi:type="ecore:EReference" name="entryPoints" ordered="false"
+              unique="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Element"/>
+          <eStructuralFeatures xsi:type="ecore:EReference" name="adressSpace" ordered="false"
+              unique="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//TypedElement"/>
+          <eStructuralFeatures xsi:type="ecore:EReference" name="periodElements" ordered="false"
+              unique="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//TypedElement"/>
+          <eStructuralFeatures xsi:type="ecore:EReference" name="priorityElements"
+              ordered="false" unique="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//TypedElement"/>
+          <eStructuralFeatures xsi:type="ecore:EReference" name="stackSizeElements"
+              ordered="false" unique="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//TypedElement"/>
+          <eStructuralFeatures xsi:type="ecore:EReference" name="activateServices"
+              ordered="false" unique="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//BehavioralFeature"/>
+          <eStructuralFeatures xsi:type="ecore:EReference" name="enableConcurrencyServices"
+              ordered="false" unique="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//BehavioralFeature"/>
+          <eStructuralFeatures xsi:type="ecore:EReference" name="resumeServices" ordered="false"
+              unique="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//BehavioralFeature"/>
+          <eStructuralFeatures xsi:type="ecore:EReference" name="suspendServices"
+              ordered="false" unique="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//BehavioralFeature"/>
+          <eStructuralFeatures xsi:type="ecore:EReference" name="terminateServices"
+              ordered="false" unique="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//BehavioralFeature"/>
+          <eStructuralFeatures xsi:type="ecore:EReference" name="disableConcurrencyServices"
+              ordered="false" unique="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//BehavioralFeature"/>
+          <eStructuralFeatures xsi:type="ecore:EReference" name="shareDataResources"
+              ordered="false" unique="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//TypedElement"/>
+          <eStructuralFeatures xsi:type="ecore:EReference" name="messageResources"
+              ordered="false" unique="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//TypedElement"/>
+          <eStructuralFeatures xsi:type="ecore:EReference" name="mutualExclusionResources"
+              ordered="false" unique="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//TypedElement"/>
+          <eStructuralFeatures xsi:type="ecore:EReference" name="notificationResources"
+              ordered="false" unique="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//TypedElement"/>
+          <eStructuralFeatures xsi:type="ecore:EReference" name="heapSizeElements"
+              ordered="false" unique="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//TypedElement"/>
+        </eClassifiers>
+        <eClassifiers xsi:type="ecore:EClass" name="InterruptResource" eSuperTypes="#//MARTE_DesignModel/SRM/SW_Concurrency/SwConcurrentResource">
+          <eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" ordered="false"
+              unique="false" eType="#//MARTE_DesignModel/SRM/SW_Concurrency/InterruptKind"/>
+          <eStructuralFeatures xsi:type="ecore:EAttribute" name="isMaskable" ordered="false"
+              unique="false" eType="ecore:EDataType MARTE_Library.ecore#//MARTE_PrimitivesTypes/Boolean"/>
+          <eStructuralFeatures xsi:type="ecore:EReference" name="vectorElements" ordered="false"
+              unique="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//TypedElement"/>
+          <eStructuralFeatures xsi:type="ecore:EReference" name="maskElements" ordered="false"
+              unique="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//TypedElement"/>
+          <eStructuralFeatures xsi:type="ecore:EReference" name="routineConnectServices"
+              ordered="false" unique="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//BehavioralFeature"/>
+          <eStructuralFeatures xsi:type="ecore:EReference" name="routineDisconnectServices"
+              ordered="false" unique="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//BehavioralFeature"/>
+        </eClassifiers>
+        <eClassifiers xsi:type="ecore:EClass" name="SwSchedulableResource" eSuperTypes="#//MARTE_DesignModel/SRM/SW_Concurrency/SwConcurrentResource #//MARTE_Foundations/GRM/SchedulableResource">
+          <eStructuralFeatures xsi:type="ecore:EAttribute" name="isStaticSchedulingFeature"
+              ordered="false" unique="false" eType="ecore:EDataType MARTE_Library.ecore#//MARTE_PrimitivesTypes/Boolean"/>
+          <eStructuralFeatures xsi:type="ecore:EAttribute" name="isPreemptable" ordered="false"
+              unique="false" eType="ecore:EDataType MARTE_Library.ecore#//MARTE_PrimitivesTypes/Boolean"/>
+          <eStructuralFeatures xsi:type="ecore:EReference" name="schedulers" ordered="false"
+              unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement"/>
+          <eStructuralFeatures xsi:type="ecore:EReference" name="deadlineElements"
+              ordered="false" unique="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//TypedElement"/>
+          <eStructuralFeatures xsi:type="ecore:EReference" name="deadlineTypeElements"
+              ordered="false" unique="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//TypedElement"/>
+          <eStructuralFeatures xsi:type="ecore:EReference" name="timeSliceElements"
+              ordered="false" unique="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//TypedElement"/>
+          <eStructuralFeatures xsi:type="ecore:EReference" name="delayServices" ordered="false"
+              unique="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//BehavioralFeature"/>
+          <eStructuralFeatures xsi:type="ecore:EReference" name="joinServices" ordered="false"
+              unique="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//BehavioralFeature"/>
+          <eStructuralFeatures xsi:type="ecore:EReference" name="yieldServices" ordered="false"
+              unique="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//BehavioralFeature"/>
+        </eClassifiers>
+        <eClassifiers xsi:type="ecore:EClass" name="SwTimerResource" eSuperTypes="#//MARTE_Foundations/GRM/TimerResource">
+          <eStructuralFeatures xsi:type="ecore:EReference" name="durationElements"
+              ordered="false" unique="false" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//TypedElement">
+            <eAnnotations source="redefines" references="#//MARTE_Foundations/GRM/TimerResource/duration"/>
+          </eStructuralFeatures>
+        </eClassifiers>
+        <eClassifiers xsi:type="ecore:EClass" name="MemoryPartition" eSuperTypes="#//MARTE_DesignModel/SRM/SW_ResourceCore/SwResource">
+          <eStructuralFeatures xsi:type="ecore:EReference" name="concurrentResources"
+              ordered="false" unique="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//TypedElement"/>
+          <eStructuralFeatures xsi:type="ecore:EReference" name="memorySpaces" ordered="false"
+              unique="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//TypedElement"/>
+          <eStructuralFeatures xsi:type="ecore:EReference" name="fork" ordered="false"
+              unique="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//BehavioralFeature"/>
+          <eStructuralFeatures xsi:type="ecore:EReference" name="exit" ordered="false"
+              unique="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//BehavioralFeature"/>
+          <eStructuralFeatures xsi:type="ecore:EReference" name="base_Namespace" ordered="false"
+              unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Namespace"/>
+        </eClassifiers>
+        <eClassifiers xsi:type="ecore:EClass" name="Alarm" eSuperTypes="#//MARTE_DesignModel/SRM/SW_Concurrency/InterruptResource">
+          <eStructuralFeatures xsi:type="ecore:EAttribute" name="isWatchdog" ordered="false"
+              unique="false" eType="ecore:EDataType MARTE_Library.ecore#//MARTE_PrimitivesTypes/Boolean"/>
+          <eStructuralFeatures xsi:type="ecore:EReference" name="timers" ordered="false"
+              unique="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//TypedElement"/>
+        </eClassifiers>
+      </eSubpackages>
+      <eSubpackages name="SW_Brokering" nsURI="http://www.eclipse.org/papyrus/SW_Brokering/1"
+          nsPrefix="SW_Brokering">
+        <eClassifiers xsi:type="ecore:EEnum" name="AccessPolicyKind">
+          <eLiterals name="Read"/>
+          <eLiterals name="Write" value="1"/>
+          <eLiterals name="ReadWrite" value="2"/>
+          <eLiterals name="Undef" value="3"/>
+          <eLiterals name="Other" value="4"/>
+        </eClassifiers>
+        <eClassifiers xsi:type="ecore:EClass" name="DeviceBroker" eSuperTypes="#//MARTE_DesignModel/SRM/SW_ResourceCore/SwResource">
+          <eStructuralFeatures xsi:type="ecore:EAttribute" name="accessPolicy" ordered="false"
+              unique="false" eType="#//MARTE_DesignModel/SRM/SW_Brokering/AccessPolicyKind"/>
+          <eStructuralFeatures xsi:type="ecore:EAttribute" name="isBuffered" ordered="false"
+              unique="false" eType="ecore:EDataType MARTE_Library.ecore#//MARTE_PrimitivesTypes/Boolean"/>
+          <eStructuralFeatures xsi:type="ecore:EReference" name="devices" ordered="false"
+              unique="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//TypedElement"/>
+          <eStructuralFeatures xsi:type="ecore:EReference" name="closeServices" ordered="false"
+              unique="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//BehavioralFeature"/>
+          <eStructuralFeatures xsi:type="ecore:EReference" name="controlServices"
+              ordered="false" unique="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//BehavioralFeature"/>
+          <eStructuralFeatures xsi:type="ecore:EReference" name="openServices" ordered="false"
+              unique="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//BehavioralFeature"/>
+          <eStructuralFeatures xsi:type="ecore:EReference" name="readServices" ordered="false"
+              unique="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//BehavioralFeature"/>
+          <eStructuralFeatures xsi:type="ecore:EReference" name="writeServices" ordered="false"
+              unique="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//BehavioralFeature"/>
+        </eClassifiers>
+        <eClassifiers xsi:type="ecore:EClass" name="MemoryBroker" eSuperTypes="#//MARTE_DesignModel/SRM/SW_ResourceCore/SwResource">
+          <eStructuralFeatures xsi:type="ecore:EAttribute" name="accessPolicy" ordered="false"
+              unique="false" eType="#//MARTE_DesignModel/SRM/SW_Brokering/AccessPolicyKind"/>
+          <eStructuralFeatures xsi:type="ecore:EReference" name="memories" ordered="false"
+              unique="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//TypedElement"/>
+          <eStructuralFeatures xsi:type="ecore:EReference" name="memoryBlockAdressElements"
+              ordered="false" unique="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//TypedElement"/>
+          <eStructuralFeatures xsi:type="ecore:EReference" name="memoryBlockSizeElements"
+              ordered="false" unique="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//TypedElement"/>
+          <eStructuralFeatures xsi:type="ecore:EReference" name="lockServices" ordered="false"
+              unique="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//BehavioralFeature"/>
+          <eStructuralFeatures xsi:type="ecore:EReference" name="unlockServices" ordered="false"
+              unique="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//BehavioralFeature"/>
+          <eStructuralFeatures xsi:type="ecore:EReference" name="mapServices" ordered="false"
+              unique="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//BehavioralFeature"/>
+          <eStructuralFeatures xsi:type="ecore:EReference" name="unMapServices" ordered="false"
+              unique="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//BehavioralFeature"/>
+        </eClassifiers>
+      </eSubpackages>
+      <eSubpackages name="SW_Interaction" nsURI="http://www.eclipse.org/papyrus/SW_Interaction/1"
+          nsPrefix="SW_Interaction">
+        <eClassifiers xsi:type="ecore:EEnum" name="QueuePolicyKind">
+          <eLiterals name="FIFO"/>
+          <eLiterals name="LIFO" value="1"/>
+          <eLiterals name="Priority" value="2"/>
+          <eLiterals name="Undef" value="3"/>
+          <eLiterals name="Other" value="4"/>
+        </eClassifiers>
+        <eClassifiers xsi:type="ecore:EEnum" name="MessageResourceKind">
+          <eLiterals name="MessageQueue"/>
+          <eLiterals name="Pipe" value="1"/>
+          <eLiterals name="Blackboard" value="2"/>
+          <eLiterals name="Undef" value="3"/>
+          <eLiterals name="Other" value="4"/>
+        </eClassifiers>
+        <eClassifiers xsi:type="ecore:EEnum" name="NotificationKind">
+          <eLiterals name="Memorized"/>
+          <eLiterals name="Bounded" value="1"/>
+          <eLiterals name="Memoryless" value="2"/>
+          <eLiterals name="Undef" value="3"/>
+          <eLiterals name="Other" value="4"/>
+        </eClassifiers>
+        <eClassifiers xsi:type="ecore:EEnum" name="NotificationResourceKind">
+          <eLiterals name="Event"/>
+          <eLiterals name="Barrier" value="1"/>
+          <eLiterals name="Undef" value="2"/>
+          <eLiterals name="Other" value="3"/>
+        </eClassifiers>
+        <eClassifiers xsi:type="ecore:EEnum" name="MutualExclusionResourceKind">
+          <eLiterals name="BooleanSemaphore"/>
+          <eLiterals name="CountSemaphore" value="1"/>
+          <eLiterals name="Mutex" value="2"/>
+          <eLiterals name="Undef" value="3"/>
+          <eLiterals name="Other" value="4"/>
+        </eClassifiers>
+        <eClassifiers xsi:type="ecore:EEnum" name="ConcurrentAccessProtocolKind">
+          <eLiterals name="PIP"/>
+          <eLiterals name="PCP" value="1"/>
+          <eLiterals name="NoPreemption" value="2"/>
+          <eLiterals name="Undef" value="3"/>
+          <eLiterals name="Other" value="4"/>
+        </eClassifiers>
+        <eClassifiers xsi:type="ecore:EClass" name="SwInteractionResource" abstract="true"
+            eSuperTypes="#//MARTE_DesignModel/SRM/SW_ResourceCore/SwResource">
+          <eStructuralFeatures xsi:type="ecore:EAttribute" name="isIntraMemoryPartitionInteraction"
+              ordered="false" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+          <eStructuralFeatures xsi:type="ecore:EAttribute" name="waitingQueuePolicy"
+              ordered="false" unique="false" eType="#//MARTE_DesignModel/SRM/SW_Interaction/QueuePolicyKind"/>
+          <eStructuralFeatures xsi:type="ecore:EAttribute" name="waitingQueueCapacity"
+              ordered="false" unique="false" eType="ecore:EDataType MARTE_Library.ecore#//MARTE_PrimitivesTypes/Integer"/>
+          <eStructuralFeatures xsi:type="ecore:EReference" name="waitingPolicyElements"
+              ordered="false" unique="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//TypedElement"/>
+        </eClassifiers>
+        <eClassifiers xsi:type="ecore:EClass" name="SwCommunicationResource" abstract="true"
+            eSuperTypes="#//MARTE_DesignModel/SRM/SW_Interaction/SwInteractionResource #//MARTE_Foundations/GRM/CommunicationMedia"/>
+        <eClassifiers xsi:type="ecore:EClass" name="SwSynchronizationResource" abstract="true"
+            eSuperTypes="#//MARTE_DesignModel/SRM/SW_Interaction/SwInteractionResource #//MARTE_Foundations/GRM/SynchronizationResource"/>
+        <eClassifiers xsi:type="ecore:EClass" name="SharedDataComResource" eSuperTypes="#//MARTE_DesignModel/SRM/SW_Interaction/SwCommunicationResource">
+          <eStructuralFeatures xsi:type="ecore:EReference" name="readServices" ordered="false"
+              unique="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//BehavioralFeature"/>
+          <eStructuralFeatures xsi:type="ecore:EReference" name="writeServices" ordered="false"
+              unique="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//BehavioralFeature"/>
+        </eClassifiers>
+        <eClassifiers xsi:type="ecore:EClass" name="MessageComResource" eSuperTypes="#//MARTE_DesignModel/SRM/SW_Interaction/SwCommunicationResource">
+          <eStructuralFeatures xsi:type="ecore:EAttribute" name="isFixedMessageSize"
+              ordered="false" unique="false" eType="ecore:EDataType MARTE_Library.ecore#//MARTE_PrimitivesTypes/Boolean"/>
+          <eStructuralFeatures xsi:type="ecore:EAttribute" name="mechanism" ordered="false"
+              unique="false" eType="#//MARTE_DesignModel/SRM/SW_Interaction/MessageResourceKind"/>
+          <eStructuralFeatures xsi:type="ecore:EReference" name="messageSizeElements"
+              ordered="false" unique="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//TypedElement"/>
+          <eStructuralFeatures xsi:type="ecore:EReference" name="messageQueueCapacityElements"
+              ordered="false" unique="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//TypedElement"/>
+          <eStructuralFeatures xsi:type="ecore:EAttribute" name="messageQueuePolicy"
+              ordered="false" unique="false" eType="#//MARTE_DesignModel/SRM/SW_Interaction/QueuePolicyKind"/>
+          <eStructuralFeatures xsi:type="ecore:EReference" name="sendServices" ordered="false"
+              unique="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//BehavioralFeature"/>
+          <eStructuralFeatures xsi:type="ecore:EReference" name="receiveServices"
+              ordered="false" unique="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//BehavioralFeature"/>
+        </eClassifiers>
+        <eClassifiers xsi:type="ecore:EClass" name="NotificationResource" eSuperTypes="#//MARTE_DesignModel/SRM/SW_Interaction/SwSynchronizationResource">
+          <eStructuralFeatures xsi:type="ecore:EAttribute" name="occurence" ordered="false"
+              unique="false" eType="#//MARTE_DesignModel/SRM/SW_Interaction/NotificationKind"/>
+          <eStructuralFeatures xsi:type="ecore:EAttribute" name="mechanism" ordered="false"
+              unique="false" eType="#//MARTE_DesignModel/SRM/SW_Interaction/NotificationResourceKind"/>
+          <eStructuralFeatures xsi:type="ecore:EReference" name="occurenceCountElements"
+              ordered="false" unique="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//TypedElement"/>
+          <eStructuralFeatures xsi:type="ecore:EReference" name="maskElements" ordered="false"
+              unique="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//TypedElement"/>
+          <eStructuralFeatures xsi:type="ecore:EReference" name="flushServices" ordered="false"
+              unique="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//BehavioralFeature"/>
+          <eStructuralFeatures xsi:type="ecore:EReference" name="signalServices" ordered="false"
+              unique="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//BehavioralFeature"/>
+          <eStructuralFeatures xsi:type="ecore:EReference" name="waitServices" ordered="false"
+              unique="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//BehavioralFeature"/>
+          <eStructuralFeatures xsi:type="ecore:EReference" name="clearServices" ordered="false"
+              unique="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//BehavioralFeature"/>
+        </eClassifiers>
+        <eClassifiers xsi:type="ecore:EClass" name="SwMutualExclusionResource" eSuperTypes="#//MARTE_DesignModel/SRM/SW_Interaction/SwSynchronizationResource #//MARTE_Foundations/GRM/MutualExclusionResource">
+          <eStructuralFeatures xsi:type="ecore:EAttribute" name="mechanism" ordered="false"
+              unique="false" eType="#//MARTE_DesignModel/SRM/SW_Interaction/MutualExclusionResourceKind"/>
+          <eStructuralFeatures xsi:type="ecore:EAttribute" name="concurrentAccessProtocol"
+              ordered="false" unique="false" eType="#//MARTE_DesignModel/SRM/SW_Interaction/ConcurrentAccessProtocolKind"/>
+          <eStructuralFeatures xsi:type="ecore:EReference" name="accessTokenElements"
+              ordered="false" unique="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//TypedElement"/>
+          <eStructuralFeatures xsi:type="ecore:EReference" name="releaseServices"
+              ordered="false" unique="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//BehavioralFeature"/>
+          <eStructuralFeatures xsi:type="ecore:EReference" name="acquireServices"
+              ordered="false" unique="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//BehavioralFeature"/>
+        </eClassifiers>
+      </eSubpackages>
+    </eSubpackages>
+    <eSubpackages name="GCM" nsURI="http://www.eclipse.org/papyrus/GCM/1" nsPrefix="GCM">
+      <eClassifiers xsi:type="ecore:EClass" name="FlowProperty">
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="direction" ordered="false"
+            unique="false" lowerBound="1" eType="#//MARTE_DesignModel/GCM/FlowDirectionKind"
+            defaultValueLiteral="inout"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_Property" ordered="false"
+            unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EEnum" name="FlowDirectionKind">
+        <eLiterals name="in"/>
+        <eLiterals name="out" value="1"/>
+        <eLiterals name="inout" value="2"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="FlowPort">
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="isAtomic" ordered="false"
+            unique="false" lowerBound="1" eType="ecore:EDataType MARTE_Library.ecore#//MARTE_PrimitivesTypes/Boolean"
+            volatile="true" transient="true" derived="true"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="direction" ordered="false"
+            unique="false" lowerBound="1" eType="#//MARTE_DesignModel/GCM/FlowDirectionKind"
+            defaultValueLiteral="inout"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_Port" ordered="false"
+            unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Port"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="ClientServerPort">
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_Port" ordered="false"
+            unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Port"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="specificationKind"
+            ordered="false" unique="false" lowerBound="1" eType="#//MARTE_DesignModel/GCM/PortSpecificationKind"
+            volatile="true" transient="true" defaultValueLiteral="interfaceBased"
+            derived="true"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" ordered="false"
+            unique="false" lowerBound="1" eType="#//MARTE_DesignModel/GCM/ClientServerKind"
+            defaultValueLiteral="proreq"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="provInterface" ordered="false"
+            unique="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Interface"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="reqInterface" ordered="false"
+            unique="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Interface"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="featuresSpec" ordered="false"
+            unique="false" eType="#//MARTE_DesignModel/GCM/ClientServerSpecification"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EEnum" name="PortSpecificationKind">
+        <eLiterals name="atomic"/>
+        <eLiterals name="interfaceBased" value="1"/>
+        <eLiterals name="featureBased" value="2"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EEnum" name="ClientServerKind">
+        <eLiterals name="required"/>
+        <eLiterals name="provided" value="1"/>
+        <eLiterals name="proreq" value="2"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="ClientServerSpecification">
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_Interface" ordered="false"
+            unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Interface"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="FlowSpecification">
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_Interface" ordered="false"
+            unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Interface"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="ClientServerFeature">
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" ordered="false"
+            unique="false" lowerBound="1" eType="#//MARTE_DesignModel/GCM/ClientServerKind"
+            defaultValueLiteral="proreq"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_BehavioralFeature"
+            ordered="false" unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//BehavioralFeature"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="GCMTrigger">
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_Trigger" ordered="false"
+            unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Trigger"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="feature" ordered="false"
+            unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Feature"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="GCMInvocationAction">
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_InvocationAction"
+            ordered="false" unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//InvocationAction"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="onFeature" ordered="false"
+            unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Feature"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="DataEvent">
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_AnyReceiveEvent"
+            ordered="false" unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//AnyReceiveEvent"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="classifier" ordered="false"
+            unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Classifier"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="DataPool">
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="ordering" ordered="false"
+            unique="false" lowerBound="1" eType="#//MARTE_DesignModel/GCM/DataPoolOrderingKind"
+            defaultValueLiteral="FIFO"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_Property" ordered="false"
+            unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="insertion" ordered="false"
+            unique="false" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Behavior"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="selection" ordered="false"
+            unique="false" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Behavior"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EEnum" name="DataPoolOrderingKind">
+        <eLiterals name="FIFO"/>
+        <eLiterals name="LIFO" value="1"/>
+        <eLiterals name="UserDefined" value="2"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="GCMInvocatingBehavior">
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_Behavior" ordered="false"
+            lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Behavior"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="onPorts" ordered="false"
+            upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Port"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="onFeatures" ordered="false"
+            upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Feature"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="invocations" ordered="false"
+            upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//InvocationAction"/>
+      </eClassifiers>
+    </eSubpackages>
+  </eSubpackages>
+  <eSubpackages name="MARTE_AnalysisModel" nsURI="http:///MARTE/MARTE_AnalysisModel.ecore"
+      nsPrefix="MARTE.MARTE_AnalysisModel">
+    <eSubpackages name="GQAM" nsURI="http://www.eclipse.org/papyrus/GQAM/1" nsPrefix="GQAM">
+      <eClassifiers xsi:type="ecore:EClass" name="GaWorkloadGenerator">
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="pop" ordered="false"
+            unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Integer"
+            defaultValueLiteral="1"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_Behavior" ordered="false"
+            unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Behavior"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="GaEventTrace">
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="content" ordered="false"
+            unique="false" eType="ecore:EDataType MARTE_Library.ecore#//MARTE_PrimitivesTypes/String"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="format" ordered="false"
+            unique="false" eType="ecore:EDataType MARTE_Library.ecore#//MARTE_PrimitivesTypes/String"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="location" ordered="false"
+            unique="false" eType="ecore:EDataType MARTE_Library.ecore#//MARTE_PrimitivesTypes/String"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_NamedElement"
+            ordered="false" unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="GaWorkloadEvent">
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="pattern" ordered="false"
+            unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/ArrivalPattern"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="generator" ordered="false"
+            unique="false" eType="#//MARTE_AnalysisModel/GQAM/GaWorkloadGenerator"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="trace" ordered="false"
+            unique="false" eType="#//MARTE_AnalysisModel/GQAM/GaEventTrace"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="effect" ordered="false"
+            unique="false" eType="#//MARTE_AnalysisModel/GQAM/GaScenario"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="timedEvent" ordered="false"
+            unique="false" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//TimeEvent"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_NamedElement"
+            ordered="false" unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="GaScenario" eSuperTypes="#//MARTE_Foundations/GRM/ResourceUsage #//MARTE_Foundations/Time/TimedProcessing">
+        <eStructuralFeatures xsi:type="ecore:EReference" name="cause" ordered="false"
+            unique="false" eType="#//MARTE_AnalysisModel/GQAM/GaWorkloadEvent"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="hostDemand" ordered="false"
+            upperBound="-1" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Duration"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="hostDemandOps" ordered="false"
+            upperBound="-1" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Real"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="interOccT" ordered="false"
+            upperBound="-1" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Duration"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="throughput" ordered="false"
+            upperBound="-1" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Frequency"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="respT" ordered="false"
+            upperBound="-1" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Duration"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="utilization" ordered="false"
+            upperBound="-1" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Real"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="utilizationOnHost"
+            ordered="false" upperBound="-1" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Real"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="root" ordered="false"
+            unique="false" eType="#//MARTE_AnalysisModel/GQAM/GaStep"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="steps" ordered="false"
+            lowerBound="1" upperBound="-1" eType="#//MARTE_AnalysisModel/GQAM/GaStep"
+            eOpposite="#//MARTE_AnalysisModel/GQAM/GaStep/scenario"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="parentStep" ordered="false"
+            lowerBound="1" upperBound="-1" eType="#//MARTE_AnalysisModel/GQAM/GaStep"
+            eOpposite="#//MARTE_AnalysisModel/GQAM/GaStep/childScenario"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="timing" ordered="false"
+            unique="false" upperBound="-1" eType="#//MARTE_AnalysisModel/GQAM/GaTimedObs"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="GaStep" eSuperTypes="#//MARTE_AnalysisModel/GQAM/GaScenario">
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="isAtomic" ordered="false"
+            unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Boolean"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="blockT" ordered="false"
+            unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Duration"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="rep" ordered="false"
+            unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Real"
+            defaultValueLiteral="1.0"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="prob" ordered="false"
+            unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Real"
+            defaultValueLiteral="1.0"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="priority" ordered="false"
+            unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Integer"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="concurRes" ordered="false"
+            unique="false" eType="#//MARTE_Foundations/GRM/SchedulableResource"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="host" ordered="false"
+            unique="false" eType="#//MARTE_AnalysisModel/GQAM/GaExecHost"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="servDemand" unique="false"
+            upperBound="-1" eType="#//MARTE_AnalysisModel/GQAM/GaRequestedService"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="servCount" upperBound="-1"
+            eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Real"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="selfDelay" ordered="false"
+            unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Duration"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="scenario" ordered="false"
+            eType="#//MARTE_AnalysisModel/GQAM/GaScenario" eOpposite="#//MARTE_AnalysisModel/GQAM/GaScenario/steps"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="childScenario" ordered="false"
+            eType="#//MARTE_AnalysisModel/GQAM/GaScenario" eOpposite="#//MARTE_AnalysisModel/GQAM/GaScenario/parentStep"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="GaExecHost" eSuperTypes="#//MARTE_Foundations/GRM/Scheduler #//MARTE_Foundations/GRM/ComputingResource">
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="commTxOvh" ordered="false"
+            unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Duration"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="commRcvOvh" ordered="false"
+            unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Duration"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="cntxtSwT" ordered="false"
+            unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Duration"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="clockOvh" ordered="false"
+            unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Duration"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="schedPriRange" ordered="false"
+            unique="false" eType="ecore:EDataType MARTE_Library.ecore#//MARTE_DataTypes/IntegerInterval"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="memSize" ordered="false"
+            unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_DataSize"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="utilization" ordered="false"
+            upperBound="-1" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Real"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="throughput" ordered="false"
+            upperBound="-1" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Frequency"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="GaRequestedService" eSuperTypes="#//MARTE_AnalysisModel/GQAM/GaStep">
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_Operation" ordered="false"
+            unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Operation"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="GaTimedObs" eSuperTypes="#//MARTE_Foundations/NFPs/NfpConstraint">
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="laxity" unique="false"
+            eType="#//MARTE_AnalysisModel/GQAM/LaxityKind"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="startObs" unique="false"
+            upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//TimeObservation"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="endObs" unique="false"
+            upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//TimeObservation"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EEnum" name="LaxityKind">
+        <eLiterals name="hard"/>
+        <eLiterals name="soft" value="1"/>
+        <eLiterals name="other" value="2"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="GaCommStep" eSuperTypes="#//MARTE_AnalysisModel/GQAM/GaStep"/>
+      <eClassifiers xsi:type="ecore:EClass" name="GaAcqStep" eSuperTypes="#//MARTE_AnalysisModel/GQAM/GaStep">
+        <eStructuralFeatures xsi:type="ecore:EReference" name="acqRes" ordered="false"
+            unique="false" eType="#//MARTE_Foundations/GRM/Resource"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="resUnits" ordered="false"
+            unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Integer"
+            defaultValueLiteral="1"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="GaRelStep" eSuperTypes="#//MARTE_AnalysisModel/GQAM/GaStep">
+        <eStructuralFeatures xsi:type="ecore:EReference" name="relRes" ordered="false"
+            unique="false" eType="#//MARTE_Foundations/GRM/Resource"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="resUnits" ordered="false"
+            unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Integer"
+            defaultValueLiteral="1"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="GaLatencyObs" eSuperTypes="#//MARTE_AnalysisModel/GQAM/GaTimedObs">
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="latency" ordered="false"
+            upperBound="-1" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Duration"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="miss" ordered="false"
+            upperBound="-1" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Real"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="utility" ordered="false"
+            upperBound="-1" eType="ecore:EDataType MARTE_Library.ecore#//MARTE_DataTypes/UtilityType"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="maxJitter" ordered="false"
+            upperBound="-1" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Duration"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="GaCommHost" eSuperTypes="#//MARTE_Foundations/GRM/CommunicationMedia #//MARTE_Foundations/GRM/Scheduler">
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="throughput" ordered="false"
+            upperBound="-1" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Frequency"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="utilization" ordered="false"
+            upperBound="-1" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Real"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="GaCommChannel" eSuperTypes="#//MARTE_Foundations/GRM/SchedulableResource">
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="packetSize" ordered="false"
+            unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_DataSize"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="utilization" ordered="false"
+            eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Real"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="GaWorkloadBehavior">
+        <eStructuralFeatures xsi:type="ecore:EReference" name="behavior" ordered="false"
+            unique="false" upperBound="-1" eType="#//MARTE_AnalysisModel/GQAM/GaScenario"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="demand" ordered="false"
+            unique="false" upperBound="-1" eType="#//MARTE_AnalysisModel/GQAM/GaWorkloadEvent"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_NamedElement"
+            ordered="false" unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="GaAnalysisContext" eSuperTypes="#//MARTE_Foundations/CoreElements/Configuration #//MARTE_Annexes/VSL/Variables/ExpressionContext">
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="context" ordered="false"
+            upperBound="-1" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_String"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="workload" ordered="false"
+            unique="false" lowerBound="1" upperBound="-1" eType="#//MARTE_AnalysisModel/GQAM/GaWorkloadBehavior"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="platform" ordered="false"
+            unique="false" lowerBound="1" upperBound="-1" eType="#//MARTE_AnalysisModel/GQAM/GaResourcesPlatform"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="GaResourcesPlatform">
+        <eStructuralFeatures xsi:type="ecore:EReference" name="resources" ordered="false"
+            unique="false" upperBound="-1" eType="#//MARTE_Foundations/GRM/Resource"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_Classifier" ordered="false"
+            unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Classifier"/>
+      </eClassifiers>
+    </eSubpackages>
+    <eSubpackages name="SAM" nsURI="http://www.eclipse.org/papyrus/SAM/1" nsPrefix="SAM">
+      <eClassifiers xsi:type="ecore:EEnum" name="OptimallityCriterionKind">
+        <eLiterals name="meetHardDeadlines"/>
+        <eLiterals name="minimizeMissedDeadlines" value="1"/>
+        <eLiterals name="minimizedMeanTardiness" value="2"/>
+        <eLiterals name="undef" value="3"/>
+        <eLiterals name="other" value="4"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="SaAnalysisContext" eSuperTypes="#//MARTE_AnalysisModel/GQAM/GaAnalysisContext">
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="isSched" ordered="false"
+            unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Boolean"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="optCriterion" ordered="false"
+            unique="false" eType="#//MARTE_AnalysisModel/SAM/OptimallityCriterionKind"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="SaEndtoEndFlow">
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="isSched" ordered="false"
+            unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Boolean"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="schSlack" ordered="false"
+            unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Real"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="end2EndT" ordered="false"
+            upperBound="-1" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Duration"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="end2EndD" ordered="false"
+            upperBound="-1" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Duration"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="timing" unique="false"
+            upperBound="-1" eType="#//MARTE_AnalysisModel/GQAM/GaTimedObs"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_NamedElement"
+            ordered="false" unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="SaCommStep" eSuperTypes="#//MARTE_AnalysisModel/GQAM/GaCommStep">
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="deadline" ordered="false"
+            unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Duration"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="spareCap" ordered="false"
+            unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Duration"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="schSlack" ordered="false"
+            unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Real"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_BehavioralFeature"
+            ordered="false" unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//BehavioralFeature"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="SaStep" eSuperTypes="#//MARTE_AnalysisModel/GQAM/GaStep">
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_BehavioralFeature"
+            ordered="false" unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//BehavioralFeature"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="deadline" ordered="false"
+            unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Duration"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="spareCap" ordered="false"
+            unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Duration"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="schSlack" ordered="false"
+            unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Real"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="preemptT" ordered="false"
+            unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Duration"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="readyT" ordered="false"
+            unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Duration"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="nonpreemptionBlocking"
+            ordered="false" unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Duration"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="sharedRes" ordered="false"
+            unique="false" upperBound="-1" eType="#//MARTE_AnalysisModel/SAM/SaSharedResource">
+          <eAnnotations source="redefines" references="#//MARTE_Foundations/GRM/ResourceUsage/usedResources"/>
+        </eStructuralFeatures>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="selfSuspensionBlocking"
+            ordered="false" unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Duration"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="numberSelfSuspensions"
+            ordered="false" unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Integer"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="SaSharedResource" eSuperTypes="#//MARTE_Foundations/GRM/MutualExclusionResource">
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="capacity" ordered="false"
+            unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Integer"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="isPreemp" ordered="false"
+            unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Boolean"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="isConsum" ordered="false"
+            unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Boolean"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="acquisT" ordered="false"
+            upperBound="-1" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Duration"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="releaseT" ordered="false"
+            upperBound="-1" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Duration"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="SaSchedObs" eSuperTypes="#//MARTE_AnalysisModel/GQAM/GaTimedObs">
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="suspentions" ordered="false"
+            upperBound="-1" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Integer"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="blockT" ordered="false"
+            upperBound="-1" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Duration"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="overlaps" ordered="false"
+            upperBound="-1" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Integer"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="SaCommHost" eSuperTypes="#//MARTE_AnalysisModel/GQAM/GaCommHost">
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="isSched" ordered="false"
+            unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Boolean"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="schSlack" ordered="false"
+            unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Real"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="SaExecHost" eSuperTypes="#//MARTE_AnalysisModel/GQAM/GaExecHost">
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="isSched" ordered="false"
+            unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Boolean"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="schSlack" ordered="false"
+            unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Real"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="schedUtiliz" ordered="false"
+            unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Real"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="ISRswitchT" ordered="false"
+            unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Duration"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="ISRprioRange" ordered="false"
+            unique="false" eType="ecore:EDataType MARTE_Library.ecore#//MARTE_DataTypes/IntegerInterval"/>
+      </eClassifiers>
+    </eSubpackages>
+    <eSubpackages name="PAM" nsURI="http://www.eclipse.org/papyrus/PAM/1" nsPrefix="PAM">
+      <eClassifiers xsi:type="ecore:EClass" name="PaStep" eSuperTypes="#//MARTE_AnalysisModel/GQAM/GaStep">
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="noSync" ordered="false"
+            unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Boolean"
+            defaultValueLiteral="false"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="extOpDemand" upperBound="-1"
+            eType="ecore:EDataType MARTE_Library.ecore#//MARTE_PrimitivesTypes/String"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="extOpCount" upperBound="-1"
+            eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Real"
+            defaultValueLiteral="1"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="behavDemand" upperBound="-1"
+            eType="#//MARTE_AnalysisModel/GQAM/GaScenario"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="behavCount" upperBound="-1"
+            eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Real"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="PaRequestedStep" eSuperTypes="#//MARTE_AnalysisModel/PAM/PaStep #//MARTE_AnalysisModel/GQAM/GaRequestedService"/>
+      <eClassifiers xsi:type="ecore:EClass" name="PaCommStep" eSuperTypes="#//MARTE_AnalysisModel/PAM/PaStep #//MARTE_AnalysisModel/GQAM/GaCommStep"/>
+      <eClassifiers xsi:type="ecore:EClass" name="PaResPassStep" eSuperTypes="#//MARTE_AnalysisModel/GQAM/GaStep">
+        <eStructuralFeatures xsi:type="ecore:EReference" name="resource" ordered="false"
+            unique="false" eType="#//MARTE_Foundations/GRM/Resource"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="resUnits" ordered="false"
+            unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Integer"
+            defaultValueLiteral="1"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="PaLogicalResource" eSuperTypes="#//MARTE_Foundations/GRM/Resource">
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="utilization" ordered="false"
+            unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Real"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="throughput" ordered="false"
+            unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Frequency"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="poolSize" ordered="false"
+            unique="false" lowerBound="1" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Integer"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="PaRunTInstance">
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="poolSize" ordered="false"
+            unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Integer"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="unbddPool" ordered="false"
+            unique="false" eType="ecore:EDataType MARTE_Library.ecore#//MARTE_PrimitivesTypes/Boolean"
+            defaultValueLiteral="false"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="instance" ordered="false"
+            unique="false" eType="#//MARTE_Foundations/GRM/SchedulableResource"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="host" ordered="false"
+            unique="false" eType="#//MARTE_AnalysisModel/GQAM/GaExecHost"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="utilization" ordered="false"
+            unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Real"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="throughput" ordered="false"
+            unique="false" eType="ecore:EDataType MARTE_Library.ecore#//BasicNFP_Types/NFP_Frequency"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_NamedElement"
+            ordered="false" unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement"/>
+      </eClassifiers>
+    </eSubpackages>
+  </eSubpackages>
+</ecore:EPackage>
diff --git a/plugins/org.polarsys.chess.chessmlprofile/model/MARTE.genmodel b/plugins/org.polarsys.chess.chessmlprofile/model/MARTE.genmodel
new file mode 100644
index 000000000..bdd761cf5
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/model/MARTE.genmodel
@@ -0,0 +1,1666 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<genmodel:GenModel xmi:version="2.0"
+    xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
+    xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" modelDirectory="/org.eclipse.papyrus.marte.static.profile/src"
+    modelPluginID="org.eclipse.papyrus.marte.static.profile" modelName="MARTE" importerID="org.eclipse.emf.importer.ecore"
+    complianceLevel="5.0" copyrightFields="false" usedGenPackages="platform:/plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml">
+  <foreignModel>MARTE.ecore</foreignModel>
+  <genPackages prefix="MARTE" basePackage="org.eclipse.papyrus" disposableProviderFactory="true"
+      ecorePackage="MARTE.ecore#/">
+    <genEnums typeSafeEnumCompatible="false" ecoreEnum="MARTE.ecore#//dummy"/>
+    <nestedGenPackages prefix="MARTE_Foundations" disposableProviderFactory="true"
+        ecorePackage="MARTE.ecore#//MARTE_Foundations">
+      <nestedGenPackages prefix="NFPs" resource="XML" disposableProviderFactory="true"
+          ecorePackage="MARTE.ecore#//MARTE_Foundations/NFPs">
+        <genEnums typeSafeEnumCompatible="false" ecoreEnum="MARTE.ecore#//MARTE_Foundations/NFPs/ConstraintKind">
+          <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_Foundations/NFPs/ConstraintKind/required"/>
+          <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_Foundations/NFPs/ConstraintKind/offered"/>
+          <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_Foundations/NFPs/ConstraintKind/contract"/>
+        </genEnums>
+        <genClasses ecoreClass="MARTE.ecore#//MARTE_Foundations/NFPs/Nfp">
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_Foundations/NFPs/Nfp/base_Property"/>
+        </genClasses>
+        <genClasses ecoreClass="MARTE.ecore#//MARTE_Foundations/NFPs/Unit">
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_Foundations/NFPs/Unit/convFactor"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_Foundations/NFPs/Unit/convOffset"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_Foundations/NFPs/Unit/baseUnit"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_Foundations/NFPs/Unit/base_EnumerationLiteral"/>
+        </genClasses>
+        <genClasses ecoreClass="MARTE.ecore#//MARTE_Foundations/NFPs/NfpConstraint">
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_Foundations/NFPs/NfpConstraint/kind"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_Foundations/NFPs/NfpConstraint/base_Constraint"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_Foundations/NFPs/NfpConstraint/mode"/>
+        </genClasses>
+        <genClasses ecoreClass="MARTE.ecore#//MARTE_Foundations/NFPs/NfpType">
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_Foundations/NFPs/NfpType/valueAttrib"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_Foundations/NFPs/NfpType/unitAttrib"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_Foundations/NFPs/NfpType/exprAttrib"/>
+        </genClasses>
+        <genClasses ecoreClass="MARTE.ecore#//MARTE_Foundations/NFPs/Dimension">
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_Foundations/NFPs/Dimension/symbol"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_Foundations/NFPs/Dimension/baseDimension"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_Foundations/NFPs/Dimension/baseExponent"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_Foundations/NFPs/Dimension/base_Enumeration"/>
+        </genClasses>
+      </nestedGenPackages>
+      <nestedGenPackages prefix="CoreElements" resource="XML" disposableProviderFactory="true"
+          ecorePackage="MARTE.ecore#//MARTE_Foundations/CoreElements">
+        <genClasses ecoreClass="MARTE.ecore#//MARTE_Foundations/CoreElements/ModeTransition">
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_Foundations/CoreElements/ModeTransition/base_Transition"/>
+        </genClasses>
+        <genClasses ecoreClass="MARTE.ecore#//MARTE_Foundations/CoreElements/ModeBehavior">
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_Foundations/CoreElements/ModeBehavior/base_StateMachine"/>
+        </genClasses>
+        <genClasses ecoreClass="MARTE.ecore#//MARTE_Foundations/CoreElements/Configuration">
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_Foundations/CoreElements/Configuration/base_StructuredClassifier"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_Foundations/CoreElements/Configuration/base_Package"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_Foundations/CoreElements/Configuration/mode"/>
+        </genClasses>
+        <genClasses ecoreClass="MARTE.ecore#//MARTE_Foundations/CoreElements/Mode">
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_Foundations/CoreElements/Mode/base_State"/>
+        </genClasses>
+      </nestedGenPackages>
+      <nestedGenPackages prefix="Alloc" resource="XML" disposableProviderFactory="true"
+          ecorePackage="MARTE.ecore#//MARTE_Foundations/Alloc">
+        <genEnums typeSafeEnumCompatible="false" ecoreEnum="MARTE.ecore#//MARTE_Foundations/Alloc/AllocationEndKind">
+          <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_Foundations/Alloc/AllocationEndKind/undef"/>
+          <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_Foundations/Alloc/AllocationEndKind/application"/>
+          <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_Foundations/Alloc/AllocationEndKind/executionPlatform"/>
+          <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_Foundations/Alloc/AllocationEndKind/both"/>
+        </genEnums>
+        <genEnums typeSafeEnumCompatible="false" ecoreEnum="MARTE.ecore#//MARTE_Foundations/Alloc/AllocationNature">
+          <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_Foundations/Alloc/AllocationNature/spatialDistribution"/>
+          <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_Foundations/Alloc/AllocationNature/timeScheduling"/>
+        </genEnums>
+        <genEnums typeSafeEnumCompatible="false" ecoreEnum="MARTE.ecore#//MARTE_Foundations/Alloc/AllocationKind">
+          <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_Foundations/Alloc/AllocationKind/structural"/>
+          <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_Foundations/Alloc/AllocationKind/behavioral"/>
+          <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_Foundations/Alloc/AllocationKind/hybrid"/>
+        </genEnums>
+        <genEnums typeSafeEnumCompatible="false" ecoreEnum="MARTE.ecore#//MARTE_Foundations/Alloc/AssignmentKind">
+          <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_Foundations/Alloc/AssignmentKind/structural"/>
+          <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_Foundations/Alloc/AssignmentKind/behavioral"/>
+          <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_Foundations/Alloc/AssignmentKind/hybrid"/>
+        </genEnums>
+        <genEnums typeSafeEnumCompatible="false" ecoreEnum="MARTE.ecore#//MARTE_Foundations/Alloc/AssignmentNature">
+          <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_Foundations/Alloc/AssignmentNature/spatialDistribution"/>
+          <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_Foundations/Alloc/AssignmentNature/timeScheduling"/>
+        </genEnums>
+        <genClasses ecoreClass="MARTE.ecore#//MARTE_Foundations/Alloc/Allocated">
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_Foundations/Alloc/Allocated/base_NamedElement"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_Foundations/Alloc/Allocated/allocatedTo"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_Foundations/Alloc/Allocated/allocatedFrom"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_Foundations/Alloc/Allocated/kind"/>
+        </genClasses>
+        <genClasses ecoreClass="MARTE.ecore#//MARTE_Foundations/Alloc/AllocateActivityGroup">
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_Foundations/Alloc/AllocateActivityGroup/isUnique"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_Foundations/Alloc/AllocateActivityGroup/base_ActivityPartition"/>
+        </genClasses>
+        <genClasses ecoreClass="MARTE.ecore#//MARTE_Foundations/Alloc/NfpRefine">
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_Foundations/Alloc/NfpRefine/base_Dependency"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_Foundations/Alloc/NfpRefine/constraint"/>
+        </genClasses>
+        <genClasses ecoreClass="MARTE.ecore#//MARTE_Foundations/Alloc/Assign">
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_Foundations/Alloc/Assign/kind"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_Foundations/Alloc/Assign/nature"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_Foundations/Alloc/Assign/impliedConstraint"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_Foundations/Alloc/Assign/from"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_Foundations/Alloc/Assign/to"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_Foundations/Alloc/Assign/base_Comment"/>
+        </genClasses>
+        <genClasses ecoreClass="MARTE.ecore#//MARTE_Foundations/Alloc/Allocate">
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_Foundations/Alloc/Allocate/kind"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_Foundations/Alloc/Allocate/nature"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_Foundations/Alloc/Allocate/base_Abstraction"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_Foundations/Alloc/Allocate/impliedConstraint"/>
+        </genClasses>
+      </nestedGenPackages>
+      <nestedGenPackages prefix="Time" resource="XML" disposableProviderFactory="true"
+          ecorePackage="MARTE.ecore#//MARTE_Foundations/Time">
+        <genClasses ecoreClass="MARTE.ecore#//MARTE_Foundations/Time/TimedDomain">
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_Foundations/Time/TimedDomain/base_Namespace"/>
+        </genClasses>
+        <genClasses ecoreClass="MARTE.ecore#//MARTE_Foundations/Time/Clock">
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_Foundations/Time/Clock/standard"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_Foundations/Time/Clock/base_InstanceSpecification"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_Foundations/Time/Clock/type"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_Foundations/Time/Clock/unit"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_Foundations/Time/Clock/base_Property"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_Foundations/Time/Clock/base_Event"/>
+        </genClasses>
+        <genClasses ecoreClass="MARTE.ecore#//MARTE_Foundations/Time/ClockType">
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_Foundations/Time/ClockType/nature"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_Foundations/Time/ClockType/unitType"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_Foundations/Time/ClockType/isLogical"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_Foundations/Time/ClockType/resolAttr"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_Foundations/Time/ClockType/maxValAttr"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_Foundations/Time/ClockType/offsetAttr"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_Foundations/Time/ClockType/getTime"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_Foundations/Time/ClockType/setTime"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_Foundations/Time/ClockType/indexToValue"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_Foundations/Time/ClockType/base_Class"/>
+        </genClasses>
+        <genClasses image="false" ecoreClass="MARTE.ecore#//MARTE_Foundations/Time/TimedElement">
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_Foundations/Time/TimedElement/on"/>
+        </genClasses>
+        <genClasses ecoreClass="MARTE.ecore#//MARTE_Foundations/Time/TimedValueSpecification">
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_Foundations/Time/TimedValueSpecification/interpretation"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_Foundations/Time/TimedValueSpecification/base_ValueSpecification"/>
+        </genClasses>
+        <genClasses ecoreClass="MARTE.ecore#//MARTE_Foundations/Time/TimedConstraint">
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_Foundations/Time/TimedConstraint/interpretation"/>
+        </genClasses>
+        <genClasses ecoreClass="MARTE.ecore#//MARTE_Foundations/Time/ClockConstraint">
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_Foundations/Time/ClockConstraint/isCoincidenceBased"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_Foundations/Time/ClockConstraint/isPrecedenceBased"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_Foundations/Time/ClockConstraint/isChronometricBased"/>
+        </genClasses>
+        <genClasses ecoreClass="MARTE.ecore#//MARTE_Foundations/Time/TimedInstantObservation">
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_Foundations/Time/TimedInstantObservation/obsKind"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_Foundations/Time/TimedInstantObservation/base_TimeObservation"/>
+        </genClasses>
+        <genClasses ecoreClass="MARTE.ecore#//MARTE_Foundations/Time/TimedDurationObservation">
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_Foundations/Time/TimedDurationObservation/obsKind"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_Foundations/Time/TimedDurationObservation/base_DurationObservation"/>
+        </genClasses>
+        <genClasses ecoreClass="MARTE.ecore#//MARTE_Foundations/Time/TimedEvent">
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_Foundations/Time/TimedEvent/repetition"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_Foundations/Time/TimedEvent/base_TimeEvent"/>
+          <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_Foundations/Time/TimedEvent/every"/>
+        </genClasses>
+        <genClasses ecoreClass="MARTE.ecore#//MARTE_Foundations/Time/TimedProcessing">
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_Foundations/Time/TimedProcessing/base_Action"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_Foundations/Time/TimedProcessing/base_Behavior"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_Foundations/Time/TimedProcessing/base_Message"/>
+          <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_Foundations/Time/TimedProcessing/duration"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_Foundations/Time/TimedProcessing/start"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_Foundations/Time/TimedProcessing/finish"/>
+        </genClasses>
+      </nestedGenPackages>
+      <nestedGenPackages prefix="GRM" resource="XML" disposableProviderFactory="true"
+          ecorePackage="MARTE.ecore#//MARTE_Foundations/GRM">
+        <genClasses ecoreClass="MARTE.ecore#//MARTE_Foundations/GRM/Resource">
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_Foundations/GRM/Resource/resMult"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_Foundations/GRM/Resource/isProtected"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_Foundations/GRM/Resource/isActive"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_Foundations/GRM/Resource/base_Property"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_Foundations/GRM/Resource/base_InstanceSpecification"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_Foundations/GRM/Resource/base_Classifier"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_Foundations/GRM/Resource/base_Lifeline"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_Foundations/GRM/Resource/base_ConnectableElement"/>
+        </genClasses>
+        <genClasses ecoreClass="MARTE.ecore#//MARTE_Foundations/GRM/StorageResource">
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_Foundations/GRM/StorageResource/elementSize"/>
+        </genClasses>
+        <genClasses ecoreClass="MARTE.ecore#//MARTE_Foundations/GRM/CommunicationEndPoint">
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_Foundations/GRM/CommunicationEndPoint/packetSize"/>
+        </genClasses>
+        <genClasses ecoreClass="MARTE.ecore#//MARTE_Foundations/GRM/SynchronizationResource"/>
+        <genClasses ecoreClass="MARTE.ecore#//MARTE_Foundations/GRM/ConcurrencyResource"/>
+        <genClasses ecoreClass="MARTE.ecore#//MARTE_Foundations/GRM/Scheduler">
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_Foundations/GRM/Scheduler/isPreemptible"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_Foundations/GRM/Scheduler/schedPolicy"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_Foundations/GRM/Scheduler/otherSchedPolicy"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_Foundations/GRM/Scheduler/schedule"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_Foundations/GRM/Scheduler/processingUnits"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_Foundations/GRM/Scheduler/host"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_Foundations/GRM/Scheduler/protectedSharedResources"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_Foundations/GRM/Scheduler/schedulableResources"/>
+        </genClasses>
+        <genClasses ecoreClass="MARTE.ecore#//MARTE_Foundations/GRM/ProcessingResource">
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_Foundations/GRM/ProcessingResource/speedFactor"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_Foundations/GRM/ProcessingResource/mainScheduler"/>
+        </genClasses>
+        <genClasses ecoreClass="MARTE.ecore#//MARTE_Foundations/GRM/ComputingResource"/>
+        <genClasses ecoreClass="MARTE.ecore#//MARTE_Foundations/GRM/MutualExclusionResource">
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_Foundations/GRM/MutualExclusionResource/protectKind"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_Foundations/GRM/MutualExclusionResource/ceiling"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_Foundations/GRM/MutualExclusionResource/otherProtectProtocol"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_Foundations/GRM/MutualExclusionResource/scheduler"/>
+        </genClasses>
+        <genClasses ecoreClass="MARTE.ecore#//MARTE_Foundations/GRM/SchedulableResource">
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_Foundations/GRM/SchedulableResource/schedParams"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_Foundations/GRM/SchedulableResource/dependentScheduler"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_Foundations/GRM/SchedulableResource/host"/>
+        </genClasses>
+        <genClasses ecoreClass="MARTE.ecore#//MARTE_Foundations/GRM/SecondaryScheduler">
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_Foundations/GRM/SecondaryScheduler/virtualProcessingUnits"/>
+        </genClasses>
+        <genClasses ecoreClass="MARTE.ecore#//MARTE_Foundations/GRM/CommunicationMedia">
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_Foundations/GRM/CommunicationMedia/elementSize"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_Foundations/GRM/CommunicationMedia/base_Connector"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_Foundations/GRM/CommunicationMedia/transmMode"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_Foundations/GRM/CommunicationMedia/blockT"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_Foundations/GRM/CommunicationMedia/packetT"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_Foundations/GRM/CommunicationMedia/capacity"/>
+        </genClasses>
+        <genClasses ecoreClass="MARTE.ecore#//MARTE_Foundations/GRM/DeviceResource"/>
+        <genClasses ecoreClass="MARTE.ecore#//MARTE_Foundations/GRM/TimingResource"/>
+        <genClasses ecoreClass="MARTE.ecore#//MARTE_Foundations/GRM/ClockResource"/>
+        <genClasses ecoreClass="MARTE.ecore#//MARTE_Foundations/GRM/TimerResource">
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_Foundations/GRM/TimerResource/duration"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_Foundations/GRM/TimerResource/isPeriodic"/>
+        </genClasses>
+        <genClasses ecoreClass="MARTE.ecore#//MARTE_Foundations/GRM/GrService">
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_Foundations/GRM/GrService/owner"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_Foundations/GRM/GrService/base_ExecutionSpecification"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_Foundations/GRM/GrService/base_BehavioralFeature"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_Foundations/GRM/GrService/base_Behavior"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_Foundations/GRM/GrService/base_Collaboration"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_Foundations/GRM/GrService/base_CollaborationUse"/>
+        </genClasses>
+        <genClasses ecoreClass="MARTE.ecore#//MARTE_Foundations/GRM/Release"/>
+        <genClasses ecoreClass="MARTE.ecore#//MARTE_Foundations/GRM/Acquire">
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_Foundations/GRM/Acquire/isBlocking"/>
+        </genClasses>
+        <genClasses ecoreClass="MARTE.ecore#//MARTE_Foundations/GRM/ResourceUsage">
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_Foundations/GRM/ResourceUsage/execTime"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_Foundations/GRM/ResourceUsage/allocatedMemory"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_Foundations/GRM/ResourceUsage/usedMemory"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_Foundations/GRM/ResourceUsage/powerPeak"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_Foundations/GRM/ResourceUsage/energy"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_Foundations/GRM/ResourceUsage/base_NamedElement"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_Foundations/GRM/ResourceUsage/subUsage"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_Foundations/GRM/ResourceUsage/usedResources"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_Foundations/GRM/ResourceUsage/msgSize"/>
+        </genClasses>
+      </nestedGenPackages>
+    </nestedGenPackages>
+    <nestedGenPackages prefix="MARTE_Annexes" disposableProviderFactory="true" ecorePackage="MARTE.ecore#//MARTE_Annexes">
+      <nestedGenPackages prefix="RSM" resource="XML" disposableProviderFactory="true"
+          ecorePackage="MARTE.ecore#//MARTE_Annexes/RSM">
+        <genClasses image="false" ecoreClass="MARTE.ecore#//MARTE_Annexes/RSM/LinkTopology">
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_Annexes/RSM/LinkTopology/base_Connector"/>
+        </genClasses>
+        <genClasses ecoreClass="MARTE.ecore#//MARTE_Annexes/RSM/DefaultLink"/>
+        <genClasses ecoreClass="MARTE.ecore#//MARTE_Annexes/RSM/InterRepetition">
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_Annexes/RSM/InterRepetition/repetitionShapeDependence"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_Annexes/RSM/InterRepetition/isModulo"/>
+        </genClasses>
+        <genClasses ecoreClass="MARTE.ecore#//MARTE_Annexes/RSM/Distribute">
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_Annexes/RSM/Distribute/patternShape"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_Annexes/RSM/Distribute/repetitionSpace"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_Annexes/RSM/Distribute/fromTiler"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_Annexes/RSM/Distribute/toTiler"/>
+        </genClasses>
+        <genClasses ecoreClass="MARTE.ecore#//MARTE_Annexes/RSM/Reshape">
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_Annexes/RSM/Reshape/patternShape"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_Annexes/RSM/Reshape/repetitonShape"/>
+        </genClasses>
+        <genClasses ecoreClass="MARTE.ecore#//MARTE_Annexes/RSM/Tiler">
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_Annexes/RSM/Tiler/origin"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_Annexes/RSM/Tiler/paving"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_Annexes/RSM/Tiler/fitting"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_Annexes/RSM/Tiler/tiler"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_Annexes/RSM/Tiler/base_ConnectorEnd"/>
+        </genClasses>
+        <genClasses ecoreClass="MARTE.ecore#//MARTE_Annexes/RSM/Shaped">
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_Annexes/RSM/Shaped/shape"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_Annexes/RSM/Shaped/base_MultiplicityElement"/>
+        </genClasses>
+      </nestedGenPackages>
+      <nestedGenPackages prefix="VSL" disposableProviderFactory="true" ecorePackage="MARTE.ecore#//MARTE_Annexes/VSL">
+        <nestedGenPackages prefix="Variables" resource="XML" disposableProviderFactory="true"
+            ecorePackage="MARTE.ecore#//MARTE_Annexes/VSL/Variables">
+          <genEnums typeSafeEnumCompatible="false" ecoreEnum="MARTE.ecore#//MARTE_Annexes/VSL/Variables/VariableDirectionKind">
+            <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_Annexes/VSL/Variables/VariableDirectionKind/in"/>
+            <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_Annexes/VSL/Variables/VariableDirectionKind/out"/>
+            <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_Annexes/VSL/Variables/VariableDirectionKind/inout"/>
+          </genEnums>
+          <genClasses ecoreClass="MARTE.ecore#//MARTE_Annexes/VSL/Variables/Var">
+            <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_Annexes/VSL/Variables/Var/dir"/>
+            <genFeatures notify="false" createChild="false" propertySortChoices="true"
+                ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_Annexes/VSL/Variables/Var/base_Property"/>
+          </genClasses>
+          <genClasses ecoreClass="MARTE.ecore#//MARTE_Annexes/VSL/Variables/ExpressionContext">
+            <genFeatures notify="false" createChild="false" propertySortChoices="true"
+                ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_Annexes/VSL/Variables/ExpressionContext/base_NamedElement"/>
+          </genClasses>
+        </nestedGenPackages>
+        <nestedGenPackages prefix="Operators" resource="XML" disposableProviderFactory="true"
+            ecorePackage="MARTE.ecore#//MARTE_Annexes/VSL/Operators">
+          <genClasses ecoreClass="MARTE.ecore#//MARTE_Annexes/VSL/Operators/Operator">
+            <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_Annexes/VSL/Operators/Operator/symbol"/>
+            <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_Annexes/VSL/Operators/Operator/arity"/>
+            <genFeatures notify="false" createChild="false" propertySortChoices="true"
+                ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_Annexes/VSL/Operators/Operator/base_Behavior"/>
+          </genClasses>
+        </nestedGenPackages>
+        <nestedGenPackages prefix="DataTypes" resource="XML" disposableProviderFactory="true"
+            ecorePackage="MARTE.ecore#//MARTE_Annexes/VSL/DataTypes">
+          <genClasses ecoreClass="MARTE.ecore#//MARTE_Annexes/VSL/DataTypes/BoundedSubtype">
+            <genFeatures notify="false" createChild="false" propertySortChoices="true"
+                ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_Annexes/VSL/DataTypes/BoundedSubtype/baseType"/>
+            <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_Annexes/VSL/DataTypes/BoundedSubtype/minValue"/>
+            <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_Annexes/VSL/DataTypes/BoundedSubtype/maxValue"/>
+            <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_Annexes/VSL/DataTypes/BoundedSubtype/isMinOpen"/>
+            <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_Annexes/VSL/DataTypes/BoundedSubtype/isMaxOpen"/>
+            <genFeatures notify="false" createChild="false" propertySortChoices="true"
+                ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_Annexes/VSL/DataTypes/BoundedSubtype/base_DataType"/>
+          </genClasses>
+          <genClasses ecoreClass="MARTE.ecore#//MARTE_Annexes/VSL/DataTypes/IntervalType">
+            <genFeatures notify="false" createChild="false" propertySortChoices="true"
+                ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_Annexes/VSL/DataTypes/IntervalType/intervalAttrib"/>
+            <genFeatures notify="false" createChild="false" propertySortChoices="true"
+                ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_Annexes/VSL/DataTypes/IntervalType/base_DataType"/>
+          </genClasses>
+          <genClasses ecoreClass="MARTE.ecore#//MARTE_Annexes/VSL/DataTypes/CollectionType">
+            <genFeatures notify="false" createChild="false" propertySortChoices="true"
+                ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_Annexes/VSL/DataTypes/CollectionType/collectionAttrib"/>
+            <genFeatures notify="false" createChild="false" propertySortChoices="true"
+                ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_Annexes/VSL/DataTypes/CollectionType/base_DataType"/>
+          </genClasses>
+          <genClasses ecoreClass="MARTE.ecore#//MARTE_Annexes/VSL/DataTypes/ChoiceType">
+            <genFeatures notify="false" createChild="false" propertySortChoices="true"
+                ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_Annexes/VSL/DataTypes/ChoiceType/choiceAttrib"/>
+            <genFeatures notify="false" createChild="false" propertySortChoices="true"
+                ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_Annexes/VSL/DataTypes/ChoiceType/defaultAttrib"/>
+            <genFeatures notify="false" createChild="false" propertySortChoices="true"
+                ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_Annexes/VSL/DataTypes/ChoiceType/base_DataType"/>
+          </genClasses>
+          <genClasses ecoreClass="MARTE.ecore#//MARTE_Annexes/VSL/DataTypes/TupleType">
+            <genFeatures notify="false" createChild="false" propertySortChoices="true"
+                ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_Annexes/VSL/DataTypes/TupleType/tupleAttrib"/>
+            <genFeatures notify="false" createChild="false" propertySortChoices="true"
+                ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_Annexes/VSL/DataTypes/TupleType/base_DataType"/>
+          </genClasses>
+        </nestedGenPackages>
+      </nestedGenPackages>
+    </nestedGenPackages>
+    <nestedGenPackages prefix="MARTE_DesignModel" disposableProviderFactory="true"
+        ecorePackage="MARTE.ecore#//MARTE_DesignModel">
+      <nestedGenPackages prefix="HLAM" resource="XML" disposableProviderFactory="true"
+          ecorePackage="MARTE.ecore#//MARTE_DesignModel/HLAM">
+        <genEnums typeSafeEnumCompatible="false" ecoreEnum="MARTE.ecore#//MARTE_DesignModel/HLAM/PoolMgtPolicyKind">
+          <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/HLAM/PoolMgtPolicyKind/infiniteWait"/>
+          <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/HLAM/PoolMgtPolicyKind/timedWait"/>
+          <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/HLAM/PoolMgtPolicyKind/dynamic"/>
+          <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/HLAM/PoolMgtPolicyKind/exception"/>
+          <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/HLAM/PoolMgtPolicyKind/other"/>
+        </genEnums>
+        <genEnums typeSafeEnumCompatible="false" ecoreEnum="MARTE.ecore#//MARTE_DesignModel/HLAM/CallConcurrencyKind">
+          <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/HLAM/CallConcurrencyKind/sequential"/>
+          <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/HLAM/CallConcurrencyKind/guarded"/>
+          <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/HLAM/CallConcurrencyKind/concurrent"/>
+        </genEnums>
+        <genEnums typeSafeEnumCompatible="false" ecoreEnum="MARTE.ecore#//MARTE_DesignModel/HLAM/SynchronizationKind">
+          <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/HLAM/SynchronizationKind/synchronous"/>
+          <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/HLAM/SynchronizationKind/asynchronous"/>
+          <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/HLAM/SynchronizationKind/delayedSynchronous"/>
+          <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/HLAM/SynchronizationKind/rendezVous"/>
+          <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/HLAM/SynchronizationKind/other"/>
+        </genEnums>
+        <genEnums typeSafeEnumCompatible="false" ecoreEnum="MARTE.ecore#//MARTE_DesignModel/HLAM/ExecutionKind">
+          <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/HLAM/ExecutionKind/deferred"/>
+          <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/HLAM/ExecutionKind/remoteImmediate"/>
+          <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/HLAM/ExecutionKind/localImmediate"/>
+        </genEnums>
+        <genEnums typeSafeEnumCompatible="false" ecoreEnum="MARTE.ecore#//MARTE_DesignModel/HLAM/ConcurrencyKind">
+          <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/HLAM/ConcurrencyKind/reader"/>
+          <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/HLAM/ConcurrencyKind/writer"/>
+          <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/HLAM/ConcurrencyKind/parallel"/>
+        </genEnums>
+        <genClasses ecoreClass="MARTE.ecore#//MARTE_DesignModel/HLAM/RtUnit">
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/HLAM/RtUnit/isDynamic"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/HLAM/RtUnit/isMain"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/HLAM/RtUnit/srPoolSize"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/HLAM/RtUnit/srPoolPolicy"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/HLAM/RtUnit/srPoolWaitingTime"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/HLAM/RtUnit/operationalMode"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/HLAM/RtUnit/main"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/HLAM/RtUnit/memorySize"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/HLAM/RtUnit/base_BehavioredClassifier"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/HLAM/RtUnit/queueSchedPolicy"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/HLAM/RtUnit/queueSize"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/HLAM/RtUnit/msgMaxSize"/>
+        </genClasses>
+        <genClasses ecoreClass="MARTE.ecore#//MARTE_DesignModel/HLAM/PpUnit">
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/HLAM/PpUnit/concPolicy"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/HLAM/PpUnit/memorySize"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/HLAM/PpUnit/base_BehavioredClassifier"/>
+        </genClasses>
+        <genClasses ecoreClass="MARTE.ecore#//MARTE_DesignModel/HLAM/RtFeature">
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/HLAM/RtFeature/base_BehavioralFeature"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/HLAM/RtFeature/base_Message"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/HLAM/RtFeature/base_Signal"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/HLAM/RtFeature/base_Port"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/HLAM/RtFeature/base_InvocationAction"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/HLAM/RtFeature/specification"/>
+        </genClasses>
+        <genClasses ecoreClass="MARTE.ecore#//MARTE_DesignModel/HLAM/RtSpecification">
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/HLAM/RtSpecification/utility"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/HLAM/RtSpecification/occKind"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/HLAM/RtSpecification/tRef"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/HLAM/RtSpecification/relDl"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/HLAM/RtSpecification/absDl"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/HLAM/RtSpecification/boundDl"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/HLAM/RtSpecification/rdTime"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/HLAM/RtSpecification/miss"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/HLAM/RtSpecification/priority"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/HLAM/RtSpecification/base_Comment"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/HLAM/RtSpecification/context"/>
+        </genClasses>
+        <genClasses ecoreClass="MARTE.ecore#//MARTE_DesignModel/HLAM/RtAction">
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/HLAM/RtAction/isAtomic"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/HLAM/RtAction/synchKind"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/HLAM/RtAction/msgSize"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/HLAM/RtAction/base_BehavioralFeature"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/HLAM/RtAction/base_InvocationAction"/>
+        </genClasses>
+        <genClasses ecoreClass="MARTE.ecore#//MARTE_DesignModel/HLAM/RtService">
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/HLAM/RtService/concPolicy"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/HLAM/RtService/exeKind"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/HLAM/RtService/isAtomic"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/HLAM/RtService/synchKind"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/HLAM/RtService/base_BehavioralFeature"/>
+        </genClasses>
+      </nestedGenPackages>
+      <nestedGenPackages prefix="HRM" disposableProviderFactory="true" ecorePackage="MARTE.ecore#//MARTE_DesignModel/HRM">
+        <nestedGenPackages prefix="HwLogical" disposableProviderFactory="true" ecorePackage="MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical">
+          <nestedGenPackages prefix="HwComputing" resource="XML" disposableProviderFactory="true"
+              ecorePackage="MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwComputing">
+            <genEnums typeSafeEnumCompatible="false" ecoreEnum="MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwComputing/ISA_Type">
+              <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwComputing/ISA_Type/RISC"/>
+              <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwComputing/ISA_Type/CISC"/>
+              <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwComputing/ISA_Type/VLIW"/>
+              <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwComputing/ISA_Type/SIMD"/>
+              <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwComputing/ISA_Type/other"/>
+              <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwComputing/ISA_Type/undef"/>
+            </genEnums>
+            <genEnums typeSafeEnumCompatible="false" ecoreEnum="MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwComputing/PLD_Technology">
+              <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwComputing/PLD_Technology/SRAM"/>
+              <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwComputing/PLD_Technology/antifuse"/>
+              <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwComputing/PLD_Technology/flash"/>
+              <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwComputing/PLD_Technology/other"/>
+              <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwComputing/PLD_Technology/undef"/>
+            </genEnums>
+            <genEnums typeSafeEnumCompatible="false" ecoreEnum="MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwComputing/PLD_Class">
+              <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwComputing/PLD_Class/symetricalArray"/>
+              <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwComputing/PLD_Class/rowBased"/>
+              <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwComputing/PLD_Class/seaOfGates"/>
+              <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwComputing/PLD_Class/hierarchicalPLD"/>
+              <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwComputing/PLD_Class/other"/>
+              <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwComputing/PLD_Class/undef"/>
+            </genEnums>
+            <genDataTypes ecoreDataType="MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwComputing/PLD_Organization"/>
+            <genClasses ecoreClass="MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwComputing/HwProcessor">
+              <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwComputing/HwProcessor/architecture"/>
+              <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwComputing/HwProcessor/mips"/>
+              <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwComputing/HwProcessor/ipc"/>
+              <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwComputing/HwProcessor/nbCores"/>
+              <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwComputing/HwProcessor/nbPipelines"/>
+              <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwComputing/HwProcessor/nbStages"/>
+              <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwComputing/HwProcessor/nbALUs"/>
+              <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwComputing/HwProcessor/nbFPUs"/>
+              <genFeatures notify="false" createChild="false" propertySortChoices="true"
+                  ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwComputing/HwProcessor/ownedISAs"/>
+              <genFeatures notify="false" createChild="false" propertySortChoices="true"
+                  ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwComputing/HwProcessor/predictors"/>
+              <genFeatures notify="false" createChild="false" propertySortChoices="true"
+                  ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwComputing/HwProcessor/caches"/>
+              <genFeatures notify="false" createChild="false" propertySortChoices="true"
+                  ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwComputing/HwProcessor/ownedMMUs"/>
+            </genClasses>
+            <genClasses ecoreClass="MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwComputing/HwComputingResource">
+              <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwComputing/HwComputingResource/op_Frequencies"/>
+            </genClasses>
+            <genClasses ecoreClass="MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwComputing/HwISA">
+              <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwComputing/HwISA/family"/>
+              <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwComputing/HwISA/inst_Width"/>
+              <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwComputing/HwISA/type"/>
+            </genClasses>
+            <genClasses ecoreClass="MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwComputing/HwBranchPredictor"/>
+            <genClasses ecoreClass="MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwComputing/HwASIC"/>
+            <genClasses ecoreClass="MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwComputing/HwPLD">
+              <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwComputing/HwPLD/technology"/>
+              <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwComputing/HwPLD/organization"/>
+              <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwComputing/HwPLD/nbLUTs"/>
+              <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwComputing/HwPLD/ndLUT_Inputs"/>
+              <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwComputing/HwPLD/nbFlipFlops"/>
+              <genFeatures notify="false" createChild="false" propertySortChoices="true"
+                  ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwComputing/HwPLD/blocksRAM"/>
+              <genFeatures notify="false" createChild="false" propertySortChoices="true"
+                  ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwComputing/HwPLD/blocksComputing"/>
+            </genClasses>
+          </nestedGenPackages>
+          <nestedGenPackages prefix="HwCommunication" resource="XML" disposableProviderFactory="true"
+              ecorePackage="MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwCommunication">
+            <genClasses ecoreClass="MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwCommunication/HwCommunicationResource"/>
+            <genClasses ecoreClass="MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwCommunication/HwArbiter">
+              <genFeatures notify="false" createChild="false" propertySortChoices="true"
+                  ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwCommunication/HwArbiter/controlledMedias"/>
+            </genClasses>
+            <genClasses ecoreClass="MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwCommunication/HwMedia">
+              <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwCommunication/HwMedia/bandWidth"/>
+              <genFeatures notify="false" createChild="false" propertySortChoices="true"
+                  ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwCommunication/HwMedia/arbiters"/>
+            </genClasses>
+            <genClasses ecoreClass="MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwCommunication/HwBus">
+              <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwCommunication/HwBus/adressWidth"/>
+              <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwCommunication/HwBus/wordWidth"/>
+              <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwCommunication/HwBus/isSynchronous"/>
+              <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwCommunication/HwBus/isSerial"/>
+            </genClasses>
+            <genClasses ecoreClass="MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwCommunication/HwBridge">
+              <genFeatures notify="false" createChild="false" propertySortChoices="true"
+                  ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwCommunication/HwBridge/sides"/>
+            </genClasses>
+            <genClasses ecoreClass="MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwCommunication/HwEndPoint">
+              <genFeatures notify="false" createChild="false" propertySortChoices="true"
+                  ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwCommunication/HwEndPoint/connectedTo"/>
+            </genClasses>
+          </nestedGenPackages>
+          <nestedGenPackages prefix="HwStorage" disposableProviderFactory="true" ecorePackage="MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwStorage">
+            <nestedGenPackages prefix="HwStorageManager" resource="XML" disposableProviderFactory="true"
+                ecorePackage="MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwStorage/HwStorageManager">
+              <genClasses ecoreClass="MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwStorage/HwStorageManager/HwStorageManager">
+                <genFeatures notify="false" createChild="false" propertySortChoices="true"
+                    ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwStorage/HwStorageManager/HwStorageManager/managedMemories"/>
+              </genClasses>
+              <genClasses ecoreClass="MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwStorage/HwStorageManager/HwDMA">
+                <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwStorage/HwStorageManager/HwDMA/nbChannels"/>
+                <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwStorage/HwStorageManager/HwDMA/transferWidth"/>
+                <genFeatures notify="false" createChild="false" propertySortChoices="true"
+                    ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwStorage/HwStorageManager/HwDMA/drivenBy"/>
+              </genClasses>
+              <genClasses ecoreClass="MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwStorage/HwStorageManager/HwMMU">
+                <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwStorage/HwStorageManager/HwMMU/virtualAddrSpace"/>
+                <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwStorage/HwStorageManager/HwMMU/physicalAddrSpace"/>
+                <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwStorage/HwStorageManager/HwMMU/memoryProtection"/>
+                <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwStorage/HwStorageManager/HwMMU/nbEntries"/>
+                <genFeatures notify="false" createChild="false" propertySortChoices="true"
+                    ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwStorage/HwStorageManager/HwMMU/ownedTLBs"/>
+              </genClasses>
+            </nestedGenPackages>
+            <nestedGenPackages prefix="HwMemory" resource="XML" disposableProviderFactory="true"
+                ecorePackage="MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory">
+              <genEnums typeSafeEnumCompatible="false" ecoreEnum="MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/Repl_Policy">
+                <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/Repl_Policy/LRU"/>
+                <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/Repl_Policy/NFU"/>
+                <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/Repl_Policy/FIFO"/>
+                <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/Repl_Policy/random"/>
+                <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/Repl_Policy/other"/>
+                <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/Repl_Policy/undef"/>
+              </genEnums>
+              <genEnums typeSafeEnumCompatible="false" ecoreEnum="MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/WritePolicy">
+                <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/WritePolicy/writeBack"/>
+                <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/WritePolicy/writeThrough"/>
+                <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/WritePolicy/other"/>
+                <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/WritePolicy/undef"/>
+              </genEnums>
+              <genEnums typeSafeEnumCompatible="false" ecoreEnum="MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/CacheType">
+                <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/CacheType/data"/>
+                <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/CacheType/instruction"/>
+                <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/CacheType/unified"/>
+                <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/CacheType/other"/>
+                <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/CacheType/undef"/>
+              </genEnums>
+              <genEnums typeSafeEnumCompatible="false" ecoreEnum="MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/ROM_Type">
+                <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/ROM_Type/maskedROM"/>
+                <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/ROM_Type/EPROM"/>
+                <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/ROM_Type/OTP_EPROM"/>
+                <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/ROM_Type/EEPROM"/>
+                <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/ROM_Type/Flash"/>
+                <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/ROM_Type/other"/>
+                <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/ROM_Type/undef"/>
+              </genEnums>
+              <genDataTypes ecoreDataType="MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/Timing"/>
+              <genDataTypes ecoreDataType="MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/CacheStructure"/>
+              <genDataTypes ecoreDataType="MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/MemoryOrganization"/>
+              <genClasses ecoreClass="MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/HwMemory">
+                <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/HwMemory/memorySize"/>
+                <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/HwMemory/adressSize"/>
+                <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/HwMemory/timings"/>
+                <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/HwMemory/throughput"/>
+              </genClasses>
+              <genClasses ecoreClass="MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/HwRAM">
+                <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/HwRAM/organization"/>
+                <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/HwRAM/isSynchronous"/>
+                <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/HwRAM/isStatic"/>
+                <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/HwRAM/isNonVolatile"/>
+                <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/HwRAM/repl_Policy"/>
+                <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/HwRAM/writePolicy"/>
+              </genClasses>
+              <genClasses ecoreClass="MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/HwROM">
+                <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/HwROM/type"/>
+                <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/HwROM/organization"/>
+              </genClasses>
+              <genClasses ecoreClass="MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/HwDrive">
+                <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/HwDrive/sectorSize"/>
+                <genFeatures notify="false" createChild="false" propertySortChoices="true"
+                    ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/HwDrive/buffer"/>
+              </genClasses>
+              <genClasses ecoreClass="MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/HwCache">
+                <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/HwCache/level"/>
+                <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/HwCache/type"/>
+                <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/HwCache/structure"/>
+                <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/HwCache/repl_Policy"/>
+                <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/HwCache/writePolicy"/>
+              </genClasses>
+            </nestedGenPackages>
+          </nestedGenPackages>
+          <nestedGenPackages prefix="HwTiming" resource="XML" disposableProviderFactory="true"
+              ecorePackage="MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwTiming">
+            <genClasses ecoreClass="MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwTiming/HwTimingResource"/>
+            <genClasses ecoreClass="MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwTiming/HwClock"/>
+            <genClasses ecoreClass="MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwTiming/HwTimer">
+              <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwTiming/HwTimer/nbCounters"/>
+              <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwTiming/HwTimer/counterWidth"/>
+              <genFeatures notify="false" createChild="false" propertySortChoices="true"
+                  ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwTiming/HwTimer/inputClock"/>
+            </genClasses>
+          </nestedGenPackages>
+          <nestedGenPackages prefix="HwDevice" resource="XML" disposableProviderFactory="true"
+              ecorePackage="MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwDevice">
+            <genClasses ecoreClass="MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwDevice/HwDevice"/>
+            <genClasses ecoreClass="MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwDevice/HwI_O"/>
+            <genClasses ecoreClass="MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwDevice/HwSupport"/>
+            <genClasses ecoreClass="MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwDevice/HWActuator"/>
+            <genClasses ecoreClass="MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwDevice/HWSensor"/>
+          </nestedGenPackages>
+        </nestedGenPackages>
+        <nestedGenPackages prefix="HwGeneral" resource="XML" disposableProviderFactory="true"
+            ecorePackage="MARTE.ecore#//MARTE_DesignModel/HRM/HwGeneral">
+          <genClasses ecoreClass="MARTE.ecore#//MARTE_DesignModel/HRM/HwGeneral/HwResourceService">
+            <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/HRM/HwGeneral/HwResourceService/consumption"/>
+            <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/HRM/HwGeneral/HwResourceService/dissipation"/>
+          </genClasses>
+          <genClasses ecoreClass="MARTE.ecore#//MARTE_DesignModel/HRM/HwGeneral/HwResource">
+            <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/HRM/HwGeneral/HwResource/description"/>
+            <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/HRM/HwGeneral/HwResource/p_HW_Services"/>
+            <genFeatures notify="false" createChild="false" propertySortChoices="true"
+                ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/HRM/HwGeneral/HwResource/r_HW_Services"/>
+            <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/HRM/HwGeneral/HwResource/ownedHW"/>
+            <genFeatures notify="false" createChild="false" propertySortChoices="true"
+                ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/HRM/HwGeneral/HwResource/endPoints"/>
+            <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/HRM/HwGeneral/HwResource/frequency"/>
+          </genClasses>
+        </nestedGenPackages>
+        <nestedGenPackages prefix="HwPhysical" disposableProviderFactory="true" ecorePackage="MARTE.ecore#//MARTE_DesignModel/HRM/HwPhysical">
+          <nestedGenPackages prefix="HwLayout" resource="XML" disposableProviderFactory="true"
+              ecorePackage="MARTE.ecore#//MARTE_DesignModel/HRM/HwPhysical/HwLayout">
+            <genEnums typeSafeEnumCompatible="false" ecoreEnum="MARTE.ecore#//MARTE_DesignModel/HRM/HwPhysical/HwLayout/ComponentKind">
+              <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/HRM/HwPhysical/HwLayout/ComponentKind/card"/>
+              <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/HRM/HwPhysical/HwLayout/ComponentKind/channel"/>
+              <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/HRM/HwPhysical/HwLayout/ComponentKind/chip"/>
+              <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/HRM/HwPhysical/HwLayout/ComponentKind/port"/>
+              <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/HRM/HwPhysical/HwLayout/ComponentKind/unit"/>
+              <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/HRM/HwPhysical/HwLayout/ComponentKind/other"/>
+              <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/HRM/HwPhysical/HwLayout/ComponentKind/undef"/>
+            </genEnums>
+            <genEnums typeSafeEnumCompatible="false" ecoreEnum="MARTE.ecore#//MARTE_DesignModel/HRM/HwPhysical/HwLayout/ConditionType">
+              <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/HRM/HwPhysical/HwLayout/ConditionType/temperature"/>
+              <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/HRM/HwPhysical/HwLayout/ConditionType/humidity"/>
+              <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/HRM/HwPhysical/HwLayout/ConditionType/altitude"/>
+              <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/HRM/HwPhysical/HwLayout/ConditionType/vibration"/>
+              <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/HRM/HwPhysical/HwLayout/ConditionType/shock"/>
+              <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/HRM/HwPhysical/HwLayout/ConditionType/other"/>
+              <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/HRM/HwPhysical/HwLayout/ConditionType/undef"/>
+            </genEnums>
+            <genEnums typeSafeEnumCompatible="false" ecoreEnum="MARTE.ecore#//MARTE_DesignModel/HRM/HwPhysical/HwLayout/ComponentState">
+              <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/HRM/HwPhysical/HwLayout/ComponentState/operating"/>
+              <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/HRM/HwPhysical/HwLayout/ComponentState/storage"/>
+              <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/HRM/HwPhysical/HwLayout/ComponentState/other"/>
+              <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/HRM/HwPhysical/HwLayout/ComponentState/undef"/>
+            </genEnums>
+            <genDataTypes ecoreDataType="MARTE.ecore#//MARTE_DesignModel/HRM/HwPhysical/HwLayout/Env_Condition"/>
+            <genClasses ecoreClass="MARTE.ecore#//MARTE_DesignModel/HRM/HwPhysical/HwLayout/HwComponent">
+              <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/HRM/HwPhysical/HwLayout/HwComponent/kind"/>
+              <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/HRM/HwPhysical/HwLayout/HwComponent/dimensions"/>
+              <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/HRM/HwPhysical/HwLayout/HwComponent/area"/>
+              <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/HRM/HwPhysical/HwLayout/HwComponent/position"/>
+              <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/HRM/HwPhysical/HwLayout/HwComponent/grid"/>
+              <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/HRM/HwPhysical/HwLayout/HwComponent/nbPins"/>
+              <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/HRM/HwPhysical/HwLayout/HwComponent/weight"/>
+              <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/HRM/HwPhysical/HwLayout/HwComponent/price"/>
+              <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/HRM/HwPhysical/HwLayout/HwComponent/r_Conditions"/>
+              <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/HRM/HwPhysical/HwLayout/HwComponent/poweredServices"/>
+              <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/HRM/HwPhysical/HwLayout/HwComponent/staticConsumption"/>
+              <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/HRM/HwPhysical/HwLayout/HwComponent/staticDissipation"/>
+              <genFeatures notify="false" createChild="false" propertySortChoices="true"
+                  ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/HRM/HwPhysical/HwLayout/HwComponent/subComponents"/>
+            </genClasses>
+          </nestedGenPackages>
+          <nestedGenPackages prefix="HwPower" resource="XML" disposableProviderFactory="true"
+              ecorePackage="MARTE.ecore#//MARTE_DesignModel/HRM/HwPhysical/HwPower">
+            <genClasses ecoreClass="MARTE.ecore#//MARTE_DesignModel/HRM/HwPhysical/HwPower/HwPowerSupply">
+              <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/HRM/HwPhysical/HwPower/HwPowerSupply/suppliedPower"/>
+              <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/HRM/HwPhysical/HwPower/HwPowerSupply/capacity"/>
+            </genClasses>
+            <genClasses ecoreClass="MARTE.ecore#//MARTE_DesignModel/HRM/HwPhysical/HwPower/HwCoolingSupply">
+              <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/HRM/HwPhysical/HwPower/HwCoolingSupply/coolingPower"/>
+            </genClasses>
+          </nestedGenPackages>
+        </nestedGenPackages>
+      </nestedGenPackages>
+      <nestedGenPackages prefix="SRM" disposableProviderFactory="true" ecorePackage="MARTE.ecore#//MARTE_DesignModel/SRM">
+        <nestedGenPackages prefix="SW_ResourceCore" resource="XML" disposableProviderFactory="true"
+            ecorePackage="MARTE.ecore#//MARTE_DesignModel/SRM/SW_ResourceCore">
+          <genClasses image="false" ecoreClass="MARTE.ecore#//MARTE_DesignModel/SRM/SW_ResourceCore/SwResource">
+            <genFeatures notify="false" createChild="false" propertySortChoices="true"
+                ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/SRM/SW_ResourceCore/SwResource/identifierElements"/>
+            <genFeatures notify="false" createChild="false" propertySortChoices="true"
+                ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/SRM/SW_ResourceCore/SwResource/stateElements"/>
+            <genFeatures notify="false" createChild="false" propertySortChoices="true"
+                ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/SRM/SW_ResourceCore/SwResource/memorySizeFootprint"/>
+            <genFeatures notify="false" createChild="false" propertySortChoices="true"
+                ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/SRM/SW_ResourceCore/SwResource/createServices"/>
+            <genFeatures notify="false" createChild="false" propertySortChoices="true"
+                ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/SRM/SW_ResourceCore/SwResource/deleteServices"/>
+            <genFeatures notify="false" createChild="false" propertySortChoices="true"
+                ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/SRM/SW_ResourceCore/SwResource/initializeServices"/>
+          </genClasses>
+          <genClasses ecoreClass="MARTE.ecore#//MARTE_DesignModel/SRM/SW_ResourceCore/SwAccessService">
+            <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/SRM/SW_ResourceCore/SwAccessService/isModifier"/>
+            <genFeatures notify="false" createChild="false" propertySortChoices="true"
+                ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/SRM/SW_ResourceCore/SwAccessService/accessedElement"/>
+          </genClasses>
+        </nestedGenPackages>
+        <nestedGenPackages prefix="SW_Concurrency" resource="XML" disposableProviderFactory="true"
+            ecorePackage="MARTE.ecore#//MARTE_DesignModel/SRM/SW_Concurrency">
+          <genEnums typeSafeEnumCompatible="false" ecoreEnum="MARTE.ecore#//MARTE_DesignModel/SRM/SW_Concurrency/InterruptKind">
+            <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/SRM/SW_Concurrency/InterruptKind/HardwareInterruption"/>
+            <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/SRM/SW_Concurrency/InterruptKind/ProcessorDetectedException"/>
+            <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/SRM/SW_Concurrency/InterruptKind/ProgrammedException"/>
+            <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/SRM/SW_Concurrency/InterruptKind/Undef"/>
+            <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/SRM/SW_Concurrency/InterruptKind/Other"/>
+          </genEnums>
+          <genClasses ecoreClass="MARTE.ecore#//MARTE_DesignModel/SRM/SW_Concurrency/EntryPoint">
+            <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/SRM/SW_Concurrency/EntryPoint/isReentrant"/>
+            <genFeatures notify="false" createChild="false" propertySortChoices="true"
+                ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/SRM/SW_Concurrency/EntryPoint/routine"/>
+          </genClasses>
+          <genClasses image="false" ecoreClass="MARTE.ecore#//MARTE_DesignModel/SRM/SW_Concurrency/SwConcurrentResource">
+            <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/SRM/SW_Concurrency/SwConcurrentResource/type"/>
+            <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/SRM/SW_Concurrency/SwConcurrentResource/activationCapacity"/>
+            <genFeatures notify="false" createChild="false" propertySortChoices="true"
+                ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/SRM/SW_Concurrency/SwConcurrentResource/entryPoints"/>
+            <genFeatures notify="false" createChild="false" propertySortChoices="true"
+                ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/SRM/SW_Concurrency/SwConcurrentResource/adressSpace"/>
+            <genFeatures notify="false" createChild="false" propertySortChoices="true"
+                ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/SRM/SW_Concurrency/SwConcurrentResource/periodElements"/>
+            <genFeatures notify="false" createChild="false" propertySortChoices="true"
+                ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/SRM/SW_Concurrency/SwConcurrentResource/priorityElements"/>
+            <genFeatures notify="false" createChild="false" propertySortChoices="true"
+                ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/SRM/SW_Concurrency/SwConcurrentResource/stackSizeElements"/>
+            <genFeatures notify="false" createChild="false" propertySortChoices="true"
+                ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/SRM/SW_Concurrency/SwConcurrentResource/activateServices"/>
+            <genFeatures notify="false" createChild="false" propertySortChoices="true"
+                ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/SRM/SW_Concurrency/SwConcurrentResource/enableConcurrencyServices"/>
+            <genFeatures notify="false" createChild="false" propertySortChoices="true"
+                ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/SRM/SW_Concurrency/SwConcurrentResource/resumeServices"/>
+            <genFeatures notify="false" createChild="false" propertySortChoices="true"
+                ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/SRM/SW_Concurrency/SwConcurrentResource/suspendServices"/>
+            <genFeatures notify="false" createChild="false" propertySortChoices="true"
+                ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/SRM/SW_Concurrency/SwConcurrentResource/terminateServices"/>
+            <genFeatures notify="false" createChild="false" propertySortChoices="true"
+                ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/SRM/SW_Concurrency/SwConcurrentResource/disableConcurrencyServices"/>
+            <genFeatures notify="false" createChild="false" propertySortChoices="true"
+                ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/SRM/SW_Concurrency/SwConcurrentResource/shareDataResources"/>
+            <genFeatures notify="false" createChild="false" propertySortChoices="true"
+                ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/SRM/SW_Concurrency/SwConcurrentResource/messageResources"/>
+            <genFeatures notify="false" createChild="false" propertySortChoices="true"
+                ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/SRM/SW_Concurrency/SwConcurrentResource/mutualExclusionResources"/>
+            <genFeatures notify="false" createChild="false" propertySortChoices="true"
+                ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/SRM/SW_Concurrency/SwConcurrentResource/notificationResources"/>
+            <genFeatures notify="false" createChild="false" propertySortChoices="true"
+                ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/SRM/SW_Concurrency/SwConcurrentResource/heapSizeElements"/>
+          </genClasses>
+          <genClasses ecoreClass="MARTE.ecore#//MARTE_DesignModel/SRM/SW_Concurrency/InterruptResource">
+            <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/SRM/SW_Concurrency/InterruptResource/kind"/>
+            <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/SRM/SW_Concurrency/InterruptResource/isMaskable"/>
+            <genFeatures notify="false" createChild="false" propertySortChoices="true"
+                ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/SRM/SW_Concurrency/InterruptResource/vectorElements"/>
+            <genFeatures notify="false" createChild="false" propertySortChoices="true"
+                ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/SRM/SW_Concurrency/InterruptResource/maskElements"/>
+            <genFeatures notify="false" createChild="false" propertySortChoices="true"
+                ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/SRM/SW_Concurrency/InterruptResource/routineConnectServices"/>
+            <genFeatures notify="false" createChild="false" propertySortChoices="true"
+                ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/SRM/SW_Concurrency/InterruptResource/routineDisconnectServices"/>
+          </genClasses>
+          <genClasses ecoreClass="MARTE.ecore#//MARTE_DesignModel/SRM/SW_Concurrency/SwSchedulableResource">
+            <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/SRM/SW_Concurrency/SwSchedulableResource/isStaticSchedulingFeature"/>
+            <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/SRM/SW_Concurrency/SwSchedulableResource/isPreemptable"/>
+            <genFeatures notify="false" createChild="false" propertySortChoices="true"
+                ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/SRM/SW_Concurrency/SwSchedulableResource/schedulers"/>
+            <genFeatures notify="false" createChild="false" propertySortChoices="true"
+                ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/SRM/SW_Concurrency/SwSchedulableResource/deadlineElements"/>
+            <genFeatures notify="false" createChild="false" propertySortChoices="true"
+                ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/SRM/SW_Concurrency/SwSchedulableResource/deadlineTypeElements"/>
+            <genFeatures notify="false" createChild="false" propertySortChoices="true"
+                ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/SRM/SW_Concurrency/SwSchedulableResource/timeSliceElements"/>
+            <genFeatures notify="false" createChild="false" propertySortChoices="true"
+                ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/SRM/SW_Concurrency/SwSchedulableResource/delayServices"/>
+            <genFeatures notify="false" createChild="false" propertySortChoices="true"
+                ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/SRM/SW_Concurrency/SwSchedulableResource/joinServices"/>
+            <genFeatures notify="false" createChild="false" propertySortChoices="true"
+                ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/SRM/SW_Concurrency/SwSchedulableResource/yieldServices"/>
+          </genClasses>
+          <genClasses ecoreClass="MARTE.ecore#//MARTE_DesignModel/SRM/SW_Concurrency/SwTimerResource">
+            <genFeatures notify="false" createChild="false" propertySortChoices="true"
+                ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/SRM/SW_Concurrency/SwTimerResource/durationElements"/>
+          </genClasses>
+          <genClasses ecoreClass="MARTE.ecore#//MARTE_DesignModel/SRM/SW_Concurrency/MemoryPartition">
+            <genFeatures notify="false" createChild="false" propertySortChoices="true"
+                ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/SRM/SW_Concurrency/MemoryPartition/concurrentResources"/>
+            <genFeatures notify="false" createChild="false" propertySortChoices="true"
+                ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/SRM/SW_Concurrency/MemoryPartition/memorySpaces"/>
+            <genFeatures notify="false" createChild="false" propertySortChoices="true"
+                ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/SRM/SW_Concurrency/MemoryPartition/fork"/>
+            <genFeatures notify="false" createChild="false" propertySortChoices="true"
+                ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/SRM/SW_Concurrency/MemoryPartition/exit"/>
+            <genFeatures notify="false" createChild="false" propertySortChoices="true"
+                ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/SRM/SW_Concurrency/MemoryPartition/base_Namespace"/>
+          </genClasses>
+          <genClasses ecoreClass="MARTE.ecore#//MARTE_DesignModel/SRM/SW_Concurrency/Alarm">
+            <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/SRM/SW_Concurrency/Alarm/isWatchdog"/>
+            <genFeatures notify="false" createChild="false" propertySortChoices="true"
+                ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/SRM/SW_Concurrency/Alarm/timers"/>
+          </genClasses>
+        </nestedGenPackages>
+        <nestedGenPackages prefix="SW_Brokering" resource="XML" disposableProviderFactory="true"
+            ecorePackage="MARTE.ecore#//MARTE_DesignModel/SRM/SW_Brokering">
+          <genEnums typeSafeEnumCompatible="false" ecoreEnum="MARTE.ecore#//MARTE_DesignModel/SRM/SW_Brokering/AccessPolicyKind">
+            <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/SRM/SW_Brokering/AccessPolicyKind/Read"/>
+            <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/SRM/SW_Brokering/AccessPolicyKind/Write"/>
+            <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/SRM/SW_Brokering/AccessPolicyKind/ReadWrite"/>
+            <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/SRM/SW_Brokering/AccessPolicyKind/Undef"/>
+            <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/SRM/SW_Brokering/AccessPolicyKind/Other"/>
+          </genEnums>
+          <genClasses ecoreClass="MARTE.ecore#//MARTE_DesignModel/SRM/SW_Brokering/DeviceBroker">
+            <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/SRM/SW_Brokering/DeviceBroker/accessPolicy"/>
+            <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/SRM/SW_Brokering/DeviceBroker/isBuffered"/>
+            <genFeatures notify="false" createChild="false" propertySortChoices="true"
+                ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/SRM/SW_Brokering/DeviceBroker/devices"/>
+            <genFeatures notify="false" createChild="false" propertySortChoices="true"
+                ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/SRM/SW_Brokering/DeviceBroker/closeServices"/>
+            <genFeatures notify="false" createChild="false" propertySortChoices="true"
+                ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/SRM/SW_Brokering/DeviceBroker/controlServices"/>
+            <genFeatures notify="false" createChild="false" propertySortChoices="true"
+                ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/SRM/SW_Brokering/DeviceBroker/openServices"/>
+            <genFeatures notify="false" createChild="false" propertySortChoices="true"
+                ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/SRM/SW_Brokering/DeviceBroker/readServices"/>
+            <genFeatures notify="false" createChild="false" propertySortChoices="true"
+                ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/SRM/SW_Brokering/DeviceBroker/writeServices"/>
+          </genClasses>
+          <genClasses ecoreClass="MARTE.ecore#//MARTE_DesignModel/SRM/SW_Brokering/MemoryBroker">
+            <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/SRM/SW_Brokering/MemoryBroker/accessPolicy"/>
+            <genFeatures notify="false" createChild="false" propertySortChoices="true"
+                ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/SRM/SW_Brokering/MemoryBroker/memories"/>
+            <genFeatures notify="false" createChild="false" propertySortChoices="true"
+                ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/SRM/SW_Brokering/MemoryBroker/memoryBlockAdressElements"/>
+            <genFeatures notify="false" createChild="false" propertySortChoices="true"
+                ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/SRM/SW_Brokering/MemoryBroker/memoryBlockSizeElements"/>
+            <genFeatures notify="false" createChild="false" propertySortChoices="true"
+                ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/SRM/SW_Brokering/MemoryBroker/lockServices"/>
+            <genFeatures notify="false" createChild="false" propertySortChoices="true"
+                ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/SRM/SW_Brokering/MemoryBroker/unlockServices"/>
+            <genFeatures notify="false" createChild="false" propertySortChoices="true"
+                ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/SRM/SW_Brokering/MemoryBroker/mapServices"/>
+            <genFeatures notify="false" createChild="false" propertySortChoices="true"
+                ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/SRM/SW_Brokering/MemoryBroker/unMapServices"/>
+          </genClasses>
+        </nestedGenPackages>
+        <nestedGenPackages prefix="SW_Interaction" resource="XML" disposableProviderFactory="true"
+            ecorePackage="MARTE.ecore#//MARTE_DesignModel/SRM/SW_Interaction">
+          <genEnums typeSafeEnumCompatible="false" ecoreEnum="MARTE.ecore#//MARTE_DesignModel/SRM/SW_Interaction/QueuePolicyKind">
+            <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/SRM/SW_Interaction/QueuePolicyKind/FIFO"/>
+            <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/SRM/SW_Interaction/QueuePolicyKind/LIFO"/>
+            <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/SRM/SW_Interaction/QueuePolicyKind/Priority"/>
+            <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/SRM/SW_Interaction/QueuePolicyKind/Undef"/>
+            <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/SRM/SW_Interaction/QueuePolicyKind/Other"/>
+          </genEnums>
+          <genEnums typeSafeEnumCompatible="false" ecoreEnum="MARTE.ecore#//MARTE_DesignModel/SRM/SW_Interaction/MessageResourceKind">
+            <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/SRM/SW_Interaction/MessageResourceKind/MessageQueue"/>
+            <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/SRM/SW_Interaction/MessageResourceKind/Pipe"/>
+            <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/SRM/SW_Interaction/MessageResourceKind/Blackboard"/>
+            <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/SRM/SW_Interaction/MessageResourceKind/Undef"/>
+            <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/SRM/SW_Interaction/MessageResourceKind/Other"/>
+          </genEnums>
+          <genEnums typeSafeEnumCompatible="false" ecoreEnum="MARTE.ecore#//MARTE_DesignModel/SRM/SW_Interaction/NotificationKind">
+            <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/SRM/SW_Interaction/NotificationKind/Memorized"/>
+            <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/SRM/SW_Interaction/NotificationKind/Bounded"/>
+            <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/SRM/SW_Interaction/NotificationKind/Memoryless"/>
+            <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/SRM/SW_Interaction/NotificationKind/Undef"/>
+            <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/SRM/SW_Interaction/NotificationKind/Other"/>
+          </genEnums>
+          <genEnums typeSafeEnumCompatible="false" ecoreEnum="MARTE.ecore#//MARTE_DesignModel/SRM/SW_Interaction/NotificationResourceKind">
+            <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/SRM/SW_Interaction/NotificationResourceKind/Event"/>
+            <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/SRM/SW_Interaction/NotificationResourceKind/Barrier"/>
+            <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/SRM/SW_Interaction/NotificationResourceKind/Undef"/>
+            <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/SRM/SW_Interaction/NotificationResourceKind/Other"/>
+          </genEnums>
+          <genEnums typeSafeEnumCompatible="false" ecoreEnum="MARTE.ecore#//MARTE_DesignModel/SRM/SW_Interaction/MutualExclusionResourceKind">
+            <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/SRM/SW_Interaction/MutualExclusionResourceKind/BooleanSemaphore"/>
+            <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/SRM/SW_Interaction/MutualExclusionResourceKind/CountSemaphore"/>
+            <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/SRM/SW_Interaction/MutualExclusionResourceKind/Mutex"/>
+            <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/SRM/SW_Interaction/MutualExclusionResourceKind/Undef"/>
+            <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/SRM/SW_Interaction/MutualExclusionResourceKind/Other"/>
+          </genEnums>
+          <genEnums typeSafeEnumCompatible="false" ecoreEnum="MARTE.ecore#//MARTE_DesignModel/SRM/SW_Interaction/ConcurrentAccessProtocolKind">
+            <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/SRM/SW_Interaction/ConcurrentAccessProtocolKind/PIP"/>
+            <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/SRM/SW_Interaction/ConcurrentAccessProtocolKind/PCP"/>
+            <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/SRM/SW_Interaction/ConcurrentAccessProtocolKind/NoPreemption"/>
+            <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/SRM/SW_Interaction/ConcurrentAccessProtocolKind/Undef"/>
+            <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/SRM/SW_Interaction/ConcurrentAccessProtocolKind/Other"/>
+          </genEnums>
+          <genClasses image="false" ecoreClass="MARTE.ecore#//MARTE_DesignModel/SRM/SW_Interaction/SwInteractionResource">
+            <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/SRM/SW_Interaction/SwInteractionResource/isIntraMemoryPartitionInteraction"/>
+            <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/SRM/SW_Interaction/SwInteractionResource/waitingQueuePolicy"/>
+            <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/SRM/SW_Interaction/SwInteractionResource/waitingQueueCapacity"/>
+            <genFeatures notify="false" createChild="false" propertySortChoices="true"
+                ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/SRM/SW_Interaction/SwInteractionResource/waitingPolicyElements"/>
+          </genClasses>
+          <genClasses image="false" ecoreClass="MARTE.ecore#//MARTE_DesignModel/SRM/SW_Interaction/SwCommunicationResource"/>
+          <genClasses image="false" ecoreClass="MARTE.ecore#//MARTE_DesignModel/SRM/SW_Interaction/SwSynchronizationResource"/>
+          <genClasses ecoreClass="MARTE.ecore#//MARTE_DesignModel/SRM/SW_Interaction/SharedDataComResource">
+            <genFeatures notify="false" createChild="false" propertySortChoices="true"
+                ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/SRM/SW_Interaction/SharedDataComResource/readServices"/>
+            <genFeatures notify="false" createChild="false" propertySortChoices="true"
+                ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/SRM/SW_Interaction/SharedDataComResource/writeServices"/>
+          </genClasses>
+          <genClasses ecoreClass="MARTE.ecore#//MARTE_DesignModel/SRM/SW_Interaction/MessageComResource">
+            <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/SRM/SW_Interaction/MessageComResource/isFixedMessageSize"/>
+            <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/SRM/SW_Interaction/MessageComResource/mechanism"/>
+            <genFeatures notify="false" createChild="false" propertySortChoices="true"
+                ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/SRM/SW_Interaction/MessageComResource/messageSizeElements"/>
+            <genFeatures notify="false" createChild="false" propertySortChoices="true"
+                ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/SRM/SW_Interaction/MessageComResource/messageQueueCapacityElements"/>
+            <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/SRM/SW_Interaction/MessageComResource/messageQueuePolicy"/>
+            <genFeatures notify="false" createChild="false" propertySortChoices="true"
+                ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/SRM/SW_Interaction/MessageComResource/sendServices"/>
+            <genFeatures notify="false" createChild="false" propertySortChoices="true"
+                ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/SRM/SW_Interaction/MessageComResource/receiveServices"/>
+          </genClasses>
+          <genClasses ecoreClass="MARTE.ecore#//MARTE_DesignModel/SRM/SW_Interaction/NotificationResource">
+            <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/SRM/SW_Interaction/NotificationResource/occurence"/>
+            <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/SRM/SW_Interaction/NotificationResource/mechanism"/>
+            <genFeatures notify="false" createChild="false" propertySortChoices="true"
+                ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/SRM/SW_Interaction/NotificationResource/occurenceCountElements"/>
+            <genFeatures notify="false" createChild="false" propertySortChoices="true"
+                ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/SRM/SW_Interaction/NotificationResource/maskElements"/>
+            <genFeatures notify="false" createChild="false" propertySortChoices="true"
+                ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/SRM/SW_Interaction/NotificationResource/flushServices"/>
+            <genFeatures notify="false" createChild="false" propertySortChoices="true"
+                ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/SRM/SW_Interaction/NotificationResource/signalServices"/>
+            <genFeatures notify="false" createChild="false" propertySortChoices="true"
+                ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/SRM/SW_Interaction/NotificationResource/waitServices"/>
+            <genFeatures notify="false" createChild="false" propertySortChoices="true"
+                ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/SRM/SW_Interaction/NotificationResource/clearServices"/>
+          </genClasses>
+          <genClasses ecoreClass="MARTE.ecore#//MARTE_DesignModel/SRM/SW_Interaction/SwMutualExclusionResource">
+            <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/SRM/SW_Interaction/SwMutualExclusionResource/mechanism"/>
+            <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/SRM/SW_Interaction/SwMutualExclusionResource/concurrentAccessProtocol"/>
+            <genFeatures notify="false" createChild="false" propertySortChoices="true"
+                ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/SRM/SW_Interaction/SwMutualExclusionResource/accessTokenElements"/>
+            <genFeatures notify="false" createChild="false" propertySortChoices="true"
+                ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/SRM/SW_Interaction/SwMutualExclusionResource/releaseServices"/>
+            <genFeatures notify="false" createChild="false" propertySortChoices="true"
+                ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/SRM/SW_Interaction/SwMutualExclusionResource/acquireServices"/>
+          </genClasses>
+        </nestedGenPackages>
+      </nestedGenPackages>
+      <nestedGenPackages prefix="GCM" resource="XML" disposableProviderFactory="true"
+          ecorePackage="MARTE.ecore#//MARTE_DesignModel/GCM">
+        <genEnums typeSafeEnumCompatible="false" ecoreEnum="MARTE.ecore#//MARTE_DesignModel/GCM/FlowDirectionKind">
+          <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/GCM/FlowDirectionKind/in"/>
+          <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/GCM/FlowDirectionKind/out"/>
+          <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/GCM/FlowDirectionKind/inout"/>
+        </genEnums>
+        <genEnums typeSafeEnumCompatible="false" ecoreEnum="MARTE.ecore#//MARTE_DesignModel/GCM/PortSpecificationKind">
+          <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/GCM/PortSpecificationKind/atomic"/>
+          <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/GCM/PortSpecificationKind/interfaceBased"/>
+          <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/GCM/PortSpecificationKind/featureBased"/>
+        </genEnums>
+        <genEnums typeSafeEnumCompatible="false" ecoreEnum="MARTE.ecore#//MARTE_DesignModel/GCM/ClientServerKind">
+          <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/GCM/ClientServerKind/required"/>
+          <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/GCM/ClientServerKind/provided"/>
+          <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/GCM/ClientServerKind/proreq"/>
+        </genEnums>
+        <genEnums typeSafeEnumCompatible="false" ecoreEnum="MARTE.ecore#//MARTE_DesignModel/GCM/DataPoolOrderingKind">
+          <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/GCM/DataPoolOrderingKind/FIFO"/>
+          <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/GCM/DataPoolOrderingKind/LIFO"/>
+          <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_DesignModel/GCM/DataPoolOrderingKind/UserDefined"/>
+        </genEnums>
+        <genClasses ecoreClass="MARTE.ecore#//MARTE_DesignModel/GCM/FlowProperty">
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/GCM/FlowProperty/direction"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/GCM/FlowProperty/base_Property"/>
+        </genClasses>
+        <genClasses ecoreClass="MARTE.ecore#//MARTE_DesignModel/GCM/FlowPort">
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/GCM/FlowPort/isAtomic"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/GCM/FlowPort/direction"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/GCM/FlowPort/base_Port"/>
+        </genClasses>
+        <genClasses ecoreClass="MARTE.ecore#//MARTE_DesignModel/GCM/ClientServerPort">
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/GCM/ClientServerPort/base_Port"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/GCM/ClientServerPort/specificationKind"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/GCM/ClientServerPort/kind"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/GCM/ClientServerPort/provInterface"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/GCM/ClientServerPort/reqInterface"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/GCM/ClientServerPort/featuresSpec"/>
+        </genClasses>
+        <genClasses ecoreClass="MARTE.ecore#//MARTE_DesignModel/GCM/ClientServerSpecification">
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/GCM/ClientServerSpecification/base_Interface"/>
+        </genClasses>
+        <genClasses ecoreClass="MARTE.ecore#//MARTE_DesignModel/GCM/FlowSpecification">
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/GCM/FlowSpecification/base_Interface"/>
+        </genClasses>
+        <genClasses ecoreClass="MARTE.ecore#//MARTE_DesignModel/GCM/ClientServerFeature">
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/GCM/ClientServerFeature/kind"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/GCM/ClientServerFeature/base_BehavioralFeature"/>
+        </genClasses>
+        <genClasses ecoreClass="MARTE.ecore#//MARTE_DesignModel/GCM/GCMTrigger">
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/GCM/GCMTrigger/base_Trigger"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/GCM/GCMTrigger/feature"/>
+        </genClasses>
+        <genClasses ecoreClass="MARTE.ecore#//MARTE_DesignModel/GCM/GCMInvocationAction">
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/GCM/GCMInvocationAction/base_InvocationAction"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/GCM/GCMInvocationAction/onFeature"/>
+        </genClasses>
+        <genClasses ecoreClass="MARTE.ecore#//MARTE_DesignModel/GCM/DataEvent">
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/GCM/DataEvent/base_AnyReceiveEvent"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/GCM/DataEvent/classifier"/>
+        </genClasses>
+        <genClasses ecoreClass="MARTE.ecore#//MARTE_DesignModel/GCM/DataPool">
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_DesignModel/GCM/DataPool/ordering"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/GCM/DataPool/base_Property"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/GCM/DataPool/insertion"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/GCM/DataPool/selection"/>
+        </genClasses>
+        <genClasses ecoreClass="MARTE.ecore#//MARTE_DesignModel/GCM/GCMInvocatingBehavior">
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/GCM/GCMInvocatingBehavior/base_Behavior"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/GCM/GCMInvocatingBehavior/onPorts"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/GCM/GCMInvocatingBehavior/onFeatures"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_DesignModel/GCM/GCMInvocatingBehavior/invocations"/>
+        </genClasses>
+      </nestedGenPackages>
+    </nestedGenPackages>
+    <nestedGenPackages prefix="MARTE_AnalysisModel" disposableProviderFactory="true"
+        ecorePackage="MARTE.ecore#//MARTE_AnalysisModel">
+      <nestedGenPackages prefix="GQAM" resource="XML" disposableProviderFactory="true"
+          ecorePackage="MARTE.ecore#//MARTE_AnalysisModel/GQAM">
+        <genEnums typeSafeEnumCompatible="false" ecoreEnum="MARTE.ecore#//MARTE_AnalysisModel/GQAM/LaxityKind">
+          <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_AnalysisModel/GQAM/LaxityKind/hard"/>
+          <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_AnalysisModel/GQAM/LaxityKind/soft"/>
+          <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_AnalysisModel/GQAM/LaxityKind/other"/>
+        </genEnums>
+        <genClasses ecoreClass="MARTE.ecore#//MARTE_AnalysisModel/GQAM/GaWorkloadGenerator">
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_AnalysisModel/GQAM/GaWorkloadGenerator/pop"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_AnalysisModel/GQAM/GaWorkloadGenerator/base_Behavior"/>
+        </genClasses>
+        <genClasses ecoreClass="MARTE.ecore#//MARTE_AnalysisModel/GQAM/GaEventTrace">
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_AnalysisModel/GQAM/GaEventTrace/content"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_AnalysisModel/GQAM/GaEventTrace/format"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_AnalysisModel/GQAM/GaEventTrace/location"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_AnalysisModel/GQAM/GaEventTrace/base_NamedElement"/>
+        </genClasses>
+        <genClasses ecoreClass="MARTE.ecore#//MARTE_AnalysisModel/GQAM/GaWorkloadEvent">
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_AnalysisModel/GQAM/GaWorkloadEvent/pattern"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_AnalysisModel/GQAM/GaWorkloadEvent/generator"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_AnalysisModel/GQAM/GaWorkloadEvent/trace"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_AnalysisModel/GQAM/GaWorkloadEvent/effect"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_AnalysisModel/GQAM/GaWorkloadEvent/timedEvent"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_AnalysisModel/GQAM/GaWorkloadEvent/base_NamedElement"/>
+        </genClasses>
+        <genClasses ecoreClass="MARTE.ecore#//MARTE_AnalysisModel/GQAM/GaScenario">
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_AnalysisModel/GQAM/GaScenario/cause"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_AnalysisModel/GQAM/GaScenario/hostDemand"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_AnalysisModel/GQAM/GaScenario/hostDemandOps"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_AnalysisModel/GQAM/GaScenario/interOccT"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_AnalysisModel/GQAM/GaScenario/throughput"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_AnalysisModel/GQAM/GaScenario/respT"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_AnalysisModel/GQAM/GaScenario/utilization"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_AnalysisModel/GQAM/GaScenario/utilizationOnHost"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_AnalysisModel/GQAM/GaScenario/root"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_AnalysisModel/GQAM/GaScenario/steps"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_AnalysisModel/GQAM/GaScenario/parentStep"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_AnalysisModel/GQAM/GaScenario/timing"/>
+        </genClasses>
+        <genClasses ecoreClass="MARTE.ecore#//MARTE_AnalysisModel/GQAM/GaStep">
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_AnalysisModel/GQAM/GaStep/isAtomic"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_AnalysisModel/GQAM/GaStep/blockT"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_AnalysisModel/GQAM/GaStep/rep"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_AnalysisModel/GQAM/GaStep/prob"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_AnalysisModel/GQAM/GaStep/priority"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_AnalysisModel/GQAM/GaStep/concurRes"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_AnalysisModel/GQAM/GaStep/host"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_AnalysisModel/GQAM/GaStep/servDemand"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_AnalysisModel/GQAM/GaStep/servCount"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_AnalysisModel/GQAM/GaStep/selfDelay"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_AnalysisModel/GQAM/GaStep/scenario"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_AnalysisModel/GQAM/GaStep/childScenario"/>
+        </genClasses>
+        <genClasses ecoreClass="MARTE.ecore#//MARTE_AnalysisModel/GQAM/GaExecHost">
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_AnalysisModel/GQAM/GaExecHost/commTxOvh"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_AnalysisModel/GQAM/GaExecHost/commRcvOvh"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_AnalysisModel/GQAM/GaExecHost/cntxtSwT"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_AnalysisModel/GQAM/GaExecHost/clockOvh"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_AnalysisModel/GQAM/GaExecHost/schedPriRange"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_AnalysisModel/GQAM/GaExecHost/memSize"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_AnalysisModel/GQAM/GaExecHost/utilization"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_AnalysisModel/GQAM/GaExecHost/throughput"/>
+        </genClasses>
+        <genClasses ecoreClass="MARTE.ecore#//MARTE_AnalysisModel/GQAM/GaRequestedService">
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_AnalysisModel/GQAM/GaRequestedService/base_Operation"/>
+        </genClasses>
+        <genClasses ecoreClass="MARTE.ecore#//MARTE_AnalysisModel/GQAM/GaTimedObs">
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_AnalysisModel/GQAM/GaTimedObs/laxity"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_AnalysisModel/GQAM/GaTimedObs/startObs"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_AnalysisModel/GQAM/GaTimedObs/endObs"/>
+        </genClasses>
+        <genClasses ecoreClass="MARTE.ecore#//MARTE_AnalysisModel/GQAM/GaCommStep"/>
+        <genClasses ecoreClass="MARTE.ecore#//MARTE_AnalysisModel/GQAM/GaAcqStep">
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_AnalysisModel/GQAM/GaAcqStep/acqRes"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_AnalysisModel/GQAM/GaAcqStep/resUnits"/>
+        </genClasses>
+        <genClasses ecoreClass="MARTE.ecore#//MARTE_AnalysisModel/GQAM/GaRelStep">
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_AnalysisModel/GQAM/GaRelStep/relRes"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_AnalysisModel/GQAM/GaRelStep/resUnits"/>
+        </genClasses>
+        <genClasses ecoreClass="MARTE.ecore#//MARTE_AnalysisModel/GQAM/GaLatencyObs">
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_AnalysisModel/GQAM/GaLatencyObs/latency"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_AnalysisModel/GQAM/GaLatencyObs/miss"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_AnalysisModel/GQAM/GaLatencyObs/utility"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_AnalysisModel/GQAM/GaLatencyObs/maxJitter"/>
+        </genClasses>
+        <genClasses ecoreClass="MARTE.ecore#//MARTE_AnalysisModel/GQAM/GaCommHost">
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_AnalysisModel/GQAM/GaCommHost/throughput"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_AnalysisModel/GQAM/GaCommHost/utilization"/>
+        </genClasses>
+        <genClasses ecoreClass="MARTE.ecore#//MARTE_AnalysisModel/GQAM/GaCommChannel">
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_AnalysisModel/GQAM/GaCommChannel/packetSize"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_AnalysisModel/GQAM/GaCommChannel/utilization"/>
+        </genClasses>
+        <genClasses ecoreClass="MARTE.ecore#//MARTE_AnalysisModel/GQAM/GaWorkloadBehavior">
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_AnalysisModel/GQAM/GaWorkloadBehavior/behavior"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_AnalysisModel/GQAM/GaWorkloadBehavior/demand"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_AnalysisModel/GQAM/GaWorkloadBehavior/base_NamedElement"/>
+        </genClasses>
+        <genClasses ecoreClass="MARTE.ecore#//MARTE_AnalysisModel/GQAM/GaAnalysisContext">
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_AnalysisModel/GQAM/GaAnalysisContext/context"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_AnalysisModel/GQAM/GaAnalysisContext/workload"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_AnalysisModel/GQAM/GaAnalysisContext/platform"/>
+        </genClasses>
+        <genClasses ecoreClass="MARTE.ecore#//MARTE_AnalysisModel/GQAM/GaResourcesPlatform">
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_AnalysisModel/GQAM/GaResourcesPlatform/resources"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_AnalysisModel/GQAM/GaResourcesPlatform/base_Classifier"/>
+        </genClasses>
+      </nestedGenPackages>
+      <nestedGenPackages prefix="SAM" resource="XML" disposableProviderFactory="true"
+          ecorePackage="MARTE.ecore#//MARTE_AnalysisModel/SAM">
+        <genEnums typeSafeEnumCompatible="false" ecoreEnum="MARTE.ecore#//MARTE_AnalysisModel/SAM/OptimallityCriterionKind">
+          <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_AnalysisModel/SAM/OptimallityCriterionKind/meetHardDeadlines"/>
+          <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_AnalysisModel/SAM/OptimallityCriterionKind/minimizeMissedDeadlines"/>
+          <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_AnalysisModel/SAM/OptimallityCriterionKind/minimizedMeanTardiness"/>
+          <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_AnalysisModel/SAM/OptimallityCriterionKind/undef"/>
+          <genEnumLiterals ecoreEnumLiteral="MARTE.ecore#//MARTE_AnalysisModel/SAM/OptimallityCriterionKind/other"/>
+        </genEnums>
+        <genClasses ecoreClass="MARTE.ecore#//MARTE_AnalysisModel/SAM/SaAnalysisContext">
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_AnalysisModel/SAM/SaAnalysisContext/isSched"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_AnalysisModel/SAM/SaAnalysisContext/optCriterion"/>
+        </genClasses>
+        <genClasses ecoreClass="MARTE.ecore#//MARTE_AnalysisModel/SAM/SaEndtoEndFlow">
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_AnalysisModel/SAM/SaEndtoEndFlow/isSched"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_AnalysisModel/SAM/SaEndtoEndFlow/schSlack"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_AnalysisModel/SAM/SaEndtoEndFlow/end2EndT"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_AnalysisModel/SAM/SaEndtoEndFlow/end2EndD"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_AnalysisModel/SAM/SaEndtoEndFlow/timing"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_AnalysisModel/SAM/SaEndtoEndFlow/base_NamedElement"/>
+        </genClasses>
+        <genClasses ecoreClass="MARTE.ecore#//MARTE_AnalysisModel/SAM/SaCommStep">
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_AnalysisModel/SAM/SaCommStep/deadline"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_AnalysisModel/SAM/SaCommStep/spareCap"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_AnalysisModel/SAM/SaCommStep/schSlack"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_AnalysisModel/SAM/SaCommStep/base_BehavioralFeature"/>
+        </genClasses>
+        <genClasses ecoreClass="MARTE.ecore#//MARTE_AnalysisModel/SAM/SaStep">
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_AnalysisModel/SAM/SaStep/base_BehavioralFeature"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_AnalysisModel/SAM/SaStep/deadline"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_AnalysisModel/SAM/SaStep/spareCap"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_AnalysisModel/SAM/SaStep/schSlack"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_AnalysisModel/SAM/SaStep/preemptT"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_AnalysisModel/SAM/SaStep/readyT"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_AnalysisModel/SAM/SaStep/nonpreemptionBlocking"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_AnalysisModel/SAM/SaStep/sharedRes"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_AnalysisModel/SAM/SaStep/selfSuspensionBlocking"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_AnalysisModel/SAM/SaStep/numberSelfSuspensions"/>
+        </genClasses>
+        <genClasses ecoreClass="MARTE.ecore#//MARTE_AnalysisModel/SAM/SaSharedResource">
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_AnalysisModel/SAM/SaSharedResource/capacity"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_AnalysisModel/SAM/SaSharedResource/isPreemp"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_AnalysisModel/SAM/SaSharedResource/isConsum"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_AnalysisModel/SAM/SaSharedResource/acquisT"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_AnalysisModel/SAM/SaSharedResource/releaseT"/>
+        </genClasses>
+        <genClasses ecoreClass="MARTE.ecore#//MARTE_AnalysisModel/SAM/SaSchedObs">
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_AnalysisModel/SAM/SaSchedObs/suspentions"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_AnalysisModel/SAM/SaSchedObs/blockT"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_AnalysisModel/SAM/SaSchedObs/overlaps"/>
+        </genClasses>
+        <genClasses ecoreClass="MARTE.ecore#//MARTE_AnalysisModel/SAM/SaCommHost">
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_AnalysisModel/SAM/SaCommHost/isSched"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_AnalysisModel/SAM/SaCommHost/schSlack"/>
+        </genClasses>
+        <genClasses ecoreClass="MARTE.ecore#//MARTE_AnalysisModel/SAM/SaExecHost">
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_AnalysisModel/SAM/SaExecHost/isSched"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_AnalysisModel/SAM/SaExecHost/schSlack"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_AnalysisModel/SAM/SaExecHost/schedUtiliz"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_AnalysisModel/SAM/SaExecHost/ISRswitchT"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_AnalysisModel/SAM/SaExecHost/ISRprioRange"/>
+        </genClasses>
+      </nestedGenPackages>
+      <nestedGenPackages prefix="PAM" resource="XML" disposableProviderFactory="true"
+          ecorePackage="MARTE.ecore#//MARTE_AnalysisModel/PAM">
+        <genClasses ecoreClass="MARTE.ecore#//MARTE_AnalysisModel/PAM/PaStep">
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_AnalysisModel/PAM/PaStep/noSync"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_AnalysisModel/PAM/PaStep/extOpDemand"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_AnalysisModel/PAM/PaStep/extOpCount"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_AnalysisModel/PAM/PaStep/behavDemand"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_AnalysisModel/PAM/PaStep/behavCount"/>
+        </genClasses>
+        <genClasses ecoreClass="MARTE.ecore#//MARTE_AnalysisModel/PAM/PaRequestedStep"/>
+        <genClasses ecoreClass="MARTE.ecore#//MARTE_AnalysisModel/PAM/PaCommStep"/>
+        <genClasses ecoreClass="MARTE.ecore#//MARTE_AnalysisModel/PAM/PaResPassStep">
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_AnalysisModel/PAM/PaResPassStep/resource"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_AnalysisModel/PAM/PaResPassStep/resUnits"/>
+        </genClasses>
+        <genClasses ecoreClass="MARTE.ecore#//MARTE_AnalysisModel/PAM/PaLogicalResource">
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_AnalysisModel/PAM/PaLogicalResource/utilization"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_AnalysisModel/PAM/PaLogicalResource/throughput"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_AnalysisModel/PAM/PaLogicalResource/poolSize"/>
+        </genClasses>
+        <genClasses ecoreClass="MARTE.ecore#//MARTE_AnalysisModel/PAM/PaRunTInstance">
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_AnalysisModel/PAM/PaRunTInstance/poolSize"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_AnalysisModel/PAM/PaRunTInstance/unbddPool"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_AnalysisModel/PAM/PaRunTInstance/instance"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_AnalysisModel/PAM/PaRunTInstance/host"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_AnalysisModel/PAM/PaRunTInstance/utilization"/>
+          <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MARTE.ecore#//MARTE_AnalysisModel/PAM/PaRunTInstance/throughput"/>
+          <genFeatures notify="false" createChild="false" propertySortChoices="true"
+              ecoreFeature="ecore:EReference MARTE.ecore#//MARTE_AnalysisModel/PAM/PaRunTInstance/base_NamedElement"/>
+        </genClasses>
+      </nestedGenPackages>
+    </nestedGenPackages>
+  </genPackages>
+  <genPackages prefix="MARTE_Library" basePackage="org.eclipse.papyrus" disposableProviderFactory="true"
+      ecorePackage="MARTE_Library.ecore#/">
+    <nestedGenPackages prefix="MeasurementUnits" disposableProviderFactory="true"
+        ecorePackage="MARTE_Library.ecore#//MeasurementUnits">
+      <genEnums typeSafeEnumCompatible="false" ecoreEnum="MARTE_Library.ecore#//MeasurementUnits/TimeUnitKind">
+        <genEnumLiterals ecoreEnumLiteral="MARTE_Library.ecore#//MeasurementUnits/TimeUnitKind/s"/>
+        <genEnumLiterals ecoreEnumLiteral="MARTE_Library.ecore#//MeasurementUnits/TimeUnitKind/tick"/>
+        <genEnumLiterals ecoreEnumLiteral="MARTE_Library.ecore#//MeasurementUnits/TimeUnitKind/ms"/>
+        <genEnumLiterals ecoreEnumLiteral="MARTE_Library.ecore#//MeasurementUnits/TimeUnitKind/us"/>
+        <genEnumLiterals ecoreEnumLiteral="MARTE_Library.ecore#//MeasurementUnits/TimeUnitKind/min"/>
+        <genEnumLiterals ecoreEnumLiteral="MARTE_Library.ecore#//MeasurementUnits/TimeUnitKind/hrs"/>
+        <genEnumLiterals ecoreEnumLiteral="MARTE_Library.ecore#//MeasurementUnits/TimeUnitKind/day"/>
+      </genEnums>
+      <genEnums typeSafeEnumCompatible="false" ecoreEnum="MARTE_Library.ecore#//MeasurementUnits/PowerUnitKind">
+        <genEnumLiterals ecoreEnumLiteral="MARTE_Library.ecore#//MeasurementUnits/PowerUnitKind/W"/>
+        <genEnumLiterals ecoreEnumLiteral="MARTE_Library.ecore#//MeasurementUnits/PowerUnitKind/mW"/>
+        <genEnumLiterals ecoreEnumLiteral="MARTE_Library.ecore#//MeasurementUnits/PowerUnitKind/KW"/>
+      </genEnums>
+      <genEnums typeSafeEnumCompatible="false" ecoreEnum="MARTE_Library.ecore#//MeasurementUnits/FrequencyUnitKind">
+        <genEnumLiterals ecoreEnumLiteral="MARTE_Library.ecore#//MeasurementUnits/FrequencyUnitKind/Hz"/>
+        <genEnumLiterals ecoreEnumLiteral="MARTE_Library.ecore#//MeasurementUnits/FrequencyUnitKind/KHz"/>
+        <genEnumLiterals ecoreEnumLiteral="MARTE_Library.ecore#//MeasurementUnits/FrequencyUnitKind/MHz"/>
+        <genEnumLiterals ecoreEnumLiteral="MARTE_Library.ecore#//MeasurementUnits/FrequencyUnitKind/GHz"/>
+        <genEnumLiterals ecoreEnumLiteral="MARTE_Library.ecore#//MeasurementUnits/FrequencyUnitKind/rpm"/>
+      </genEnums>
+      <genEnums typeSafeEnumCompatible="false" ecoreEnum="MARTE_Library.ecore#//MeasurementUnits/DataSizeUnitKind">
+        <genEnumLiterals ecoreEnumLiteral="MARTE_Library.ecore#//MeasurementUnits/DataSizeUnitKind/bit"/>
+        <genEnumLiterals ecoreEnumLiteral="MARTE_Library.ecore#//MeasurementUnits/DataSizeUnitKind/Byte"/>
+        <genEnumLiterals ecoreEnumLiteral="MARTE_Library.ecore#//MeasurementUnits/DataSizeUnitKind/KB"/>
+        <genEnumLiterals ecoreEnumLiteral="MARTE_Library.ecore#//MeasurementUnits/DataSizeUnitKind/MB"/>
+        <genEnumLiterals ecoreEnumLiteral="MARTE_Library.ecore#//MeasurementUnits/DataSizeUnitKind/GB"/>
+      </genEnums>
+      <genEnums typeSafeEnumCompatible="false" ecoreEnum="MARTE_Library.ecore#//MeasurementUnits/DataTxRateUnitKind">
+        <genEnumLiterals ecoreEnumLiteral="MARTE_Library.ecore#//MeasurementUnits/DataTxRateUnitKind/b_per_s"/>
+        <genEnumLiterals ecoreEnumLiteral="MARTE_Library.ecore#//MeasurementUnits/DataTxRateUnitKind/Kb_per_s"/>
+        <genEnumLiterals ecoreEnumLiteral="MARTE_Library.ecore#//MeasurementUnits/DataTxRateUnitKind/Mb_per_s"/>
+      </genEnums>
+      <genEnums typeSafeEnumCompatible="false" ecoreEnum="MARTE_Library.ecore#//MeasurementUnits/EnergyUnitKind">
+        <genEnumLiterals ecoreEnumLiteral="MARTE_Library.ecore#//MeasurementUnits/EnergyUnitKind/J"/>
+        <genEnumLiterals ecoreEnumLiteral="MARTE_Library.ecore#//MeasurementUnits/EnergyUnitKind/KJ"/>
+        <genEnumLiterals ecoreEnumLiteral="MARTE_Library.ecore#//MeasurementUnits/EnergyUnitKind/Wh"/>
+        <genEnumLiterals ecoreEnumLiteral="MARTE_Library.ecore#//MeasurementUnits/EnergyUnitKind/KWh"/>
+        <genEnumLiterals ecoreEnumLiteral="MARTE_Library.ecore#//MeasurementUnits/EnergyUnitKind/mWh"/>
+      </genEnums>
+      <genEnums typeSafeEnumCompatible="false" ecoreEnum="MARTE_Library.ecore#//MeasurementUnits/LengthUnitKind">
+        <genEnumLiterals ecoreEnumLiteral="MARTE_Library.ecore#//MeasurementUnits/LengthUnitKind/m"/>
+        <genEnumLiterals ecoreEnumLiteral="MARTE_Library.ecore#//MeasurementUnits/LengthUnitKind/cm"/>
+        <genEnumLiterals ecoreEnumLiteral="MARTE_Library.ecore#//MeasurementUnits/LengthUnitKind/mm"/>
+      </genEnums>
+      <genEnums typeSafeEnumCompatible="false" ecoreEnum="MARTE_Library.ecore#//MeasurementUnits/AreaUnitKind">
+        <genEnumLiterals ecoreEnumLiteral="MARTE_Library.ecore#//MeasurementUnits/AreaUnitKind/mm2"/>
+        <genEnumLiterals ecoreEnumLiteral="MARTE_Library.ecore#//MeasurementUnits/AreaUnitKind/um2"/>
+      </genEnums>
+      <genEnums typeSafeEnumCompatible="false" ecoreEnum="MARTE_Library.ecore#//MeasurementUnits/WeightUnitKind">
+        <genEnumLiterals ecoreEnumLiteral="MARTE_Library.ecore#//MeasurementUnits/WeightUnitKind/g"/>
+        <genEnumLiterals ecoreEnumLiteral="MARTE_Library.ecore#//MeasurementUnits/WeightUnitKind/mg"/>
+        <genEnumLiterals ecoreEnumLiteral="MARTE_Library.ecore#//MeasurementUnits/WeightUnitKind/kg"/>
+      </genEnums>
+    </nestedGenPackages>
+    <nestedGenPackages prefix="GRM_BasicTypes" disposableProviderFactory="true" ecorePackage="MARTE_Library.ecore#//GRM_BasicTypes">
+      <genEnums typeSafeEnumCompatible="false" ecoreEnum="MARTE_Library.ecore#//GRM_BasicTypes/SchedPolicyKind">
+        <genEnumLiterals ecoreEnumLiteral="MARTE_Library.ecore#//GRM_BasicTypes/SchedPolicyKind/EarliestDeadlineFirst"/>
+        <genEnumLiterals ecoreEnumLiteral="MARTE_Library.ecore#//GRM_BasicTypes/SchedPolicyKind/FIFO"/>
+        <genEnumLiterals ecoreEnumLiteral="MARTE_Library.ecore#//GRM_BasicTypes/SchedPolicyKind/FixedPriority"/>
+        <genEnumLiterals ecoreEnumLiteral="MARTE_Library.ecore#//GRM_BasicTypes/SchedPolicyKind/LeastLaxityFirst"/>
+        <genEnumLiterals ecoreEnumLiteral="MARTE_Library.ecore#//GRM_BasicTypes/SchedPolicyKind/RoundRobin"/>
+        <genEnumLiterals ecoreEnumLiteral="MARTE_Library.ecore#//GRM_BasicTypes/SchedPolicyKind/TimeTableDriven"/>
+        <genEnumLiterals ecoreEnumLiteral="MARTE_Library.ecore#//GRM_BasicTypes/SchedPolicyKind/Undef"/>
+        <genEnumLiterals ecoreEnumLiteral="MARTE_Library.ecore#//GRM_BasicTypes/SchedPolicyKind/Other"/>
+      </genEnums>
+      <genEnums typeSafeEnumCompatible="false" ecoreEnum="MARTE_Library.ecore#//GRM_BasicTypes/ProtectProtocolKind">
+        <genEnumLiterals ecoreEnumLiteral="MARTE_Library.ecore#//GRM_BasicTypes/ProtectProtocolKind/FIFO"/>
+        <genEnumLiterals ecoreEnumLiteral="MARTE_Library.ecore#//GRM_BasicTypes/ProtectProtocolKind/NoPreemption"/>
+        <genEnumLiterals ecoreEnumLiteral="MARTE_Library.ecore#//GRM_BasicTypes/ProtectProtocolKind/PriorityCeiling"/>
+        <genEnumLiterals ecoreEnumLiteral="MARTE_Library.ecore#//GRM_BasicTypes/ProtectProtocolKind/PriorityInheritance"/>
+        <genEnumLiterals ecoreEnumLiteral="MARTE_Library.ecore#//GRM_BasicTypes/ProtectProtocolKind/StackBased"/>
+        <genEnumLiterals ecoreEnumLiteral="MARTE_Library.ecore#//GRM_BasicTypes/ProtectProtocolKind/Undef"/>
+        <genEnumLiterals ecoreEnumLiteral="MARTE_Library.ecore#//GRM_BasicTypes/ProtectProtocolKind/Other"/>
+      </genEnums>
+      <genEnums typeSafeEnumCompatible="false" ecoreEnum="MARTE_Library.ecore#//GRM_BasicTypes/PeriodicServerKind">
+        <genEnumLiterals ecoreEnumLiteral="MARTE_Library.ecore#//GRM_BasicTypes/PeriodicServerKind/Sporadic"/>
+        <genEnumLiterals ecoreEnumLiteral="MARTE_Library.ecore#//GRM_BasicTypes/PeriodicServerKind/Deferrable"/>
+        <genEnumLiterals ecoreEnumLiteral="MARTE_Library.ecore#//GRM_BasicTypes/PeriodicServerKind/Undef"/>
+        <genEnumLiterals ecoreEnumLiteral="MARTE_Library.ecore#//GRM_BasicTypes/PeriodicServerKind/Other"/>
+      </genEnums>
+      <genDataTypes ecoreDataType="MARTE_Library.ecore#//GRM_BasicTypes/EDF_Parameters"/>
+      <genDataTypes ecoreDataType="MARTE_Library.ecore#//GRM_BasicTypes/SchedParameters"/>
+      <genDataTypes ecoreDataType="MARTE_Library.ecore#//GRM_BasicTypes/FixedPriorityParameters"/>
+      <genDataTypes ecoreDataType="MARTE_Library.ecore#//GRM_BasicTypes/PeriodicServerParameters"/>
+      <genDataTypes ecoreDataType="MARTE_Library.ecore#//GRM_BasicTypes/PoolingParameters"/>
+      <genDataTypes ecoreDataType="MARTE_Library.ecore#//GRM_BasicTypes/ScheduleSpecification"/>
+      <genDataTypes ecoreDataType="MARTE_Library.ecore#//GRM_BasicTypes/TableDrivenSchedule"/>
+      <genDataTypes ecoreDataType="MARTE_Library.ecore#//GRM_BasicTypes/TableEntryType"/>
+    </nestedGenPackages>
+    <nestedGenPackages prefix="MARTE_DataTypes" disposableProviderFactory="true" ecorePackage="MARTE_Library.ecore#//MARTE_DataTypes">
+      <genEnums typeSafeEnumCompatible="false" ecoreEnum="MARTE_Library.ecore#//MARTE_DataTypes/TransmModeKind">
+        <genEnumLiterals ecoreEnumLiteral="MARTE_Library.ecore#//MARTE_DataTypes/TransmModeKind/simplex"/>
+        <genEnumLiterals ecoreEnumLiteral="MARTE_Library.ecore#//MARTE_DataTypes/TransmModeKind/halfDuplex"/>
+        <genEnumLiterals ecoreEnumLiteral="MARTE_Library.ecore#//MARTE_DataTypes/TransmModeKind/fullDuplex"/>
+      </genEnums>
+      <genDataTypes ecoreDataType="MARTE_Library.ecore#//MARTE_DataTypes/IntegerVector"/>
+      <genDataTypes ecoreDataType="MARTE_Library.ecore#//MARTE_DataTypes/IntegerMatrix"/>
+      <genDataTypes ecoreDataType="MARTE_Library.ecore#//MARTE_DataTypes/VSL_Expression"/>
+      <genDataTypes ecoreDataType="MARTE_Library.ecore#//MARTE_DataTypes/IntegerInterval"/>
+      <genDataTypes ecoreDataType="MARTE_Library.ecore#//MARTE_DataTypes/UtilityType"/>
+      <genDataTypes ecoreDataType="MARTE_Library.ecore#//MARTE_DataTypes/Array"/>
+      <genDataTypes ecoreDataType="MARTE_Library.ecore#//MARTE_DataTypes/Realnterval"/>
+      <genDataTypes ecoreDataType="MARTE_Library.ecore#//MARTE_DataTypes/NFP_FrequencyInterval"/>
+      <genDataTypes ecoreDataType="MARTE_Library.ecore#//MARTE_DataTypes/Interval"/>
+      <genDataTypes ecoreDataType="MARTE_Library.ecore#//MARTE_DataTypes/NFP_NaturalInterval"/>
+      <genDataTypes ecoreDataType="MARTE_Library.ecore#//MARTE_DataTypes/RealVector"/>
+      <genDataTypes ecoreDataType="MARTE_Library.ecore#//MARTE_DataTypes/RealMatrix"/>
+    </nestedGenPackages>
+    <nestedGenPackages prefix="BasicNFP_Types" disposableProviderFactory="true" ecorePackage="MARTE_Library.ecore#//BasicNFP_Types">
+      <genEnums typeSafeEnumCompatible="false" ecoreEnum="MARTE_Library.ecore#//BasicNFP_Types/SourceKind">
+        <genEnumLiterals ecoreEnumLiteral="MARTE_Library.ecore#//BasicNFP_Types/SourceKind/est"/>
+        <genEnumLiterals ecoreEnumLiteral="MARTE_Library.ecore#//BasicNFP_Types/SourceKind/meas"/>
+        <genEnumLiterals ecoreEnumLiteral="MARTE_Library.ecore#//BasicNFP_Types/SourceKind/calc"/>
+        <genEnumLiterals ecoreEnumLiteral="MARTE_Library.ecore#//BasicNFP_Types/SourceKind/req"/>
+      </genEnums>
+      <genEnums typeSafeEnumCompatible="false" ecoreEnum="MARTE_Library.ecore#//BasicNFP_Types/DirectionKind">
+        <genEnumLiterals ecoreEnumLiteral="MARTE_Library.ecore#//BasicNFP_Types/DirectionKind/incr"/>
+        <genEnumLiterals ecoreEnumLiteral="MARTE_Library.ecore#//BasicNFP_Types/DirectionKind/decr"/>
+      </genEnums>
+      <genEnums typeSafeEnumCompatible="false" ecoreEnum="MARTE_Library.ecore#//BasicNFP_Types/StatisticalQualifierKind">
+        <genEnumLiterals ecoreEnumLiteral="MARTE_Library.ecore#//BasicNFP_Types/StatisticalQualifierKind/max"/>
+        <genEnumLiterals ecoreEnumLiteral="MARTE_Library.ecore#//BasicNFP_Types/StatisticalQualifierKind/min"/>
+        <genEnumLiterals ecoreEnumLiteral="MARTE_Library.ecore#//BasicNFP_Types/StatisticalQualifierKind/mean"/>
+        <genEnumLiterals ecoreEnumLiteral="MARTE_Library.ecore#//BasicNFP_Types/StatisticalQualifierKind/range"/>
+        <genEnumLiterals ecoreEnumLiteral="MARTE_Library.ecore#//BasicNFP_Types/StatisticalQualifierKind/percent"/>
+        <genEnumLiterals ecoreEnumLiteral="MARTE_Library.ecore#//BasicNFP_Types/StatisticalQualifierKind/distrib"/>
+        <genEnumLiterals ecoreEnumLiteral="MARTE_Library.ecore#//BasicNFP_Types/StatisticalQualifierKind/determ"/>
+        <genEnumLiterals ecoreEnumLiteral="MARTE_Library.ecore#//BasicNFP_Types/StatisticalQualifierKind/other"/>
+        <genEnumLiterals ecoreEnumLiteral="MARTE_Library.ecore#//BasicNFP_Types/StatisticalQualifierKind/variance"/>
+      </genEnums>
+      <genDataTypes ecoreDataType="MARTE_Library.ecore#//BasicNFP_Types/NFP_CommonType"/>
+      <genDataTypes ecoreDataType="MARTE_Library.ecore#//BasicNFP_Types/NFP_Boolean"/>
+      <genDataTypes ecoreDataType="MARTE_Library.ecore#//BasicNFP_Types/NFP_Natural"/>
+      <genDataTypes ecoreDataType="MARTE_Library.ecore#//BasicNFP_Types/NFP_String"/>
+      <genDataTypes ecoreDataType="MARTE_Library.ecore#//BasicNFP_Types/NFP_Real"/>
+      <genDataTypes ecoreDataType="MARTE_Library.ecore#//BasicNFP_Types/NFP_Integer"/>
+      <genDataTypes ecoreDataType="MARTE_Library.ecore#//BasicNFP_Types/NFP_DateTime"/>
+      <genDataTypes ecoreDataType="MARTE_Library.ecore#//BasicNFP_Types/NFP_Duration"/>
+      <genDataTypes ecoreDataType="MARTE_Library.ecore#//BasicNFP_Types/NFP_DataTxRate"/>
+      <genDataTypes ecoreDataType="MARTE_Library.ecore#//BasicNFP_Types/NFP_Frequency"/>
+      <genDataTypes ecoreDataType="MARTE_Library.ecore#//BasicNFP_Types/NFP_Power"/>
+      <genDataTypes ecoreDataType="MARTE_Library.ecore#//BasicNFP_Types/NFP_DataSize"/>
+      <genDataTypes ecoreDataType="MARTE_Library.ecore#//BasicNFP_Types/NFP_Energy"/>
+      <genDataTypes ecoreDataType="MARTE_Library.ecore#//BasicNFP_Types/NFP_Length"/>
+      <genDataTypes ecoreDataType="MARTE_Library.ecore#//BasicNFP_Types/NFP_Area"/>
+      <genDataTypes ecoreDataType="MARTE_Library.ecore#//BasicNFP_Types/ArrivalPattern"/>
+      <genDataTypes ecoreDataType="MARTE_Library.ecore#//BasicNFP_Types/PeriodicPattern"/>
+      <genDataTypes ecoreDataType="MARTE_Library.ecore#//BasicNFP_Types/AperiodicPattern"/>
+      <genDataTypes ecoreDataType="MARTE_Library.ecore#//BasicNFP_Types/ClosedPattern"/>
+      <genDataTypes ecoreDataType="MARTE_Library.ecore#//BasicNFP_Types/SporadicPattern"/>
+      <genDataTypes ecoreDataType="MARTE_Library.ecore#//BasicNFP_Types/BurstPattern"/>
+      <genDataTypes ecoreDataType="MARTE_Library.ecore#//BasicNFP_Types/IrregularPattern"/>
+      <genDataTypes ecoreDataType="MARTE_Library.ecore#//BasicNFP_Types/NFP_Percentage"/>
+      <genDataTypes ecoreDataType="MARTE_Library.ecore#//BasicNFP_Types/OpenPattern"/>
+      <genDataTypes ecoreDataType="MARTE_Library.ecore#//BasicNFP_Types/NFP_Price"/>
+      <genDataTypes ecoreDataType="MARTE_Library.ecore#//BasicNFP_Types/NFP_Weight"/>
+    </nestedGenPackages>
+    <nestedGenPackages prefix="TimeTypesLibrary" disposableProviderFactory="true"
+        ecorePackage="MARTE_Library.ecore#//TimeTypesLibrary">
+      <genEnums typeSafeEnumCompatible="false" ecoreEnum="MARTE_Library.ecore#//TimeTypesLibrary/TimeNatureKind">
+        <genEnumLiterals ecoreEnumLiteral="MARTE_Library.ecore#//TimeTypesLibrary/TimeNatureKind/discrete"/>
+        <genEnumLiterals ecoreEnumLiteral="MARTE_Library.ecore#//TimeTypesLibrary/TimeNatureKind/dense"/>
+      </genEnums>
+      <genEnums typeSafeEnumCompatible="false" ecoreEnum="MARTE_Library.ecore#//TimeTypesLibrary/TimeInterpretationKind">
+        <genEnumLiterals ecoreEnumLiteral="MARTE_Library.ecore#//TimeTypesLibrary/TimeInterpretationKind/duration"/>
+        <genEnumLiterals ecoreEnumLiteral="MARTE_Library.ecore#//TimeTypesLibrary/TimeInterpretationKind/instant"/>
+      </genEnums>
+      <genEnums typeSafeEnumCompatible="false" ecoreEnum="MARTE_Library.ecore#//TimeTypesLibrary/EventKind">
+        <genEnumLiterals ecoreEnumLiteral="MARTE_Library.ecore#//TimeTypesLibrary/EventKind/start"/>
+        <genEnumLiterals ecoreEnumLiteral="MARTE_Library.ecore#//TimeTypesLibrary/EventKind/finish"/>
+        <genEnumLiterals ecoreEnumLiteral="MARTE_Library.ecore#//TimeTypesLibrary/EventKind/send"/>
+        <genEnumLiterals ecoreEnumLiteral="MARTE_Library.ecore#//TimeTypesLibrary/EventKind/receive"/>
+        <genEnumLiterals ecoreEnumLiteral="MARTE_Library.ecore#//TimeTypesLibrary/EventKind/consume"/>
+      </genEnums>
+      <genEnums typeSafeEnumCompatible="false" ecoreEnum="MARTE_Library.ecore#//TimeTypesLibrary/TimeStandardKind">
+        <genEnumLiterals ecoreEnumLiteral="MARTE_Library.ecore#//TimeTypesLibrary/TimeStandardKind/TAI"/>
+        <genEnumLiterals ecoreEnumLiteral="MARTE_Library.ecore#//TimeTypesLibrary/TimeStandardKind/UT0"/>
+        <genEnumLiterals ecoreEnumLiteral="MARTE_Library.ecore#//TimeTypesLibrary/TimeStandardKind/UT1"/>
+        <genEnumLiterals ecoreEnumLiteral="MARTE_Library.ecore#//TimeTypesLibrary/TimeStandardKind/UTC"/>
+        <genEnumLiterals ecoreEnumLiteral="MARTE_Library.ecore#//TimeTypesLibrary/TimeStandardKind/Local"/>
+        <genEnumLiterals ecoreEnumLiteral="MARTE_Library.ecore#//TimeTypesLibrary/TimeStandardKind/TT"/>
+        <genEnumLiterals ecoreEnumLiteral="MARTE_Library.ecore#//TimeTypesLibrary/TimeStandardKind/TBD"/>
+        <genEnumLiterals ecoreEnumLiteral="MARTE_Library.ecore#//TimeTypesLibrary/TimeStandardKind/TCG"/>
+        <genEnumLiterals ecoreEnumLiteral="MARTE_Library.ecore#//TimeTypesLibrary/TimeStandardKind/TCB"/>
+        <genEnumLiterals ecoreEnumLiteral="MARTE_Library.ecore#//TimeTypesLibrary/TimeStandardKind/Sidereal"/>
+        <genEnumLiterals ecoreEnumLiteral="MARTE_Library.ecore#//TimeTypesLibrary/TimeStandardKind/GPS"/>
+      </genEnums>
+    </nestedGenPackages>
+    <nestedGenPackages prefix="TimeLibrary" disposableProviderFactory="true" ecorePackage="MARTE_Library.ecore#//TimeLibrary">
+      <genEnums typeSafeEnumCompatible="false" ecoreEnum="MARTE_Library.ecore#//TimeLibrary/TimeUnitKind">
+        <genEnumLiterals ecoreEnumLiteral="MARTE_Library.ecore#//TimeLibrary/TimeUnitKind/s"/>
+        <genEnumLiterals ecoreEnumLiteral="MARTE_Library.ecore#//TimeLibrary/TimeUnitKind/ms"/>
+        <genEnumLiterals ecoreEnumLiteral="MARTE_Library.ecore#//TimeLibrary/TimeUnitKind/us"/>
+        <genEnumLiterals ecoreEnumLiteral="MARTE_Library.ecore#//TimeLibrary/TimeUnitKind/ns"/>
+        <genEnumLiterals ecoreEnumLiteral="MARTE_Library.ecore#//TimeLibrary/TimeUnitKind/min"/>
+        <genEnumLiterals ecoreEnumLiteral="MARTE_Library.ecore#//TimeLibrary/TimeUnitKind/hrs"/>
+        <genEnumLiterals ecoreEnumLiteral="MARTE_Library.ecore#//TimeLibrary/TimeUnitKind/day"/>
+      </genEnums>
+      <genEnums typeSafeEnumCompatible="false" ecoreEnum="MARTE_Library.ecore#//TimeLibrary/LogicalTimeUnit">
+        <genEnumLiterals ecoreEnumLiteral="MARTE_Library.ecore#//TimeLibrary/LogicalTimeUnit/tick"/>
+      </genEnums>
+      <genDataTypes ecoreDataType="MARTE_Library.ecore#//TimeLibrary/TimedValueType"/>
+      <genDataTypes ecoreDataType="MARTE_Library.ecore#//TimeLibrary/ClockedValueSpecification"/>
+      <genClasses ecoreClass="MARTE_Library.ecore#//TimeLibrary/IdealClock">
+        <genOperations ecoreOperation="MARTE_Library.ecore#//TimeLibrary/IdealClock/currentTime"/>
+      </genClasses>
+    </nestedGenPackages>
+    <nestedGenPackages prefix="RS_Library" disposableProviderFactory="true" ecorePackage="MARTE_Library.ecore#//RS_Library">
+      <genDataTypes ecoreDataType="MARTE_Library.ecore#//RS_Library/TilerSpecification"/>
+      <genDataTypes ecoreDataType="MARTE_Library.ecore#//RS_Library/ShapeSpecification"/>
+    </nestedGenPackages>
+    <nestedGenPackages prefix="MARTE_PrimitivesTypes" disposableProviderFactory="true"
+        ecorePackage="MARTE_Library.ecore#//MARTE_PrimitivesTypes">
+      <genDataTypes ecoreDataType="MARTE_Library.ecore#//MARTE_PrimitivesTypes/Integer"/>
+      <genDataTypes ecoreDataType="MARTE_Library.ecore#//MARTE_PrimitivesTypes/Boolean"/>
+      <genDataTypes ecoreDataType="MARTE_Library.ecore#//MARTE_PrimitivesTypes/UnlimitedNatural"/>
+      <genDataTypes ecoreDataType="MARTE_Library.ecore#//MARTE_PrimitivesTypes/String"/>
+      <genDataTypes ecoreDataType="MARTE_Library.ecore#//MARTE_PrimitivesTypes/DateTime"/>
+      <genDataTypes ecoreDataType="MARTE_Library.ecore#//MARTE_PrimitivesTypes/Real"/>
+    </nestedGenPackages>
+  </genPackages>
+</genmodel:GenModel>
diff --git a/plugins/org.polarsys.chess.chessmlprofile/model/MARTE_Library.ecore b/plugins/org.polarsys.chess.chessmlprofile/model/MARTE_Library.ecore
new file mode 100644
index 000000000..6a8606ec1
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/model/MARTE_Library.ecore
@@ -0,0 +1,231 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="MARTE_Library" nsURI="http:///MARTE_Library.ecore" nsPrefix="MARTE_Library">
+  <eSubpackages name="MeasurementUnits" nsURI="http:///MARTE_Library/MeasurementUnits.ecore"
+      nsPrefix="MARTE_Library.MeasurementUnits">
+    <eClassifiers xsi:type="ecore:EEnum" name="TimeUnitKind">
+      <eLiterals name="s"/>
+      <eLiterals name="tick" value="1"/>
+      <eLiterals name="ms" value="2"/>
+      <eLiterals name="us" value="3"/>
+      <eLiterals name="min" value="4"/>
+      <eLiterals name="hrs" value="5"/>
+      <eLiterals name="day" value="6"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EEnum" name="PowerUnitKind">
+      <eLiterals name="W"/>
+      <eLiterals name="mW" value="1"/>
+      <eLiterals name="KW" value="2"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EEnum" name="FrequencyUnitKind">
+      <eLiterals name="Hz"/>
+      <eLiterals name="KHz" value="1"/>
+      <eLiterals name="MHz" value="2"/>
+      <eLiterals name="GHz" value="3"/>
+      <eLiterals name="rpm" value="4"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EEnum" name="DataSizeUnitKind">
+      <eLiterals name="bit"/>
+      <eLiterals name="Byte" value="1"/>
+      <eLiterals name="KB" value="2"/>
+      <eLiterals name="MB" value="3"/>
+      <eLiterals name="GB" value="4"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EEnum" name="DataTxRateUnitKind">
+      <eLiterals name="b_per_s"/>
+      <eLiterals name="Kb_per_s" value="1"/>
+      <eLiterals name="Mb_per_s" value="2"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EEnum" name="EnergyUnitKind">
+      <eLiterals name="J"/>
+      <eLiterals name="KJ" value="1"/>
+      <eLiterals name="Wh" value="2"/>
+      <eLiterals name="KWh" value="3"/>
+      <eLiterals name="mWh" value="4"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EEnum" name="LengthUnitKind">
+      <eLiterals name="m"/>
+      <eLiterals name="cm" value="1"/>
+      <eLiterals name="mm" value="2"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EEnum" name="AreaUnitKind">
+      <eLiterals name="mm2"/>
+      <eLiterals name="um2" value="1"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EEnum" name="WeightUnitKind">
+      <eLiterals name="g"/>
+      <eLiterals name="mg" value="1"/>
+      <eLiterals name="kg" value="2"/>
+    </eClassifiers>
+  </eSubpackages>
+  <eSubpackages name="GRM_BasicTypes" nsURI="http:///MARTE_Library/GRM_BasicTypes.ecore"
+      nsPrefix="MARTE_Library.GRM_BasicTypes">
+    <eClassifiers xsi:type="ecore:EDataType" name="EDF_Parameters" instanceClassName="java.lang.String"/>
+    <eClassifiers xsi:type="ecore:EEnum" name="SchedPolicyKind">
+      <eLiterals name="EarliestDeadlineFirst"/>
+      <eLiterals name="FIFO" value="1"/>
+      <eLiterals name="FixedPriority" value="2"/>
+      <eLiterals name="LeastLaxityFirst" value="3"/>
+      <eLiterals name="RoundRobin" value="4"/>
+      <eLiterals name="TimeTableDriven" value="5"/>
+      <eLiterals name="Undef" value="6"/>
+      <eLiterals name="Other" value="7"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EEnum" name="ProtectProtocolKind">
+      <eLiterals name="FIFO"/>
+      <eLiterals name="NoPreemption" value="1"/>
+      <eLiterals name="PriorityCeiling" value="2"/>
+      <eLiterals name="PriorityInheritance" value="3"/>
+      <eLiterals name="StackBased" value="4"/>
+      <eLiterals name="Undef" value="5"/>
+      <eLiterals name="Other" value="6"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EEnum" name="PeriodicServerKind">
+      <eLiterals name="Sporadic"/>
+      <eLiterals name="Deferrable" value="1"/>
+      <eLiterals name="Undef" value="2"/>
+      <eLiterals name="Other" value="3"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EDataType" name="SchedParameters" instanceClassName="java.lang.String"/>
+    <eClassifiers xsi:type="ecore:EDataType" name="FixedPriorityParameters" instanceClassName="java.lang.String"/>
+    <eClassifiers xsi:type="ecore:EDataType" name="PeriodicServerParameters" instanceClassName="java.lang.String"/>
+    <eClassifiers xsi:type="ecore:EDataType" name="PoolingParameters" instanceClassName="java.lang.String"/>
+    <eClassifiers xsi:type="ecore:EDataType" name="ScheduleSpecification" instanceClassName="java.lang.String"/>
+    <eClassifiers xsi:type="ecore:EDataType" name="TableDrivenSchedule" instanceClassName="java.lang.String"/>
+    <eClassifiers xsi:type="ecore:EDataType" name="TableEntryType" instanceClassName="java.lang.String"/>
+  </eSubpackages>
+  <eSubpackages name="MARTE_DataTypes" nsURI="http:///MARTE_Library/MARTE_DataTypes.ecore"
+      nsPrefix="MARTE_Library.MARTE_DataTypes">
+    <eClassifiers xsi:type="ecore:EDataType" name="IntegerVector" instanceClassName="java.lang.String"/>
+    <eClassifiers xsi:type="ecore:EDataType" name="IntegerMatrix" instanceClassName="java.lang.String"/>
+    <eClassifiers xsi:type="ecore:EDataType" name="VSL_Expression" instanceClassName="java.lang.String"/>
+    <eClassifiers xsi:type="ecore:EDataType" name="IntegerInterval" instanceClassName="java.lang.String"/>
+    <eClassifiers xsi:type="ecore:EEnum" name="TransmModeKind">
+      <eLiterals name="simplex"/>
+      <eLiterals name="halfDuplex" value="1"/>
+      <eLiterals name="fullDuplex" value="2"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EDataType" name="UtilityType" instanceClassName="java.lang.String"/>
+    <eClassifiers xsi:type="ecore:EDataType" name="Array" instanceClassName="java.lang.String"/>
+    <eClassifiers xsi:type="ecore:EDataType" name="Realnterval" instanceClassName="java.lang.String"/>
+    <eClassifiers xsi:type="ecore:EDataType" name="NFP_FrequencyInterval" instanceClassName="java.lang.String"/>
+    <eClassifiers xsi:type="ecore:EDataType" name="Interval" instanceClassName="java.lang.String"/>
+    <eClassifiers xsi:type="ecore:EDataType" name="NFP_NaturalInterval" instanceClassName="java.lang.String"/>
+    <eClassifiers xsi:type="ecore:EDataType" name="RealVector" instanceClassName="java.lang.String"/>
+    <eClassifiers xsi:type="ecore:EDataType" name="RealMatrix" instanceClassName="java.lang.String"/>
+  </eSubpackages>
+  <eSubpackages name="BasicNFP_Types" nsURI="http:///MARTE_Library/BasicNFP_Types.ecore"
+      nsPrefix="MARTE_Library.BasicNFP_Types">
+    <eClassifiers xsi:type="ecore:EEnum" name="SourceKind">
+      <eLiterals name="est"/>
+      <eLiterals name="meas" value="1"/>
+      <eLiterals name="calc" value="2"/>
+      <eLiterals name="req" value="3"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EEnum" name="DirectionKind">
+      <eLiterals name="incr"/>
+      <eLiterals name="decr" value="1"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EEnum" name="StatisticalQualifierKind">
+      <eLiterals name="max"/>
+      <eLiterals name="min" value="1"/>
+      <eLiterals name="mean" value="2"/>
+      <eLiterals name="range" value="3"/>
+      <eLiterals name="percent" value="4"/>
+      <eLiterals name="distrib" value="5"/>
+      <eLiterals name="determ" value="6"/>
+      <eLiterals name="other" value="7"/>
+      <eLiterals name="variance" value="8"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EDataType" name="NFP_CommonType" instanceClassName="java.lang.String"/>
+    <eClassifiers xsi:type="ecore:EDataType" name="NFP_Boolean" instanceClassName="java.lang.String"/>
+    <eClassifiers xsi:type="ecore:EDataType" name="NFP_Natural" instanceClassName="java.lang.String"/>
+    <eClassifiers xsi:type="ecore:EDataType" name="NFP_String" instanceClassName="java.lang.String"/>
+    <eClassifiers xsi:type="ecore:EDataType" name="NFP_Real" instanceClassName="java.lang.String"/>
+    <eClassifiers xsi:type="ecore:EDataType" name="NFP_Integer" instanceClassName="java.lang.String"/>
+    <eClassifiers xsi:type="ecore:EDataType" name="NFP_DateTime" instanceClassName="java.lang.String"/>
+    <eClassifiers xsi:type="ecore:EDataType" name="NFP_Duration" instanceClassName="java.lang.String"/>
+    <eClassifiers xsi:type="ecore:EDataType" name="NFP_DataTxRate" instanceClassName="java.lang.String"/>
+    <eClassifiers xsi:type="ecore:EDataType" name="NFP_Frequency" instanceClassName="java.lang.String"/>
+    <eClassifiers xsi:type="ecore:EDataType" name="NFP_Power" instanceClassName="java.lang.String"/>
+    <eClassifiers xsi:type="ecore:EDataType" name="NFP_DataSize" instanceClassName="java.lang.String"/>
+    <eClassifiers xsi:type="ecore:EDataType" name="NFP_Energy" instanceClassName="java.lang.String"/>
+    <eClassifiers xsi:type="ecore:EDataType" name="NFP_Length" instanceClassName="java.lang.String"/>
+    <eClassifiers xsi:type="ecore:EDataType" name="NFP_Area" instanceClassName="java.lang.String"/>
+    <eClassifiers xsi:type="ecore:EDataType" name="ArrivalPattern" instanceClassName="java.lang.String"/>
+    <eClassifiers xsi:type="ecore:EDataType" name="PeriodicPattern" instanceClassName="java.lang.String"/>
+    <eClassifiers xsi:type="ecore:EDataType" name="AperiodicPattern" instanceClassName="java.lang.String"/>
+    <eClassifiers xsi:type="ecore:EDataType" name="ClosedPattern" instanceClassName="java.lang.String"/>
+    <eClassifiers xsi:type="ecore:EDataType" name="SporadicPattern" instanceClassName="java.lang.String"/>
+    <eClassifiers xsi:type="ecore:EDataType" name="BurstPattern" instanceClassName="java.lang.String"/>
+    <eClassifiers xsi:type="ecore:EDataType" name="IrregularPattern" instanceClassName="java.lang.String"/>
+    <eClassifiers xsi:type="ecore:EDataType" name="NFP_Percentage" instanceClassName="java.lang.String"/>
+    <eClassifiers xsi:type="ecore:EDataType" name="OpenPattern" instanceClassName="java.lang.String"/>
+    <eClassifiers xsi:type="ecore:EDataType" name="NFP_Price" instanceClassName="java.lang.String"/>
+    <eClassifiers xsi:type="ecore:EDataType" name="NFP_Weight" instanceClassName="java.lang.String"/>
+  </eSubpackages>
+  <eSubpackages name="TimeTypesLibrary" nsURI="http:///MARTE_Library/TimeTypesLibrary.ecore"
+      nsPrefix="MARTE_Library.TimeTypesLibrary">
+    <eClassifiers xsi:type="ecore:EEnum" name="TimeNatureKind">
+      <eLiterals name="discrete"/>
+      <eLiterals name="dense" value="1"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EEnum" name="TimeInterpretationKind">
+      <eLiterals name="duration"/>
+      <eLiterals name="instant" value="1"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EEnum" name="EventKind">
+      <eLiterals name="start"/>
+      <eLiterals name="finish" value="1"/>
+      <eLiterals name="send" value="2"/>
+      <eLiterals name="receive" value="3"/>
+      <eLiterals name="consume" value="4"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EEnum" name="TimeStandardKind">
+      <eLiterals name="TAI"/>
+      <eLiterals name="UT0" value="1"/>
+      <eLiterals name="UT1" value="2"/>
+      <eLiterals name="UTC" value="3"/>
+      <eLiterals name="Local" value="4"/>
+      <eLiterals name="TT" value="5"/>
+      <eLiterals name="TBD" value="6"/>
+      <eLiterals name="TCG" value="7"/>
+      <eLiterals name="TCB" value="8"/>
+      <eLiterals name="Sidereal" value="9"/>
+      <eLiterals name="GPS" value="10"/>
+    </eClassifiers>
+  </eSubpackages>
+  <eSubpackages name="TimeLibrary" nsURI="http:///MARTE_Library/TimeLibrary.ecore"
+      nsPrefix="MARTE_Library.TimeLibrary">
+    <eClassifiers xsi:type="ecore:EDataType" name="TimedValueType" instanceClassName="java.lang.String"/>
+    <eClassifiers xsi:type="ecore:EDataType" name="ClockedValueSpecification" instanceClassName="java.lang.String"/>
+    <eClassifiers xsi:type="ecore:EEnum" name="TimeUnitKind">
+      <eLiterals name="s"/>
+      <eLiterals name="ms" value="1"/>
+      <eLiterals name="us" value="2"/>
+      <eLiterals name="ns" value="3"/>
+      <eLiterals name="min" value="4"/>
+      <eLiterals name="hrs" value="5"/>
+      <eLiterals name="day" value="6"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EEnum" name="LogicalTimeUnit">
+      <eLiterals name="tick"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="IdealClock">
+      <eOperations name="currentTime" ordered="false" lowerBound="1" eType="#//MARTE_PrimitivesTypes/Real"/>
+    </eClassifiers>
+  </eSubpackages>
+  <eSubpackages name="RS_Library" nsURI="http:///MARTE_Library/RS_Library.ecore" nsPrefix="MARTE_Library.RS_Library">
+    <eClassifiers xsi:type="ecore:EDataType" name="TilerSpecification" instanceClassName="java.lang.String"/>
+    <eClassifiers xsi:type="ecore:EDataType" name="ShapeSpecification" instanceClassName="java.lang.String"/>
+  </eSubpackages>
+  <eSubpackages name="MARTE_PrimitivesTypes" nsURI="http:///MARTE_Library/MARTE_PrimitivesTypes.ecore"
+      nsPrefix="MARTE_Library.MARTE_PrimitivesTypes">
+    <eClassifiers xsi:type="ecore:EDataType" name="Integer" instanceClassName="int"/>
+    <eClassifiers xsi:type="ecore:EDataType" name="Boolean" instanceClassName="boolean"/>
+    <eClassifiers xsi:type="ecore:EDataType" name="UnlimitedNatural" instanceClassName="java.lang.String"/>
+    <eClassifiers xsi:type="ecore:EDataType" name="String" instanceClassName="java.lang.String"/>
+    <eClassifiers xsi:type="ecore:EDataType" name="DateTime" instanceClassName="java.lang.String"/>
+    <eClassifiers xsi:type="ecore:EDataType" name="Real" instanceClassName="java.lang.String"/>
+  </eSubpackages>
+</ecore:EPackage>
diff --git a/plugins/org.polarsys.chess.chessmlprofile/model/chessmlprofile.ecore b/plugins/org.polarsys.chess.chessmlprofile/model/chessmlprofile.ecore
new file mode 100644
index 000000000..18e31d71d
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/model/chessmlprofile.ecore
@@ -0,0 +1,824 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="chessmlprofile" nsURI="http://CHESS" nsPrefix="CHESS">
+  <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+    <details key="originalName" value="CHESS"/>
+  </eAnnotations>
+  <eClassifiers xsi:type="ecore:EClass" name="dummy"/>
+  <eSubpackages name="Core" nsURI="http://CHESS/Core" nsPrefix="Core">
+    <eClassifiers xsi:type="ecore:EClass" name="CHESS">
+      <eStructuralFeatures xsi:type="ecore:EReference" name="base_Model" ordered="false"
+          unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Model"/>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="analysisView" ordered="false"
+          lowerBound="1" eType="#//Core/CHESSViews/AnalysisView" containment="true"/>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="deploymentView" ordered="false"
+          lowerBound="1" eType="#//Core/CHESSViews/DeploymentView" containment="true"/>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="requirementView" ordered="false"
+          lowerBound="1" eType="#//Core/CHESSViews/RequirementView" containment="true"/>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="componentView" ordered="false"
+          lowerBound="1" eType="#//Core/CHESSViews/ComponentView" containment="true"/>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="systemView" ordered="false"
+          lowerBound="1" eType="#//Core/CHESSViews/SystemView" containment="true"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="CHGaResourcePlatform" eSuperTypes="MARTE.ecore#//MARTE_AnalysisModel/GQAM/GaResourcesPlatform">
+      <eStructuralFeatures xsi:type="ecore:EReference" name="base_InstanceSpecification"
+          ordered="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//InstanceSpecification"/>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="base_Package" ordered="false"
+          lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Package"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="IdentifInstance">
+      <eStructuralFeatures xsi:type="ecore:EReference" name="base_InstanceSpecification"
+          ordered="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//InstanceSpecification"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="id" ordered="false" lowerBound="1"
+          eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Integer"/>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="sourceInstanceSpec" ordered="false"
+          eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//InstanceSpecification"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="IdentifSlot">
+      <eStructuralFeatures xsi:type="ecore:EReference" name="base_Slot" ordered="false"
+          lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Slot"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="id" ordered="false" lowerBound="1"
+          eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Integer"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="MultiInstance">
+      <eStructuralFeatures xsi:type="ecore:EReference" name="base_InstanceSpecification"
+          ordered="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//InstanceSpecification"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="upperBound" ordered="false"
+          lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Integer"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="MultiSlot">
+      <eStructuralFeatures xsi:type="ecore:EReference" name="base_Slot" ordered="false"
+          lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Slot"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="upperBound" ordered="false"
+          lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Integer"/>
+    </eClassifiers>
+    <eSubpackages name="CHESSViews" nsURI="http://CHESS/Core/Views" nsPrefix="CHESSViews">
+      <eClassifiers xsi:type="ecore:EClass" name="ExtraFunctionalView">
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_Package" ordered="false"
+            lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Package"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="timingdataflowview"
+            ordered="false" lowerBound="1" eType="#//Core/CHESSViews/TimingDataFlowView"
+            containment="true"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="TimingDataFlowView">
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_Package" ordered="false"
+            lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Package"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="RTAnalysisView">
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_Package" ordered="false"
+            lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Package"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="DeploymentView">
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_Package" ordered="false"
+            lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Package"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="AssignList" ordered="false"
+            upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Comment"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="RequirementView">
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_Package" ordered="false"
+            lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Package"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="ComponentView">
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_Package" ordered="false"
+            lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Package"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="DependabilityAnalysisView">
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_Package" ordered="false"
+            lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Package"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="SystemView">
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_Package" ordered="false"
+            lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Package"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="PSMView">
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_Package" ordered="false"
+            lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Package"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="AnalysisView">
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_Package" ordered="false"
+            lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Package"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="rtanalysisview" ordered="false"
+            lowerBound="1" eType="#//Core/CHESSViews/RTAnalysisView" containment="true"/>
+      </eClassifiers>
+    </eSubpackages>
+  </eSubpackages>
+  <eSubpackages name="Dependability" nsURI="http:///CHESS/Dependability.ecore" nsPrefix="CHESS.Dependability">
+    <eSubpackages name="FailurePropagation" nsURI="http://CHESS/Dependability/FailurePropagation"
+        nsPrefix="FailurePropagation">
+      <eClassifiers xsi:type="ecore:EClass" name="FPTC" eSuperTypes="#//Dependability/DependableComponent/DependableComponent">
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="fptc" ordered="false"
+            lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_Comment" ordered="false"
+            lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Comment"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="FailurePropagationAnalysis" eSuperTypes="MARTE.ecore#//MARTE_AnalysisModel/GQAM/GaAnalysisContext"/>
+      <eClassifiers xsi:type="ecore:EClass" name="FPTCSpecification">
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_Comment" ordered="false"
+            lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Comment"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="failure" ordered="false"
+            upperBound="-1" eType="#//Dependability/FailurePropagation/FailurePropagationDataTypes/FailureType"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="partWithPort" ordered="false"
+            lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="FPTCPortSlot">
+        <eStructuralFeatures xsi:type="ecore:EReference" name="FPTCSpecification"
+            ordered="false" lowerBound="1" eType="#//Dependability/FailurePropagation/FPTCSpecification"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_Slot" ordered="false"
+            lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Slot"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="FI4FA" eSuperTypes="#//Dependability/DependableComponent/DependableComponent">
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="fi4fa" ordered="false"
+            lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="FI4FASpecification" eSuperTypes="#//Dependability/FailurePropagation/FPTCSpecification"/>
+      <eClassifiers xsi:type="ecore:EClass" name="ACIDAvoidable">
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="a" ordered="false"
+            eType="#//Dependability/FailurePropagation/FailurePropagationDataTypes/A_avoidable"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="c" ordered="false"
+            eType="#//Dependability/FailurePropagation/FailurePropagationDataTypes/C_avoidable"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_Comment" ordered="false"
+            lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Comment"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="i" ordered="false"
+            eType="#//Dependability/FailurePropagation/FailurePropagationDataTypes/I_avoidable"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="d" ordered="false"
+            eType="#//Dependability/FailurePropagation/FailurePropagationDataTypes/D_avoidable"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="ACIDMitigation">
+        <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+          <details key="originalName" value="ACIDMitigation "/>
+        </eAnnotations>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_Comment" ordered="false"
+            lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Comment"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="a" ordered="false"
+            eType="#//Dependability/FailurePropagation/FailurePropagationDataTypes/A_mitigation"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="c" ordered="false"
+            eType="#//Dependability/FailurePropagation/FailurePropagationDataTypes/C_mitigation"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="i" ordered="false"
+            eType="#//Dependability/FailurePropagation/FailurePropagationDataTypes/I_mitigation"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="d" ordered="false"
+            eType="#//Dependability/FailurePropagation/FailurePropagationDataTypes/D_mitigation"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="FI4FAAnalysis" eSuperTypes="MARTE.ecore#//MARTE_AnalysisModel/GQAM/GaAnalysisContext"/>
+      <eSubpackages name="FailurePropagationDataTypes" nsURI="http:///CHESS/Dependability/FailurePropagation/FailurePropagationDataTypes.ecore"
+          nsPrefix="CHESS.Dependability.FailurePropagation.FailurePropagationDataTypes">
+        <eClassifiers xsi:type="ecore:EEnum" name="D_avoidable">
+          <eLiterals name="unspecified"/>
+          <eLiterals name="impermanence" value="1"/>
+          <eLiterals name="none" value="2"/>
+        </eClassifiers>
+        <eClassifiers xsi:type="ecore:EEnum" name="I_avoidable">
+          <eLiterals name="unspecified"/>
+          <eLiterals name="interference" value="1"/>
+          <eLiterals name="none" value="2"/>
+        </eClassifiers>
+        <eClassifiers xsi:type="ecore:EEnum" name="C_avoidable">
+          <eLiterals name="unspecified"/>
+          <eLiterals name="inconsistency" value="1"/>
+          <eLiterals name="none" value="2"/>
+        </eClassifiers>
+        <eClassifiers xsi:type="ecore:EEnum" name="FailureType">
+          <eLiterals name="late"/>
+          <eLiterals name="early" value="1"/>
+          <eLiterals name="valueSubtle" value="2"/>
+          <eLiterals name="valueCoarse" value="3"/>
+          <eLiterals name="omission" value="4"/>
+          <eLiterals name="commission" value="5"/>
+          <eLiterals name="noFailure" value="6"/>
+          <eLiterals name="variable" value="7"/>
+          <eLiterals name="wildcard" value="8"/>
+        </eClassifiers>
+        <eClassifiers xsi:type="ecore:EEnum" name="A_avoidable">
+          <eLiterals name="unspecified"/>
+          <eLiterals name="incompletion" value="1"/>
+          <eLiterals name="none" value="2"/>
+        </eClassifiers>
+        <eClassifiers xsi:type="ecore:EEnum" name="A_mitigation">
+          <eLiterals name="unspecified"/>
+          <eLiterals name="all_or_nothing" value="1"/>
+          <eLiterals name="all_or_compensation" value="2"/>
+          <eLiterals name="none" value="3"/>
+        </eClassifiers>
+        <eClassifiers xsi:type="ecore:EEnum" name="C_mitigation">
+          <eLiterals name="unspecified"/>
+          <eLiterals name="full_consistency" value="1"/>
+          <eLiterals name="range_violation_allowed" value="2"/>
+          <eLiterals name="none" value="3"/>
+        </eClassifiers>
+        <eClassifiers xsi:type="ecore:EEnum" name="I_mitigation">
+          <eLiterals name="unspecified"/>
+          <eLiterals name="portable_level" value="1"/>
+          <eLiterals name="serializable" value="2"/>
+          <eLiterals name="none" value="3"/>
+        </eClassifiers>
+        <eClassifiers xsi:type="ecore:EEnum" name="D_mitigation">
+          <eLiterals name="unspecified"/>
+          <eLiterals name="no_loss" value="1"/>
+          <eLiterals name="partial_loss_allowed" value="2"/>
+          <eLiterals name="none" value="3"/>
+        </eClassifiers>
+      </eSubpackages>
+    </eSubpackages>
+    <eSubpackages name="DependableComponent" nsURI="http://CHESS/Dependability/DependableComponent"
+        nsPrefix="DependableComponent">
+      <eClassifiers xsi:type="ecore:EClass" name="Propagation">
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="prob" ordered="false"
+            lowerBound="1" eType="ecore:EClass MARTE_Library.ecore#//BasicNFP_Types/NFP_Real"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="propDelay" ordered="false"
+            lowerBound="1" eType="ecore:EClass MARTE_Library.ecore#//BasicNFP_Types/NFP_Duration"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_Abstraction" ordered="false"
+            lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Abstraction"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_Comment" ordered="false"
+            lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Comment"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_Connector" ordered="false"
+            lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Connector"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_InstanceSpecification"
+            ordered="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//InstanceSpecification"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="transfFunct" ordered="false"
+            upperBound="-1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_Transition" ordered="false"
+            lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Transition"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="weight" ordered="false"
+            eType="ecore:EClass MARTE_Library.ecore#//BasicNFP_Types/NFP_Real"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="DependableComponent">
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_Component" ordered="false"
+            lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Component"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="errorModel" ordered="false"
+            eType="#//Dependability/ThreatsPropagation/ErrorModel"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_Property" ordered="false"
+            lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property"/>
+      </eClassifiers>
+    </eSubpackages>
+    <eSubpackages name="ThreatsPropagation" nsURI="http://CHESS/Dependability/ThreatsPropagation"
+        nsPrefix="ThreatsPropagation">
+      <eClassifiers xsi:type="ecore:EClass" name="InternalFault">
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_Transition" ordered="false"
+            lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Transition"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="permanentProb" ordered="false"
+            lowerBound="1" eType="ecore:EClass MARTE_Library.ecore#//BasicNFP_Types/NFP_Real"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="transfFunct" ordered="false"
+            eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="property" ordered="false"
+            eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="childFailure" ordered="false"
+            eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//State"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="occurrence" ordered="false"
+            eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="transientDuration"
+            ordered="false" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="ExternalFault">
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_Transition" ordered="false"
+            lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Transition"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="fromPort" ordered="false"
+            lowerBound="1" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Port"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="propagationCondition"
+            ordered="false" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="probability" ordered="false"
+            lowerBound="1" eType="ecore:EClass MARTE_Library.ecore#//BasicNFP_Types/NFP_Real"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="unit" ordered="false"
+            eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" ordered="false"
+            lowerBound="1" eType="#//Dependability/ThreatsPropagation/DurationType"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="transfFunct" ordered="false"
+            upperBound="-1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EEnum" name="DurationType">
+        <eLiterals name="transient"/>
+        <eLiterals name="permanent" value="1"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="Error" eSuperTypes="#//Dependability/ThreatsPropagation/ThreatState">
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" ordered="false"
+            lowerBound="1" eType="#//Dependability/ThreatsPropagation/DurationType"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="vanishingTime" ordered="false"
+            eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="ThreatState">
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_State" ordered="false"
+            lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//State"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="probability" ordered="false"
+            lowerBound="1" eType="ecore:EClass MARTE_Library.ecore#//BasicNFP_Types/NFP_Real"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="unit" ordered="false"
+            eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="ErrorFree" eSuperTypes="#//Dependability/ThreatsPropagation/ThreatState"/>
+      <eClassifiers xsi:type="ecore:EClass" name="UnclassifiedError" eSuperTypes="#//Dependability/ThreatsPropagation/ThreatState"/>
+      <eClassifiers xsi:type="ecore:EClass" name="FailureMode" eSuperTypes="#//Dependability/ThreatsPropagation/ThreatState">
+        <eStructuralFeatures xsi:type="ecore:EReference" name="affectedPorts" ordered="false"
+            upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Port"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" ordered="false"
+            lowerBound="1" eType="#//Dependability/ThreatsPropagation/DurationType"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="FailureFree" eSuperTypes="#//Dependability/ThreatsPropagation/ThreatState"/>
+      <eClassifiers xsi:type="ecore:EClass" name="UnclassifiedFailure" eSuperTypes="#//Dependability/ThreatsPropagation/ThreatState"/>
+      <eClassifiers xsi:type="ecore:EClass" name="StuckAt">
+        <eStructuralFeatures xsi:type="ecore:EReference" name="property" ordered="false"
+            lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" ordered="false"
+            lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_State" ordered="false"
+            lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//State"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="StuckAtFixed">
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_State" ordered="false"
+            lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//State"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="property" ordered="false"
+            lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="Inverted">
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_State" ordered="false"
+            lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//State"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="property" ordered="false"
+            lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="RampDown">
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_State" ordered="false"
+            lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//State"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="property" ordered="false"
+            lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="decr" ordered="false"
+            lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="endValue" ordered="false"
+            lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="ErrorModel">
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_StateMachine"
+            ordered="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//StateMachine"/>
+      </eClassifiers>
+    </eSubpackages>
+    <eSubpackages name="DataFlowCallGraph" nsURI="http://CHESS.DependabilitySecurity/schemas/DataFlowCallGraph/_QB3mMMe6Ed-7etIj5eTw0Q/8"
+        nsPrefix="DataFlowCallGraph">
+      <eClassifiers xsi:type="ecore:EClass" name="DataFlowCallGraphAnalysis" eSuperTypes="MARTE.ecore#//MARTE_AnalysisModel/GQAM/GaAnalysisContext">
+        <eStructuralFeatures xsi:type="ecore:EReference" name="result" ordered="false"
+            upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property"/>
+      </eClassifiers>
+    </eSubpackages>
+    <eSubpackages name="StateBased" nsURI="http://CHESS/Dependability/StateBased"
+        nsPrefix="StateBased">
+      <eSubpackages name="StateBasedDataTypes" nsURI="http:///CHESS/Dependability/StateBased/StateBasedDataTypes.ecore"
+          nsPrefix="CHESS.Dependability.StateBased.StateBasedDataTypes">
+        <eClassifiers xsi:type="ecore:EEnum" name="RedundancyKind">
+          <eLiterals name="TMR"/>
+          <eLiterals name="Recovery" value="1"/>
+        </eClassifiers>
+        <eClassifiers xsi:type="ecore:EClass" name="DependabilityMeasure"/>
+        <eClassifiers xsi:type="ecore:EClass" name="EvaluationMethod"/>
+        <eClassifiers xsi:type="ecore:EClass" name="EvaluationBySimulation" eSuperTypes="#//Dependability/StateBased/StateBasedDataTypes/EvaluationMethod"/>
+        <eClassifiers xsi:type="ecore:EEnum" name="ConfidenceKind">
+          <eLiterals name="relative"/>
+          <eLiterals name="absolute" value="1"/>
+        </eClassifiers>
+        <eClassifiers xsi:type="ecore:EClass" name="EvaluationAnalytical" eSuperTypes="#//Dependability/StateBased/StateBasedDataTypes/EvaluationMethod"/>
+        <eClassifiers xsi:type="ecore:EClass" name="Reliability" eSuperTypes="#//Dependability/StateBased/StateBasedDataTypes/DependabilityMeasure"/>
+        <eClassifiers xsi:type="ecore:EClass" name="EvaluationType"/>
+        <eClassifiers xsi:type="ecore:EClass" name="SteadyState"/>
+        <eClassifiers xsi:type="ecore:EClass" name="Availability" eSuperTypes="#//Dependability/StateBased/StateBasedDataTypes/DependabilityMeasure"/>
+        <eClassifiers xsi:type="ecore:EClass" name="MTTF" eSuperTypes="#//Dependability/StateBased/StateBasedDataTypes/DependabilityMeasure"/>
+      </eSubpackages>
+      <eSubpackages name="StateBasedComponents" nsURI="http://CHESS/Dependability/StateBased/StateBasedComponents"
+          nsPrefix="StateBasedComponents">
+        <eClassifiers xsi:type="ecore:EClass" name="StatefulHardware" eSuperTypes="#//Dependability/DependableComponent/DependableComponent">
+          <eStructuralFeatures xsi:type="ecore:EAttribute" name="probPermFault" ordered="false"
+              lowerBound="1" eType="ecore:EClass MARTE_Library.ecore#//BasicNFP_Types/NFP_Real"/>
+          <eStructuralFeatures xsi:type="ecore:EAttribute" name="errorLatency" ordered="false"
+              lowerBound="1" eType="ecore:EClass MARTE_Library.ecore#//BasicNFP_Types/NFP_Duration"/>
+          <eStructuralFeatures xsi:type="ecore:EAttribute" name="repairDelay" ordered="false"
+              lowerBound="1" eType="ecore:EClass MARTE_Library.ecore#//BasicNFP_Types/NFP_Duration"/>
+          <eStructuralFeatures xsi:type="ecore:EAttribute" name="faultOcc" ordered="false"
+              eType="ecore:EClass MARTE_Library.ecore#//BasicNFP_Types/NFP_Frequency"/>
+        </eClassifiers>
+        <eClassifiers xsi:type="ecore:EClass" name="StatefulSoftware" eSuperTypes="#//Dependability/DependableComponent/DependableComponent">
+          <eStructuralFeatures xsi:type="ecore:EAttribute" name="errorLatency" ordered="false"
+              lowerBound="1" eType="ecore:EClass MARTE_Library.ecore#//BasicNFP_Types/NFP_Duration"/>
+          <eStructuralFeatures xsi:type="ecore:EAttribute" name="repairDelay" ordered="false"
+              lowerBound="1" eType="ecore:EClass MARTE_Library.ecore#//BasicNFP_Types/NFP_Duration"/>
+          <eStructuralFeatures xsi:type="ecore:EAttribute" name="faultOcc" ordered="false"
+              eType="ecore:EClass MARTE_Library.ecore#//BasicNFP_Types/NFP_Frequency"/>
+        </eClassifiers>
+        <eClassifiers xsi:type="ecore:EClass" name="StatelessHardware" eSuperTypes="#//Dependability/DependableComponent/DependableComponent">
+          <eStructuralFeatures xsi:type="ecore:EAttribute" name="probPermFault" ordered="false"
+              lowerBound="1" eType="ecore:EClass MARTE_Library.ecore#//BasicNFP_Types/NFP_Real"/>
+          <eStructuralFeatures xsi:type="ecore:EAttribute" name="repairDelay" ordered="false"
+              lowerBound="1" eType="ecore:EClass MARTE_Library.ecore#//BasicNFP_Types/NFP_Duration"/>
+          <eStructuralFeatures xsi:type="ecore:EAttribute" name="faultOcc" ordered="false"
+              eType="ecore:EClass MARTE_Library.ecore#//BasicNFP_Types/NFP_Frequency"/>
+        </eClassifiers>
+        <eClassifiers xsi:type="ecore:EClass" name="StatelessSoftware" eSuperTypes="#//Dependability/DependableComponent/DependableComponent">
+          <eStructuralFeatures xsi:type="ecore:EAttribute" name="faultOcc" ordered="false"
+              eType="ecore:EClass MARTE_Library.ecore#//BasicNFP_Types/NFP_Frequency"/>
+        </eClassifiers>
+      </eSubpackages>
+      <eSubpackages name="FaultTolerance" nsURI="http://CHESS/Dependability/StateBased/FaultTolerance"
+          nsPrefix="FaultTolerance">
+        <eClassifiers xsi:type="ecore:EClass" name="FaultTolerant">
+          <eStructuralFeatures xsi:type="ecore:EReference" name="base_Component" ordered="false"
+              lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Component"/>
+          <eStructuralFeatures xsi:type="ecore:EAttribute" name="scheme" ordered="false"
+              lowerBound="1" eType="#//Dependability/StateBased/StateBasedDataTypes/RedundancyKind"/>
+          <eStructuralFeatures xsi:type="ecore:EReference" name="schemeAttrs" ordered="false"
+              lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//OpaqueExpression"/>
+        </eClassifiers>
+        <eClassifiers xsi:type="ecore:EClass" name="RedundancyManager">
+          <eStructuralFeatures xsi:type="ecore:EReference" name="base_Component" ordered="false"
+              lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Component"/>
+          <eStructuralFeatures xsi:type="ecore:EAttribute" name="scheme" ordered="false"
+              lowerBound="1" eType="#//Dependability/StateBased/StateBasedDataTypes/RedundancyKind"/>
+        </eClassifiers>
+        <eClassifiers xsi:type="ecore:EClass" name="Variant">
+          <eStructuralFeatures xsi:type="ecore:EReference" name="base_Component" ordered="false"
+              lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Component"/>
+        </eClassifiers>
+        <eClassifiers xsi:type="ecore:EClass" name="Adjudicator">
+          <eStructuralFeatures xsi:type="ecore:EReference" name="base_Component" ordered="false"
+              lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Component"/>
+          <eStructuralFeatures xsi:type="ecore:EAttribute" name="coverage" ordered="false"
+              lowerBound="1" eType="ecore:EDataType MARTE_Library.ecore#//MARTE_PrimitivesTypes/Real"/>
+        </eClassifiers>
+      </eSubpackages>
+      <eSubpackages name="MaintenanceMonitoring" nsURI="http://CHESS/Dependability/StateBased/MaintenanceMonitoring"
+          nsPrefix="MaintenanceMonitoring">
+        <eClassifiers xsi:type="ecore:EClass" name="MMActivities">
+          <eStructuralFeatures xsi:type="ecore:EReference" name="base_Activity" ordered="false"
+              lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Activity"/>
+          <eStructuralFeatures xsi:type="ecore:EAttribute" name="when" ordered="false"
+              eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String"/>
+          <eStructuralFeatures xsi:type="ecore:EAttribute" name="duration" ordered="false"
+              lowerBound="1" eType="ecore:EClass MARTE_Library.ecore#//BasicNFP_Types/NFP_Duration"/>
+          <eStructuralFeatures xsi:type="ecore:EAttribute" name="probSuccess" ordered="false"
+              lowerBound="1" eType="ecore:EClass MARTE_Library.ecore#//BasicNFP_Types/NFP_Real"/>
+          <eStructuralFeatures xsi:type="ecore:EReference" name="onCompletion" ordered="false"
+              upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Activity"/>
+          <eStructuralFeatures xsi:type="ecore:EReference" name="onSuccessfulCompletion"
+              ordered="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Activity"/>
+          <eStructuralFeatures xsi:type="ecore:EReference" name="onFailedCompletion"
+              ordered="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Activity"/>
+          <eStructuralFeatures xsi:type="ecore:EReference" name="base_Action" ordered="false"
+              lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Action"/>
+        </eClassifiers>
+        <eClassifiers xsi:type="ecore:EClass" name="Repair" eSuperTypes="#//Dependability/StateBased/MaintenanceMonitoring/MMActivities">
+          <eStructuralFeatures xsi:type="ecore:EReference" name="targets" ordered="false"
+              lowerBound="1" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property"/>
+        </eClassifiers>
+        <eClassifiers xsi:type="ecore:EClass" name="Replace" eSuperTypes="#//Dependability/StateBased/MaintenanceMonitoring/MMActivities">
+          <eStructuralFeatures xsi:type="ecore:EReference" name="targets" ordered="false"
+              lowerBound="1" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property"/>
+          <eStructuralFeatures xsi:type="ecore:EReference" name="replacement" ordered="false"
+              lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Activity"/>
+        </eClassifiers>
+        <eClassifiers xsi:type="ecore:EClass" name="ErrorDetection" eSuperTypes="#//Dependability/StateBased/MaintenanceMonitoring/MMActivities">
+          <eStructuralFeatures xsi:type="ecore:EReference" name="targets" ordered="false"
+              lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property"/>
+          <eStructuralFeatures xsi:type="ecore:EAttribute" name="correctionProbability"
+              ordered="false" lowerBound="1" eType="ecore:EClass MARTE_Library.ecore#//BasicNFP_Types/NFP_Real"/>
+          <eStructuralFeatures xsi:type="ecore:EReference" name="controlledFailure"
+              ordered="false" lowerBound="1" eType="#//Dependability/ThreatsPropagation/FailureMode"/>
+        </eClassifiers>
+        <eClassifiers xsi:type="ecore:EClass" name="FailureDetection" eSuperTypes="#//Dependability/StateBased/MaintenanceMonitoring/MMActivities">
+          <eStructuralFeatures xsi:type="ecore:EReference" name="onDetection" ordered="false"
+              lowerBound="1" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Activity"/>
+        </eClassifiers>
+      </eSubpackages>
+      <eSubpackages name="StateBasedAnalysis" nsURI="http://CHESS/Dependability/StateBased/StateBasedAnalysis"
+          nsPrefix="StateBasedAnalysis">
+        <eClassifiers xsi:type="ecore:EClass" name="StateBasedAnalysis" eSuperTypes="MARTE.ecore#//MARTE_AnalysisModel/GQAM/GaAnalysisContext">
+          <eStructuralFeatures xsi:type="ecore:EAttribute" name="measure" ordered="false"
+              lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String"/>
+          <eStructuralFeatures xsi:type="ecore:EAttribute" name="measureEvaluationResult"
+              ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String"/>
+          <eStructuralFeatures xsi:type="ecore:EAttribute" name="evalMethod" ordered="false"
+              lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String"/>
+          <eStructuralFeatures xsi:type="ecore:EReference" name="targetFailureMode"
+              ordered="false" upperBound="-1" eType="#//Dependability/ThreatsPropagation/FailureMode"/>
+          <eStructuralFeatures xsi:type="ecore:EReference" name="targetDepComponent"
+              ordered="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//InstanceSpecification"/>
+        </eClassifiers>
+      </eSubpackages>
+    </eSubpackages>
+    <eSubpackages name="FMEA" nsURI="http://CHESS.Dependability/schemas/FMEA/_wfALMFrLEeCvGuvlF-wh1g/9"
+        nsPrefix="FMEA">
+      <eClassifiers xsi:type="ecore:EClass" name="FIBEX">
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_Comment" ordered="false"
+            lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Comment"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="config" ordered="false"
+            lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="FMEAAnalysis" eSuperTypes="MARTE.ecore#//MARTE_AnalysisModel/GQAM/GaAnalysisContext">
+        <eStructuralFeatures xsi:type="ecore:EReference" name="errorType" ordered="false"
+            eType="#//Dependability/ThreatsPropagation/ThreatState"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="simulationRuns" ordered="false"
+            lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Integer"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="analysisType" ordered="false"
+            lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EEnum" name="FMEAAnalysisType">
+        <eLiterals name="frame"/>
+        <eLiterals name="system" value="1"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="ErrorModelAssign">
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_Comment" ordered="false"
+            lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Comment"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="from" ordered="false"
+            lowerBound="1" upperBound="-1" eType="#//Dependability/ThreatsPropagation/ErrorModel"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="to" ordered="false"
+            lowerBound="1" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Slot"/>
+      </eClassifiers>
+      <eSubpackages name="FMEADataTypes" nsURI="http:///CHESS/Dependability/FMEA/FMEADataTypes.ecore"
+          nsPrefix="CHESS.Dependability.FMEA.FMEADataTypes">
+        <eClassifiers xsi:type="ecore:EEnum" name="Persistency">
+          <eLiterals name="transient"/>
+          <eLiterals name="permanent" value="1"/>
+        </eClassifiers>
+      </eSubpackages>
+    </eSubpackages>
+    <eSubpackages name="MitigationMeans" nsURI="http://CHESS.Dependability/MitigationMeans"
+        nsPrefix="MitigationMeans">
+      <eClassifiers xsi:type="ecore:EClass" name="TransmissionWithProtocol">
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_Connector" ordered="false"
+            lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Connector"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="CRC" ordered="false"
+            lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="UseSeqID" ordered="false"
+            lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean"/>
+      </eClassifiers>
+    </eSubpackages>
+  </eSubpackages>
+  <eSubpackages name="Predictability" nsURI="http:///CHESS/Predictability.ecore" nsPrefix="CHESS.Predictability">
+    <eSubpackages name="TimingAnalysis" nsURI="http://CHESS.Predictability/schemas/TimingAnaylsis/_SGMOYMe6Ed-7etIj5eTw0Q/8"
+        nsPrefix="TimingAnalysis">
+      <eClassifiers xsi:type="ecore:EClass" name="SimulationBasedTimingAnalysis" eSuperTypes="MARTE.ecore#//MARTE_AnalysisModel/GQAM/GaAnalysisContext"/>
+      <eClassifiers xsi:type="ecore:EClass" name="AgeTimingConstraint" eSuperTypes="MARTE.ecore#//MARTE_AnalysisModel/GQAM/GaLatencyObs"/>
+      <eClassifiers xsi:type="ecore:EClass" name="ReactionConstraint" eSuperTypes="MARTE.ecore#//MARTE_AnalysisModel/GQAM/GaLatencyObs"/>
+      <eClassifiers xsi:type="ecore:EClass" name="OutputSynchronizationConstraint"
+          eSuperTypes="MARTE.ecore#//MARTE_AnalysisModel/GQAM/GaLatencyObs">
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="width" ordered="false"
+            lowerBound="1" eType="ecore:EClass MARTE_Library.ecore#//BasicNFP_Types/NFP_Duration"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="InputSynchronizationConstraint"
+          eSuperTypes="MARTE.ecore#//MARTE_AnalysisModel/GQAM/GaLatencyObs">
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="width" ordered="false"
+            lowerBound="1" eType="ecore:EClass MARTE_Library.ecore#//BasicNFP_Types/NFP_Duration"/>
+      </eClassifiers>
+      <eSubpackages name="TimingConstraints" nsURI="http://CHESS.Predictability.TimingAnaylsis/schemas/TimingConstraints/_ShUEIMe6Ed-7etIj5eTw0Q/8"
+          nsPrefix="TimingConstraints">
+        <eClassifiers xsi:type="ecore:EClass" name="ArbitraryEventConstraint" eSuperTypes="MARTE.ecore#//MARTE_Foundations/NFPs/NfpConstraint">
+          <eStructuralFeatures xsi:type="ecore:EAttribute" name="offset" ordered="false"
+              lowerBound="1" eType="ecore:EClass MARTE_Library.ecore#//BasicNFP_Types/NFP_Duration"/>
+          <eStructuralFeatures xsi:type="ecore:EAttribute" name="maximumInterarrivalTime"
+              ordered="false" upperBound="-1" eType="ecore:EClass MARTE_Library.ecore#//BasicNFP_Types/NFP_Duration"/>
+          <eStructuralFeatures xsi:type="ecore:EAttribute" name="minimumInterarrivalTime"
+              ordered="false" upperBound="-1" eType="ecore:EClass MARTE_Library.ecore#//BasicNFP_Types/NFP_Duration"/>
+        </eClassifiers>
+        <eClassifiers xsi:type="ecore:EClass" name="PatternEventConstraint" eSuperTypes="MARTE.ecore#//MARTE_Foundations/NFPs/NfpConstraint">
+          <eStructuralFeatures xsi:type="ecore:EAttribute" name="offset" ordered="false"
+              lowerBound="1" eType="ecore:EClass MARTE_Library.ecore#//BasicNFP_Types/NFP_Duration"/>
+          <eStructuralFeatures xsi:type="ecore:EAttribute" name="jitter" ordered="false"
+              lowerBound="1" eType="ecore:EClass MARTE_Library.ecore#//BasicNFP_Types/NFP_Duration"/>
+          <eStructuralFeatures xsi:type="ecore:EAttribute" name="minimumInterarrivalTime"
+              ordered="false" lowerBound="1" eType="ecore:EClass MARTE_Library.ecore#//BasicNFP_Types/NFP_Duration"/>
+          <eStructuralFeatures xsi:type="ecore:EAttribute" name="occurrence" ordered="false"
+              lowerBound="1" eType="ecore:EClass MARTE_Library.ecore#//BasicNFP_Types/NFP_Duration"/>
+          <eStructuralFeatures xsi:type="ecore:EAttribute" name="period" ordered="false"
+              lowerBound="1" eType="ecore:EClass MARTE_Library.ecore#//BasicNFP_Types/NFP_Duration"/>
+        </eClassifiers>
+        <eClassifiers xsi:type="ecore:EClass" name="PeriodicEventConstraint" eSuperTypes="MARTE.ecore#//MARTE_Foundations/NFPs/NfpConstraint">
+          <eStructuralFeatures xsi:type="ecore:EAttribute" name="offset" ordered="false"
+              lowerBound="1" eType="ecore:EClass MARTE_Library.ecore#//BasicNFP_Types/NFP_Duration"/>
+          <eStructuralFeatures xsi:type="ecore:EAttribute" name="jitter" ordered="false"
+              lowerBound="1" eType="ecore:EClass MARTE_Library.ecore#//BasicNFP_Types/NFP_Duration"/>
+          <eStructuralFeatures xsi:type="ecore:EAttribute" name="minimumInterarrivalTime"
+              ordered="false" lowerBound="1" eType="ecore:EClass MARTE_Library.ecore#//BasicNFP_Types/NFP_Duration"/>
+          <eStructuralFeatures xsi:type="ecore:EAttribute" name="period" ordered="false"
+              lowerBound="1" eType="ecore:EClass MARTE_Library.ecore#//BasicNFP_Types/NFP_Duration"/>
+        </eClassifiers>
+        <eClassifiers xsi:type="ecore:EClass" name="SporadicEventConstraint" eSuperTypes="MARTE.ecore#//MARTE_Foundations/NFPs/NfpConstraint">
+          <eStructuralFeatures xsi:type="ecore:EAttribute" name="offset" ordered="false"
+              lowerBound="1" eType="ecore:EDataType MARTE_Library.ecore#//MARTE_PrimitivesTypes/Real"/>
+          <eStructuralFeatures xsi:type="ecore:EAttribute" name="jitter" ordered="false"
+              eType="ecore:EClass MARTE_Library.ecore#//BasicNFP_Types/NFP_Duration"/>
+          <eStructuralFeatures xsi:type="ecore:EAttribute" name="maximumInterarrivalTime"
+              ordered="false" eType="ecore:EClass MARTE_Library.ecore#//BasicNFP_Types/NFP_Duration"/>
+          <eStructuralFeatures xsi:type="ecore:EAttribute" name="minimumInterarrivalTime"
+              ordered="false" lowerBound="1" eType="ecore:EClass MARTE_Library.ecore#//BasicNFP_Types/NFP_Duration"/>
+          <eStructuralFeatures xsi:type="ecore:EAttribute" name="period" ordered="false"
+              lowerBound="1" eType="ecore:EClass MARTE_Library.ecore#//BasicNFP_Types/NFP_Duration"/>
+        </eClassifiers>
+      </eSubpackages>
+    </eSubpackages>
+    <eSubpackages name="DeploymentConfiguration" nsURI="http://CHESS/Predictability/DeploymentConfiguration"
+        nsPrefix="DeploymentConfiguration">
+      <eSubpackages name="HardwareBaseline" nsURI="http://CHESS/Predictability/DeploymentConfiguration/HardwareBaseline"
+          nsPrefix="HardwareBaseline">
+        <eClassifiers xsi:type="ecore:EClass" name="CH_HwProcessor" eSuperTypes="MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwComputing/HwProcessor">
+          <eStructuralFeatures xsi:type="ecore:EReference" name="dataType" ordered="false"
+              upperBound="-1" eType="#//Predictability/DeploymentConfiguration/HardwareBaseline/HWDataType"/>
+          <eStructuralFeatures xsi:type="ecore:EAttribute" name="utilization" ordered="false"
+              eType="ecore:EClass MARTE_Library.ecore#//BasicNFP_Types/NFP_Real"/>
+        </eClassifiers>
+        <eClassifiers xsi:type="ecore:EClass" name="HWDataType">
+          <eStructuralFeatures xsi:type="ecore:EReference" name="base_DataType" ordered="false"
+              lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//DataType"/>
+          <eStructuralFeatures xsi:type="ecore:EAttribute" name="bitLength" ordered="false"
+              lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Integer"/>
+          <eStructuralFeatures xsi:type="ecore:EAttribute" name="signed" ordered="false"
+              lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean"/>
+          <eStructuralFeatures xsi:type="ecore:EAttribute" name="fixedPoint" ordered="false"
+              lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean"/>
+          <eStructuralFeatures xsi:type="ecore:EAttribute" name="float" ordered="false"
+              lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean"/>
+          <eStructuralFeatures xsi:type="ecore:EReference" name="execution" ordered="false"
+              upperBound="-1" eType="#//Predictability/DeploymentConfiguration/HardwareBaseline/DataTypeExecution"/>
+        </eClassifiers>
+        <eClassifiers xsi:type="ecore:EClass" name="DataTypeExecution">
+          <eStructuralFeatures xsi:type="ecore:EReference" name="base_Class" ordered="false"
+              lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Class"/>
+          <eStructuralFeatures xsi:type="ecore:EAttribute" name="operation" ordered="false"
+              lowerBound="1" eType="#//Predictability/DeploymentConfiguration/HardwareBaseline/BasicOperation"/>
+          <eStructuralFeatures xsi:type="ecore:EAttribute" name="executionCycles"
+              ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Integer"/>
+        </eClassifiers>
+        <eClassifiers xsi:type="ecore:EEnum" name="BasicOperation">
+          <eLiterals name="add"/>
+          <eLiterals name="mul" value="1"/>
+          <eLiterals name="div" value="2"/>
+          <eLiterals name="mod" value="3"/>
+          <eLiterals name="shift" value="4"/>
+        </eClassifiers>
+        <eClassifiers xsi:type="ecore:EClass" name="ComputeComplexity">
+          <eStructuralFeatures xsi:type="ecore:EReference" name="swDataType" ordered="false"
+              lowerBound="1" eType="#//Predictability/DeploymentConfiguration/HardwareBaseline/SWDataType"/>
+          <eStructuralFeatures xsi:type="ecore:EReference" name="opCount" ordered="false"
+              lowerBound="1" upperBound="-1" eType="#//Predictability/DeploymentConfiguration/HardwareBaseline/OperationCount"/>
+          <eStructuralFeatures xsi:type="ecore:EReference" name="base_Class" ordered="false"
+              lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Class"/>
+        </eClassifiers>
+        <eClassifiers xsi:type="ecore:EClass" name="SWDataType" abstract="true">
+          <eStructuralFeatures xsi:type="ecore:EReference" name="base_DataType" ordered="false"
+              lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//DataType"/>
+          <eStructuralFeatures xsi:type="ecore:EAttribute" name="bitSize" ordered="false"
+              lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Integer"/>
+        </eClassifiers>
+        <eClassifiers xsi:type="ecore:EClass" name="OperationCount">
+          <eStructuralFeatures xsi:type="ecore:EAttribute" name="operation" ordered="false"
+              lowerBound="1" eType="#//Predictability/DeploymentConfiguration/HardwareBaseline/BasicOperation"/>
+          <eStructuralFeatures xsi:type="ecore:EAttribute" name="count" ordered="false"
+              lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Integer"/>
+          <eStructuralFeatures xsi:type="ecore:EReference" name="base_Class" ordered="false"
+              lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Class"/>
+        </eClassifiers>
+        <eClassifiers xsi:type="ecore:EClass" name="CHControlFlow">
+          <eStructuralFeatures xsi:type="ecore:EReference" name="base_ControlFlow"
+              ordered="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//ControlFlow"/>
+          <eStructuralFeatures xsi:type="ecore:EAttribute" name="rep" ordered="false"
+              eType="ecore:EDataType MARTE_Library.ecore#//MARTE_PrimitivesTypes/Real"/>
+          <eStructuralFeatures xsi:type="ecore:EAttribute" name="prob" ordered="false"
+              eType="ecore:EDataType MARTE_Library.ecore#//MARTE_PrimitivesTypes/Real"/>
+          <eStructuralFeatures xsi:type="ecore:EAttribute" name="order" ordered="false"
+              eType="ecore:EDataType MARTE_Library.ecore#//MARTE_PrimitivesTypes/Real"/>
+          <eStructuralFeatures xsi:type="ecore:EReference" name="compComplex" ordered="false"
+              upperBound="-1" eType="#//Predictability/DeploymentConfiguration/HardwareBaseline/ComputeComplexity"/>
+        </eClassifiers>
+        <eClassifiers xsi:type="ecore:EClass" name="FloatSWDataType" eSuperTypes="#//Predictability/DeploymentConfiguration/HardwareBaseline/SWDataType">
+          <eStructuralFeatures xsi:type="ecore:EAttribute" name="signed" ordered="false"
+              lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean"/>
+        </eClassifiers>
+        <eClassifiers xsi:type="ecore:EClass" name="FixedSWDataType" eSuperTypes="#//Predictability/DeploymentConfiguration/HardwareBaseline/SWDataType">
+          <eStructuralFeatures xsi:type="ecore:EAttribute" name="signed" ordered="false"
+              lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean"/>
+        </eClassifiers>
+        <eClassifiers xsi:type="ecore:EClass" name="IntegerSWDataType" eSuperTypes="#//Predictability/DeploymentConfiguration/HardwareBaseline/SWDataType">
+          <eStructuralFeatures xsi:type="ecore:EAttribute" name="signed" ordered="false"
+              lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean"/>
+        </eClassifiers>
+        <eClassifiers xsi:type="ecore:EClass" name="CharSWDataType" eSuperTypes="#//Predictability/DeploymentConfiguration/HardwareBaseline/SWDataType">
+          <eStructuralFeatures xsi:type="ecore:EAttribute" name="signed" ordered="false"
+              lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean"/>
+        </eClassifiers>
+        <eClassifiers xsi:type="ecore:EClass" name="BooleanSWDataType" eSuperTypes="#//Predictability/DeploymentConfiguration/HardwareBaseline/SWDataType"/>
+        <eClassifiers xsi:type="ecore:EEnum" name="BasicDataType">
+          <eLiterals name="Signed"/>
+          <eLiterals name="Integer" value="1"/>
+          <eLiterals name="Fixed_Point" value="2"/>
+          <eLiterals name="Float" value="3"/>
+        </eClassifiers>
+        <eClassifiers xsi:type="ecore:EClass" name="CH_HwBus" eSuperTypes="MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwCommunication/HwBus">
+          <eStructuralFeatures xsi:type="ecore:EAttribute" name="utilization" ordered="false"
+              eType="ecore:EClass MARTE_Library.ecore#//BasicNFP_Types/NFP_Real"/>
+        </eClassifiers>
+        <eClassifiers xsi:type="ecore:EClass" name="CH_HwComputingResource" eSuperTypes="MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwComputing/HwComputingResource">
+          <eStructuralFeatures xsi:type="ecore:EAttribute" name="utilization" ordered="false"
+              eType="ecore:EClass MARTE_Library.ecore#//BasicNFP_Types/NFP_Real"/>
+        </eClassifiers>
+        <eClassifiers xsi:type="ecore:EClass" name="DataTypeAssign">
+          <eStructuralFeatures xsi:type="ecore:EReference" name="base_Comment" ordered="false"
+              lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Comment"/>
+          <eStructuralFeatures xsi:type="ecore:EReference" name="from" ordered="false"
+              upperBound="-1" eType="#//Predictability/DeploymentConfiguration/HardwareBaseline/SWDataType"/>
+          <eStructuralFeatures xsi:type="ecore:EReference" name="to" ordered="false"
+              upperBound="-1" eType="#//Predictability/DeploymentConfiguration/HardwareBaseline/HWDataType"/>
+        </eClassifiers>
+      </eSubpackages>
+      <eSubpackages name="DeploymentConfAnalysis" nsURI="http://CHESS/Predictability/DeploymentConfiguration/DeploymentConfAnalysis"
+          nsPrefix="DeploymentConfAnalysis">
+        <eClassifiers xsi:type="ecore:EClass" name="MappingConfigurationAnalysis"
+            eSuperTypes="MARTE.ecore#//MARTE_AnalysisModel/GQAM/GaAnalysisContext">
+          <eStructuralFeatures xsi:type="ecore:EReference" name="prohibitedAllocations"
+              ordered="false" upperBound="-1" eType="ecore:EClass MARTE.ecore#//MARTE_Foundations/Alloc/Assign"/>
+          <eStructuralFeatures xsi:type="ecore:EReference" name="fixedAllocations"
+              ordered="false" upperBound="-1" eType="ecore:EClass MARTE.ecore#//MARTE_Foundations/Alloc/Assign"/>
+          <eStructuralFeatures xsi:type="ecore:EAttribute" name="bottomUpAnalysis"
+              ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean"/>
+          <eStructuralFeatures xsi:type="ecore:EReference" name="resultingMapping"
+              ordered="false" lowerBound="1" upperBound="-1" eType="ecore:EClass MARTE.ecore#//MARTE_Foundations/Alloc/Assign"/>
+        </eClassifiers>
+        <eClassifiers xsi:type="ecore:EClass" name="SchedulingAnalysis" eSuperTypes="MARTE.ecore#//MARTE_AnalysisModel/GQAM/GaAnalysisContext">
+          <eStructuralFeatures xsi:type="ecore:EReference" name="mapping" ordered="false"
+              upperBound="-1" eType="ecore:EClass MARTE.ecore#//MARTE_Foundations/Alloc/Assign"/>
+          <eStructuralFeatures xsi:type="ecore:EReference" name="resultingPriorities"
+              ordered="false" lowerBound="1" upperBound="-1" eType="#//Predictability/RTComponentModel/CHRtSpecification"/>
+          <eStructuralFeatures xsi:type="ecore:EAttribute" name="schedulingStrategy"
+              ordered="false" upperBound="-1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String"/>
+        </eClassifiers>
+        <eClassifiers xsi:type="ecore:EEnum" name="OptimizationGoal">
+          <eLiterals name="average"/>
+          <eLiterals name="maxHighPerfUsage" value="1"/>
+        </eClassifiers>
+        <eClassifiers xsi:type="ecore:EClass" name="BusConfigurationAnalysis" eSuperTypes="MARTE.ecore#//MARTE_AnalysisModel/GQAM/GaAnalysisContext">
+          <eStructuralFeatures xsi:type="ecore:EReference" name="resultingBusConfig"
+              ordered="false" lowerBound="1" eType="#//Dependability/FMEA/FIBEX"/>
+          <eStructuralFeatures xsi:type="ecore:EReference" name="resultingCommLatencies"
+              ordered="false" upperBound="-1" eType="ecore:EClass MARTE.ecore#//MARTE_AnalysisModel/SAM/SaStep"/>
+          <eStructuralFeatures xsi:type="ecore:EReference" name="inputFibex" ordered="false"
+              upperBound="-1" eType="#//Dependability/FMEA/FIBEX"/>
+          <eStructuralFeatures xsi:type="ecore:EReference" name="hwBusPlatform" ordered="false"
+              upperBound="-1" eType="ecore:EClass MARTE.ecore#//MARTE_DesignModel/HRM/HwLogical/HwCommunication/HwBus"/>
+        </eClassifiers>
+      </eSubpackages>
+    </eSubpackages>
+    <eSubpackages name="RTComponentModel" nsURI="http://CHESS/Predictability/RTComponentModel"
+        nsPrefix="RTComponentModel">
+      <eClassifiers xsi:type="ecore:EClass" name="CHRtPortSlot">
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_Slot" ordered="false"
+            lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Slot"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="cH_RtSpecification"
+            ordered="false" upperBound="-1" eType="#//Predictability/RTComponentModel/CHRtSpecification"/>
+      </eClassifiers>
+      <eClassifiers xsi:type="ecore:EClass" name="CHRtSpecification">
+        <eStructuralFeatures xsi:type="ecore:EReference" name="partWithPort" ordered="false"
+            unique="false" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="WCET" ordered="false"
+            lowerBound="1" eType="ecore:EClass MARTE_Library.ecore#//BasicNFP_Types/NFP_Duration"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="localWCET" ordered="false"
+            eType="ecore:EClass MARTE_Library.ecore#//BasicNFP_Types/NFP_Duration"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="relativePriority" ordered="false"
+            eType="ecore:EClass MARTE_Library.ecore#//BasicNFP_Types/NFP_Integer"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="ceiling" ordered="false"
+            eType="ecore:EClass MARTE_Library.ecore#//BasicNFP_Types/NFP_Integer"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="memorySizeFootprint"
+            ordered="false" eType="ecore:EClass MARTE_Library.ecore#//BasicNFP_Types/NFP_DataSize"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="stackSize" ordered="false"
+            eType="ecore:EClass MARTE_Library.ecore#//BasicNFP_Types/NFP_DataSize"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="heapSize" ordered="false"
+            eType="ecore:EClass MARTE_Library.ecore#//BasicNFP_Types/NFP_DataSize"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="slot" ordered="false"
+            eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Slot"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="base_Comment" ordered="false"
+            lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Comment"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="occKind" ordered="false"
+            eType="ecore:EClass MARTE_Library.ecore#//BasicNFP_Types/ArrivalPattern"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="protection" ordered="false"
+            eType="ecore:EEnum MARTE.ecore#//MARTE_DesignModel/HLAM/CallConcurrencyKind"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="rlDl" ordered="false"
+            eType="ecore:EClass MARTE_Library.ecore#//BasicNFP_Types/NFP_Duration"/>
+        <eStructuralFeatures xsi:type="ecore:EReference" name="context" ordered="false"
+            lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//BehavioralFeature"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="respT" ordered="false"
+            upperBound="-1" eType="ecore:EClass MARTE_Library.ecore#//BasicNFP_Types/NFP_Duration"/>
+        <eStructuralFeatures xsi:type="ecore:EAttribute" name="blockT" ordered="false"
+            upperBound="-1" eType="ecore:EClass MARTE_Library.ecore#//BasicNFP_Types/NFP_Duration"/>
+      </eClassifiers>
+      <eSubpackages name="RTDataTypes" nsURI="http:///CHESS/Predictability/RTComponentModel/RTDataTypes.ecore"
+          nsPrefix="CHESS.Predictability.RTComponentModel.RTDataTypes">
+        <eClassifiers xsi:type="ecore:EClass" name="CH_SporadicPattern"/>
+        <eClassifiers xsi:type="ecore:EClass" name="CH_PeriodicPattern"/>
+        <eClassifiers xsi:type="ecore:EClass" name="CH_BurstPattern"/>
+        <eClassifiers xsi:type="ecore:EClass" name="TA_Pattern"/>
+        <eClassifiers xsi:type="ecore:EClass" name="TA_ArbitraryPattern"/>
+      </eSubpackages>
+    </eSubpackages>
+  </eSubpackages>
+  <eSubpackages name="ComponentModel" nsURI="http://CHESS/ComponentModel" nsPrefix="ComponentModel">
+    <eClassifiers xsi:type="ecore:EClass" name="ComponentType">
+      <eStructuralFeatures xsi:type="ecore:EReference" name="base_Component" ordered="false"
+          lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Component"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="ComponentImplementation">
+      <eStructuralFeatures xsi:type="ecore:EReference" name="base_Component" ordered="false"
+          lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Component"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="language" ordered="false"
+          eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="OS" ordered="false" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="sourceCodeLocation" ordered="false"
+          upperBound="-1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String"/>
+    </eClassifiers>
+  </eSubpackages>
+</ecore:EPackage>
diff --git a/plugins/org.polarsys.chess.chessmlprofile/palettes/Activity-FV.Palette.xml b/plugins/org.polarsys.chess.chessmlprofile/palettes/Activity-FV.Palette.xml
new file mode 100644
index 000000000..74902de76
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/palettes/Activity-FV.Palette.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<paletteDefinition>
+	<content>
+		<drawer 
+		iconpath="platform:/plugin/org.polarsys.chess.core/resources/CHESSicon.gif" 
+		id="Drawer__1309342024129" 
+		name="CHESS/Activity">
+			<aspectTool 
+				description="Create an Initial node" 
+				iconpath="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/InitialNode.gif"
+				id="createInitialnode1CreationTool_1309342089771" name="Initial node" refToolId="createInitialnode1CreationTool"/>
+			<aspectTool description="Create a Call Operation Action node" iconpath="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/CallOperationAction.gif" id="createCallOperationAction12CreationTool_1309342114350" name="Call Operation Action" refToolId="createCallOperationAction3CreationTool"/>
+			<aspectTool description="Create a Decision node" iconpath="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/DecisionNode.gif" id="createDecisionnode4CreationTool_1309342122851" name="Decision node" refToolId="createDecisionnode4CreationTool"/>
+			<aspectTool description="Create an Activity final node" iconpath="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/ActivityFinalNode.gif" id="createActivityfinal2CreationTool_1309342729356" name="Activity final" refToolId="createActivityfinal2CreationTool"/>
+			<aspectTool description="Create a Control Flow" iconpath="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/ControlFlow.gif" id="createControlFlow1CreationTool_1309342738936" name="Control Flow" refToolId="createControlFlow1CreationTool"/>
+		</drawer>
+	</content>
+</paletteDefinition>
diff --git a/plugins/org.polarsys.chess.chessmlprofile/palettes/ClassDiag-DependAnalysis.Palette.xml b/plugins/org.polarsys.chess.chessmlprofile/palettes/ClassDiag-DependAnalysis.Palette.xml
new file mode 100644
index 000000000..08e56c35d
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/palettes/ClassDiag-DependAnalysis.Palette.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<paletteDefinition>
+	<content>
+		<drawer iconpath="platform:/plugin/org.polarsys.chess.core/resources/CHESSicon.gif"
+			id="DepAnalysisViewDrawer__1317300165546"
+			name="DependabilityAnalysis">
+			<aspectTool description="Create an element with a stereotype"
+				iconpath="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Component.gif"
+				id="clazz.tool.component_1301932923050_1317300366021" name="StateBasedAnalysis (Component)"
+				refToolId="clazz.tool.component">
+				<postAction id="org.eclipse.papyrus.applystereotypeactionprovider">
+					<stereotypesToApply>
+						<stereotype
+							stereotypeName="CHESS::Dependability::StateBased::StateBasedAnalysis::StateBasedAnalysis" />
+					</stereotypesToApply>
+				</postAction>
+			</aspectTool>
+			<aspectTool description="Create an element with a stereotype"
+				iconpath="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Component.gif"
+				id="clazz.tool.component_1316779916487_1317300377613" name="FailurePropagationAnalysis (Component)"
+				refToolId="clazz.tool.component">
+				<postAction id="org.eclipse.papyrus.applystereotypeactionprovider">
+					<stereotypesToApply>
+						<stereotype
+							stereotypeName="CHESS::Dependability::FailurePropagation::FailurePropagationAnalysis" />
+					</stereotypesToApply>
+				</postAction>
+			</aspectTool>
+			<aspectTool description="Create an element with a stereotype"
+				iconpath="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Component.gif"
+				id="clazz.tool.component_1317300388677" name="FMEAAnalysis (Component)"
+				refToolId="clazz.tool.component">
+				<postAction id="org.eclipse.papyrus.applystereotypeactionprovider">
+					<stereotypesToApply>
+						<stereotype stereotypeName="CHESS::Dependability::FMEA::FMEAAnalysis" />
+					</stereotypesToApply>
+				</postAction>
+			</aspectTool>
+		</drawer>
+
+	</content>
+</paletteDefinition>
diff --git a/plugins/org.polarsys.chess.chessmlprofile/palettes/ClassDiag-Deployment.Palette.xml b/plugins/org.polarsys.chess.chessmlprofile/palettes/ClassDiag-Deployment.Palette.xml
new file mode 100644
index 000000000..107cb187c
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/palettes/ClassDiag-Deployment.Palette.xml
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<paletteDefinition>
+	<content>
+		<drawer iconpath="platform:/plugin/org.polarsys.chess.core/resources/CHESSicon.gif" id="Drawer__1316779617160" name="CHESS/Deployment">
+			<aspectTool description="Create new Package" iconpath="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Package.gif" id="clazz.tool.package_1316779781926" name="Package" refToolId="clazz.tool.package"/>
+			<aspectTool description="Create a CH_HwProcessor component" iconpath="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Component.gif" id="clazz.tool.component_1316779719559" name="CH_HWProcessor (Component)" refToolId="clazz.tool.component">
+				<postAction id="org.eclipse.papyrus.applystereotypeactionprovider">
+					<stereotypesToApply>
+						<stereotype stereotypeName="CHESS::Predictability::DeploymentConfiguration::HardwareBaseline::CH_HwProcessor"/>
+						<stereotype stereotypeName="MARTE::MARTE_AnalysisModel::GQAM::GaExecHost"/>
+					</stereotypesToApply>
+				</postAction>
+			</aspectTool>
+			<!--aspectTool description="Create a CH_HwComputingResource component" iconpath="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Component.gif" id="clazz.tool.component_1316779796799" name="CH_HwComputingResource (Component)" refToolId="clazz.tool.component">
+				<postAction id="org.eclipse.papyrus.applystereotypeactionprovider">
+					<stereotypesToApply>
+						<stereotype stereotypeName="CHESS::Predictability::DeploymentConfiguration::HardwareBaseline::CH_HwComputingResource"/>
+					</stereotypesToApply>
+				</postAction>
+			</aspectTool-->
+			<aspectTool description="Create a CH_HwBus component" iconpath="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Component.gif" id="clazz.tool.component_1316779840654" name="CH_HwBus Componnet)" refToolId="clazz.tool.component">
+				<postAction id="org.eclipse.papyrus.applystereotypeactionprovider">
+					<stereotypesToApply>
+						<stereotype stereotypeName="CHESS::Predictability::DeploymentConfiguration::HardwareBaseline::CH_HwBus"/>
+						<stereotype stereotypeName="MARTE::MARTE_AnalysisModel::GQAM::GaCommHost"/>
+					</stereotypesToApply>
+				</postAction>
+			</aspectTool>
+			
+			<aspectTool description="Create an element with a stereotype" iconpath="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Component.gif" id="clazz.tool.component_1317119715520" name="HWActuator (Component)" refToolId="clazz.tool.component">
+			<postAction id="org.eclipse.papyrus.applystereotypeactionprovider">
+				<stereotypesToApply><stereotype stereotypeName="MARTE::MARTE_DesignModel::HRM::HwLogical::HwDevice::HWActuator"/>
+				</stereotypesToApply>
+			</postAction>
+		</aspectTool>
+		<aspectTool description="Create an element with a stereotype" iconpath="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Component.gif" id="clazz.tool.component_1317119725420" name="HWSensor (Component)" refToolId="clazz.tool.component">
+			<postAction id="org.eclipse.papyrus.applystereotypeactionprovider">
+				<stereotypesToApply><stereotype stereotypeName="MARTE::MARTE_DesignModel::HRM::HwLogical::HwDevice::HWSensor"/>
+				</stereotypesToApply>
+			</postAction>
+		</aspectTool>
+		<aspectTool description="Create an element with a stereotype" iconpath="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Component.gif" id="clazz.tool.component_1317119746861" name="HwCache (Component)" refToolId="clazz.tool.component">
+			<postAction id="org.eclipse.papyrus.applystereotypeactionprovider">
+				<stereotypesToApply><stereotype stereotypeName="MARTE::MARTE_DesignModel::HRM::HwLogical::HwStorage::HwMemory::HwCache"/>
+				</stereotypesToApply>
+			</postAction>
+		</aspectTool>
+		<aspectTool description="Create an element with a stereotype" iconpath="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Component.gif" id="clazz.tool.component_1301932923050_1317121808800" name="HwASIC (Component)" refToolId="clazz.tool.component">
+			<postAction id="org.eclipse.papyrus.applystereotypeactionprovider">
+				<stereotypesToApply><stereotype stereotypeName="MARTE::MARTE_DesignModel::HRM::HwLogical::HwComputing::HwASIC"/>
+				</stereotypesToApply>
+			</postAction>
+		</aspectTool>
+		
+		<aspectTool description="Create Partition" iconpath="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Component.gif" id="clazz.tool.component_partition" name="Partition (Component)" refToolId="clazz.tool.component">
+			<postAction id="org.eclipse.papyrus.applystereotypeactionprovider">
+				<stereotypesToApply><stereotype stereotypeName="MARTE::MARTE_DesignModel::SRM::SW_Concurrency::MemoryPartition"/>
+				</stereotypesToApply>
+			</postAction>
+		</aspectTool>
+			
+			<aspectTool description="Create a component" iconpath="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Component.gif" id="clazz.tool.component_1316779916487" name="Component" refToolId="clazz.tool.component"/>
+			<aspectTool description="Create a comment" iconpath="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Comment.gif" id="clazz.tool.comment_1316779679320" name="Comment" refToolId="clazz.tool.comment"/>
+			<aspectTool description="Creation of a link for comment" id="clazz.tool.link_13167799276791" name="Link" refToolId="clazz.tool.link"/>
+			<aspectTool description="Create a Composition" iconpath="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Association.gif" id="clazz.tool.association_1372928774312" name="Association" refToolId="clazz.tool.association"><postAction id="org.eclipse.papyrus.postaction.associationendactionprovider"><associationEnd index="0" name="source"/><associationEnd index="1" name="target"><aggregation value="composite"/><multiplicity value="1..1"/><navigable value="Yes"/><owner value="Class"/></associationEnd></postAction></aspectTool>
+			<aspectTool description="Create a Dependency" iconpath="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Dependency.gif" id="clazz.tool.dependency_1301932902690" name="Dependency" refToolId="clazz.tool.dependency"/>
+		</drawer>
+	</content>
+</paletteDefinition>
diff --git a/plugins/org.polarsys.chess.chessmlprofile/palettes/ClassDiag-FV.Palette.xml b/plugins/org.polarsys.chess.chessmlprofile/palettes/ClassDiag-FV.Palette.xml
new file mode 100644
index 000000000..7c20940fc
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/palettes/ClassDiag-FV.Palette.xml
@@ -0,0 +1,126 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<paletteDefinition>
+	<content>
+		<drawer iconpath="platform:/plugin/org.polarsys.chess.core/resources/CHESSicon.gif"
+			id="Drawer__1301932755309" name="CHESS FunctView">
+			<aspectTool description="Create new Package"
+				iconpath="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Package.gif"
+				id="clazz.tool.package_1301932880986" name="Package" refToolId="clazz.tool.package" />
+			<aspectTool description="Create an element with a stereotype"
+				iconpath="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Component.gif"
+				id="clazz.tool.component_1301932825718" name="ComponentType (Component)"
+				refToolId="clazz.tool.component">
+				<postAction id="org.eclipse.papyrus.applystereotypeactionprovider">
+					<stereotypesToApply>
+						<stereotype stereotypeName="CHESS::ComponentModel::ComponentType" />
+					</stereotypesToApply>
+				</postAction>
+			</aspectTool>
+			<aspectTool description="Create an element with a stereotype"
+				iconpath="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Component.gif"
+				id="clazz.tool.component_1301932822500" name="ComponentImplementation (Component)"
+				refToolId="clazz.tool.component">
+				<postAction id="org.eclipse.papyrus.applystereotypeactionprovider">
+					<stereotypesToApply>
+						<stereotype stereotypeName="CHESS::ComponentModel::ComponentImplementation" />
+					</stereotypesToApply>
+				</postAction>
+			</aspectTool>
+			<aspectTool description="Create an interface"
+				iconpath="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Interface.gif"
+				id="clazz.tool.interface_1301932859892" name="Interface" refToolId="clazz.tool.interface" />
+			<aspectTool description="Create an operation"
+				iconpath="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Operation.gif"
+				id="clazz.tool.operation_1301932878127" name="Operation" refToolId="clazz.tool.operation" />
+			<aspectTool description="Create a new Property"
+				iconpath="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Property.gif"
+				id="clazz.tool.property_1301932888158" name="Property" refToolId="clazz.tool.property" />
+			<aspectTool description="Create a component"
+				iconpath="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Component.gif"
+				id="clazz.tool.component_1301932923050" name="Component" refToolId="clazz.tool.component" />
+			<aspectTool description="Create a new Class"
+				iconpath="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Class.gif"
+				id="clazz.tool.class_1301932910315" name="Class" refToolId="clazz.tool.class" />
+			<aspectTool description="Create a new DataType"
+				iconpath="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/DataType.gif"
+				id="clazz.tool.datatype_1301932933144" name="DataType" refToolId="clazz.tool.datatype" />
+
+			<aspectTool description="Create a Primitivetype"
+				iconpath="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/PrimitiveType.gif"
+				id="clazz.tool.primitivetype_1324042915410" name="PrimitiveType"
+				refToolId="clazz.tool.primitivetype" />
+
+			<aspectTool description="Create an element with a stereotype"
+				iconpath="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/DataType.gif"
+				id="clazz.tool.datatype_1324545899285" name="BoundedSubtype (DataType)"
+				refToolId="clazz.tool.datatype">
+				<postAction id="org.eclipse.papyrus.applystereotypeactionprovider">
+					<stereotypesToApply>
+						<stereotype stereotypeName="MARTE::MARTE_Annexes::VSL::DataTypes::BoundedSubtype" />
+					</stereotypesToApply>
+				</postAction>
+			</aspectTool>
+
+			<aspectTool description="Create an element with a stereotype"
+				iconpath="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/DataType.gif"
+				id="clazz.tool.datatype_1324545928574" name="CollectionType (DataType)"
+				refToolId="clazz.tool.datatype">
+				<postAction id="org.eclipse.papyrus.applystereotypeactionprovider">
+					<stereotypesToApply>
+						<stereotype stereotypeName="MARTE::MARTE_Annexes::VSL::DataTypes::CollectionType" />
+					</stereotypesToApply>
+				</postAction>
+			</aspectTool>
+
+			<aspectTool description="Create an element with a stereotype"
+				iconpath="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/DataType.gif"
+				id="clazz.tool.datatype_1324545966606" name="TupleType (DataType)"
+				refToolId="clazz.tool.datatype">
+				<postAction id="org.eclipse.papyrus.applystereotypeactionprovider">
+					<stereotypesToApply>
+						<stereotype stereotypeName="MARTE::MARTE_Annexes::VSL::DataTypes::TupleType" />
+					</stereotypesToApply>
+				</postAction>
+			</aspectTool>
+
+			<aspectTool description="Create an enumeration"
+				iconpath="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Enumeration.gif"
+				id="clazz.tool.enumeration_1301932935504" name="Enumeration"
+				refToolId="clazz.tool.enumeration" />
+			<aspectTool description="Create an enumeration literal"
+				iconpath="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/EnumerationLiteral.gif"
+				id="clazz.tool.enumerationliteral_1301932936629" name="Enumeration literal"
+				refToolId="clazz.tool.enumerationliteral" />
+			<aspectTool description="Create a generalization"
+				iconpath="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Generalization.gif"
+				id="clazz.tool.generalization_1301932946786" name="Generalization"
+				refToolId="clazz.tool.generalization" />
+			<aspectTool description="Create a Realization"
+				iconpath="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Realization.gif"
+				id="clazz.tool.realization_1301932889783" name="Realization"
+				refToolId="clazz.tool.realization" />
+			<aspectTool description="Create a Composition"
+				iconpath="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Association.gif"
+				id="clazz.tool.association_1372928774312" name="Association"
+				refToolId="clazz.tool.association">
+				<postAction
+					id="org.eclipse.papyrus.postaction.associationendactionprovider">
+					<associationEnd index="0" name="source" />
+					<associationEnd index="1" name="target">
+						<aggregation value="composite" />
+						<multiplicity value="1..1" />
+						<navigable value="Yes" />
+						<owner value="Class" />
+					</associationEnd>
+				</postAction>
+			</aspectTool>
+			<aspectTool description="Create a Dependency"
+				iconpath="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Dependency.gif"
+				id="clazz.tool.dependency_1301932902690" name="Dependency"
+				refToolId="clazz.tool.dependency" />
+			<!--aspectTool description="Create an InterfaceRealization" iconpath="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/InterfaceRealization.gif" 
+				id="clazz.tool.interfacerealization_1301932871048" name="InterfaceRealization" 
+				refToolId="clazz.tool.interfacerealization"/ -->
+		</drawer>
+	</content>
+</paletteDefinition>
diff --git a/plugins/org.polarsys.chess.chessmlprofile/palettes/CompositeDiag-Deployment.Palette.xml b/plugins/org.polarsys.chess.chessmlprofile/palettes/CompositeDiag-Deployment.Palette.xml
new file mode 100644
index 000000000..27db031a5
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/palettes/CompositeDiag-Deployment.Palette.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<paletteDefinition>
+	<content>
+		<drawer iconpath="platform:/plugin/org.polarsys.chess.core/resources/CHESSicon.gif"
+			id="Drawer__1309350634222" name="CHESS/Deployment">
+			<aspectTool description="Create an element with a stereotype"
+				iconpath="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Comment.gif"
+				id="composite.tool.comment_1309350691427" name="Assign (Comment)"
+				refToolId="composite.tool.comment">
+				<postAction id="org.eclipse.papyrus.applystereotypeactionprovider">
+					<stereotypesToApply>
+						<stereotype stereotypeName="MARTE::MARTE_Foundations::Alloc::Assign" />
+					</stereotypesToApply>
+				</postAction>
+			</aspectTool>
+			<aspectTool description="Create new Comment"
+				iconpath="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Comment.gif"
+				id="composite.tool.comment_1309350699287" name="Comment"
+				refToolId="composite.tool.comment" />
+			<aspectTool description="Create new Property"
+				iconpath="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Property.gif"
+				id="composite.tool.property_1309350731179" name="Property"
+				refToolId="composite.tool.property" />
+			<aspectTool description="Create an element with a stereotype"
+				iconpath="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Port.gif"
+				id="composite.tool.port_1309350716538" name="IN FlowPort (Port)"
+				refToolId="composite.tool.port">
+				<postAction id="org.eclipse.papyrus.applystereotypeactionprovider">
+					<stereotypesToApply>
+						<stereotype stereotypeName="MARTE::MARTE_DesignModel::GCM::FlowPort">
+							<property propertyName="MARTE::MARTE_DesignModel::GCM::FlowPort::direction">
+								<value>in</value>
+							</property>
+						</stereotype>
+					</stereotypesToApply>
+				</postAction>
+				<postAction displayKind="IconStereotype" displayPlace="Compartment"
+					id="org.eclipse.papyrus.postaction.changeStereotypeDisplayProvider" />
+			</aspectTool>
+			<aspectTool description="Create an element with a stereotype"
+				iconpath="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Port.gif"
+				id="composite.tool.port_1309350717522" name="INOUT FlowPort (Port)"
+				refToolId="composite.tool.port">
+				<postAction id="org.eclipse.papyrus.applystereotypeactionprovider">
+					<stereotypesToApply>
+						<stereotype stereotypeName="MARTE::MARTE_DesignModel::GCM::FlowPort" />
+					</stereotypesToApply>
+				</postAction>
+				<postAction displayKind="IconStereotype" displayPlace="Compartment"
+					id="org.eclipse.papyrus.postaction.changeStereotypeDisplayProvider" />
+			</aspectTool>
+			<aspectTool description="Create an element with a stereotype"
+				iconpath="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Port.gif"
+				id="composite.tool.port_1309350726554" name="OUT FlowPort (Port)"
+				refToolId="composite.tool.port">
+				<postAction id="org.eclipse.papyrus.applystereotypeactionprovider">
+					<stereotypesToApply>
+						<stereotype stereotypeName="MARTE::MARTE_DesignModel::GCM::FlowPort">
+							<property propertyName="MARTE::MARTE_DesignModel::GCM::FlowPort::direction">
+								<value>out</value>
+							</property>
+						</stereotype>
+					</stereotypesToApply>
+				</postAction>
+				<postAction displayKind="IconStereotype" displayPlace="Compartment"
+					id="org.eclipse.papyrus.postaction.changeStereotypeDisplayProvider" />
+			</aspectTool>
+			<aspectTool description="Create new Connector"
+				iconpath="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Connector.gif"
+				id="composite.tool.connector_1309350703600" name="Connector"
+				refToolId="composite.tool.connector" />
+			<aspectTool description="Create new Link for Comment"
+				id="composite.tool.link_1317290422288" name="Link" refToolId="composite.tool.link" />
+		</drawer>
+	</content>
+</paletteDefinition>
\ No newline at end of file
diff --git a/plugins/org.polarsys.chess.chessmlprofile/palettes/CompositeDiag-EFV-FPTC.Palette.xml b/plugins/org.polarsys.chess.chessmlprofile/palettes/CompositeDiag-EFV-FPTC.Palette.xml
new file mode 100644
index 000000000..be718793e
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/palettes/CompositeDiag-EFV-FPTC.Palette.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<paletteDefinition>
+	<content>
+		<drawer iconpath="platform:/plugin/org.polarsys.chess.core/resources/CHESSicon.gif" id="CSD_FPTC_Drawer__1317635175167" name="FPTC">
+			<aspectTool description="Create an element with a stereotype" iconpath="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Comment.gif" id="composite.tool.comment_1317635199513" name="FPTCSpecification (Comment)" refToolId="composite.tool.comment">
+				<postAction id="org.eclipse.papyrus.applystereotypeactionprovider">
+					<stereotypesToApply>
+						<stereotype stereotypeName="CHESS::Dependability::FailurePropagation::FPTCSpecification"/>
+					</stereotypesToApply>
+				</postAction>
+			</aspectTool>
+						
+			<aspectTool description="Create an element with a stereotype" iconpath="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Comment.gif" id="composite.tool.comment_1317635199514" name="FI4FASpecification (Comment)" refToolId="composite.tool.comment">
+				<postAction id="org.eclipse.papyrus.applystereotypeactionprovider">
+					<stereotypesToApply>
+						<stereotype stereotypeName="CHESS::Dependability::FailurePropagation::FI4FASpecification"/>
+					</stereotypesToApply>
+				</postAction>
+			</aspectTool>
+					
+			<aspectTool description="Create new Link" id="composite.tool.link_1317635215191" name="Link" refToolId="composite.tool.link"/>
+			
+		</drawer>
+	</content>
+</paletteDefinition>
\ No newline at end of file
diff --git a/plugins/org.polarsys.chess.chessmlprofile/palettes/CompositeDiag-EFV-RT.Palette.xml b/plugins/org.polarsys.chess.chessmlprofile/palettes/CompositeDiag-EFV-RT.Palette.xml
new file mode 100644
index 000000000..0445d0e83
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/palettes/CompositeDiag-EFV-RT.Palette.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<paletteDefinition>
+	<content>
+		<drawer iconpath="platform:/plugin/org.polarsys.chess.core/resources/CHESSicon.gif"
+			id="CSD_RTDrawer__1302019186026" name="Real Time">
+			<aspectTool description="Create an element with a stereotype"
+				iconpath="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Comment.gif"
+				id="composite.tool.comment_1302019229058" name="CHRtSpecification"
+				refToolId="composite.tool.comment">
+				<postAction id="org.eclipse.papyrus.applystereotypeactionprovider">
+					<stereotypesToApply>
+						<stereotype
+							stereotypeName="CHESS::Predictability::RTComponentModel::CHRtSpecification" />
+					</stereotypesToApply>
+				</postAction>
+				<postAction displayKind="HorizontalStereo" displayPlace="Compartment"
+					id="org.eclipse.papyrus.postaction.changeStereotypeDisplayProvider" />
+			</aspectTool>
+			<aspectTool description="Create new Link for CHRtSpecification"
+				id="composite.tool.link_13176352151912" name="Link" refToolId="composite.tool.link" />
+
+		</drawer>
+	</content>
+</paletteDefinition>
diff --git a/plugins/org.polarsys.chess.chessmlprofile/palettes/CompositeDiag-FV.Palette.xml b/plugins/org.polarsys.chess.chessmlprofile/palettes/CompositeDiag-FV.Palette.xml
new file mode 100644
index 000000000..f9c990234
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/palettes/CompositeDiag-FV.Palette.xml
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<paletteDefinition>
+	<content>
+		<drawer iconpath="platform:/plugin/org.polarsys.chess.core/resources/CHESSicon.gif" id="Drawer__1301934597255" name="CHESS FunctView">
+			<aspectTool description="Create new Property" iconpath="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Property.gif" id="composite.tool.property_1301934686712" name="Property" refToolId="composite.tool.property"/>
+			<aspectTool description="Create new Connector" iconpath="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Connector.gif" id="composite.tool.connector_1301934783215" name="Connector" refToolId="composite.tool.connector"/>
+			<aspectTool description="Create an element with a stereotype" iconpath="platform:/plugin/org.eclipse.papyrus.marte.static.profile/resources/icons/GCM/Provided.png" id="composite.tool.port_1284541248483" name="Provided Port" refToolId="composite.tool.port">
+				<postAction id="org.eclipse.papyrus.applystereotypeactionprovider">
+					<stereotypesToApply>
+						<stereotype stereotypeName="MARTE::MARTE_DesignModel::GCM::ClientServerPort">
+							<property propertyName="MARTE::MARTE_DesignModel::GCM::ClientServerPort::kind">
+								<value>provided</value>
+							</property>
+							<!--runtimeProperty propertyName="MARTE::MARTE_DesignModel::GCM::ClientServerPort::provInterface"/-->
+						</stereotype>
+					</stereotypesToApply>
+				</postAction>
+				<postAction displayKind="IconStereotype" displayPlace="Compartment" id="org.eclipse.papyrus.postaction.changeStereotypeDisplayProvider"/>
+			</aspectTool>
+			<aspectTool description="Create an element with a stereotype" iconpath="platform:/plugin/org.eclipse.papyrus.marte.static.profile/resources/icons/GCM/Required.png" id="composite.tool.port_1284541248483" name="Required Port" refToolId="composite.tool.port">
+				<postAction id="org.eclipse.papyrus.applystereotypeactionprovider">
+					<stereotypesToApply>
+						<stereotype stereotypeName="MARTE::MARTE_DesignModel::GCM::ClientServerPort">
+							<property propertyName="MARTE::MARTE_DesignModel::GCM::ClientServerPort::kind">
+								<value>required</value>
+							</property>
+							<!--runtimeProperty propertyName="MARTE::MARTE_DesignModel::GCM::ClientServerPort::reqInterface"/-->
+						</stereotype>
+					</stereotypesToApply>
+				</postAction>
+				<postAction displayKind="IconStereotype" displayPlace="Compartment" id="org.eclipse.papyrus.postaction.changeStereotypeDisplayProvider"/>
+			</aspectTool>
+			
+			<aspectTool description="Create an IN Flow Port" iconpath="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Port.gif" id="composite.tool.port_1330080349877" name="IN FlowPort (Port)" refToolId="composite.tool.port">
+				<postAction id="org.eclipse.papyrus.applystereotypeactionprovider">
+					<stereotypesToApply>
+						<stereotype stereotypeName="MARTE::MARTE_DesignModel::GCM::FlowPort">
+							<property propertyName="MARTE::MARTE_DesignModel::GCM::FlowPort::direction">
+								<value>in</value>
+							</property>
+						</stereotype>
+					</stereotypesToApply>
+				</postAction>
+				<postAction displayKind="IconStereotype" displayPlace="Compartment" id="org.eclipse.papyrus.postaction.changeStereotypeDisplayProvider"/>
+			</aspectTool>
+			<aspectTool description="Create an OUT Flow Port" iconpath="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Port.gif" id="composite.tool.port_1330080399365" name="OUT FlowPort (Port)" refToolId="composite.tool.port">
+				<postAction id="org.eclipse.papyrus.applystereotypeactionprovider">
+					<stereotypesToApply>
+						<stereotype stereotypeName="MARTE::MARTE_DesignModel::GCM::FlowPort">
+							<property propertyName="MARTE::MARTE_DesignModel::GCM::FlowPort::direction">
+								<value>out</value>
+							</property>
+						</stereotype>
+					</stereotypesToApply>
+				</postAction>
+				<postAction displayKind="IconStereotype" displayPlace="Compartment" id="org.eclipse.papyrus.postaction.changeStereotypeDisplayProvider"/>
+			</aspectTool>
+			
+		</drawer>
+	</content>
+</paletteDefinition>
diff --git a/plugins/org.polarsys.chess.chessmlprofile/palettes/CompositeDiag-RailwayView.Palette.xml b/plugins/org.polarsys.chess.chessmlprofile/palettes/CompositeDiag-RailwayView.Palette.xml
new file mode 100644
index 000000000..cf3268695
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/palettes/CompositeDiag-RailwayView.Palette.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<paletteDefinition>
+	<content>
+		<drawer iconpath="platform:/plugin/org.polarsys.chess.core/resources/CHESSicon.gif" id="Drawer__1301934597253" name="Railway Mitigations">
+		
+			<aspectTool description="Create new Connector stereotyped as TrasmissionWithProtocol" iconpath="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Connector.gif" id="composite.tool.connector_1301934783215" name="TrasmissionWithProtocol" refToolId="composite.tool.connector">
+				<postAction id="org.eclipse.papyrus.applystereotypeactionprovider">
+					<stereotypesToApply>
+						<stereotype stereotypeName="CHESS::Dependability::MitigationMeans::TransmissionWithProtocol">
+						</stereotype>
+					</stereotypesToApply>
+				</postAction>
+				<!--postAction displayKind="IconStereotype" displayPlace="Compartment" id="org.eclipse.papyrus.postaction.changeStereotypeDisplayProvider"/-->
+			</aspectTool>	
+		</drawer>
+	</content>
+</paletteDefinition>
diff --git a/plugins/org.polarsys.chess.chessmlprofile/palettes/Sequence-EFV.Palette.xml b/plugins/org.polarsys.chess.chessmlprofile/palettes/Sequence-EFV.Palette.xml
new file mode 100644
index 000000000..09c33f8fc
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/palettes/Sequence-EFV.Palette.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<paletteDefinition>
+	<content>
+	
+		<drawer iconpath="platform:/plugin/org.polarsys.chess.core/resources/CHESSicon.gif" id="CHESSSequenceDiagramPalette_Nodes" name="Nodes">
+			<aspectTool description="Create a Lifeline" iconpath="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Lifeline.gif" id="createLifeline1CreationTool_1329924064080" name="Lifeline" refToolId="createLifeline1CreationTool"/>
+			<!--aspectTool description="Create a constraint" iconpath="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Constraint.gif" id="createConstraint10CreationTool_1329924079584" name="Constraint" refToolId="createConstraint10CreationTool"/-->
+			<!--aspectTool description="Create a Time Observation" iconpath="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/TimeObservation.gif" id="createTimeObservation14CreationTool_1329924089424" name="Time Observation" refToolId="createTimeObservation14CreationTool"/-->
+		</drawer>
+		<drawer iconpath="platform:/plugin/org.polarsys.chess.core/resources/CHESSicon.gif" id="CHESSSequenceDiagramPalette_Edges" name="Edges">
+			<aspectTool description="Create MessageFound" iconpath="platform:/plugin/org.eclipse.papyrus.uml.diagram.sequence/icons/obj16/MessageFound.gif" id="createMessageFoundTool_1410449611774" name="Message Found" refToolId="createMessageFoundTool"/>
+			<aspectTool description="Create MessageAsync" iconpath="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Message_asynchCall.gif" id="createMessageAsync2CreationTool_1329924074090" name="Message Async" refToolId="createMessageAsync2CreationTool"/>
+			<!--aspectTool description="Create a constraint link" iconpath="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Constraint.gif" id="createConstraintlink10CreationTool_1329924084208" name="Constraint link" refToolId="createConstraintlink10CreationTool"/-->
+		</drawer>
+	
+	</content>
+</paletteDefinition>
\ No newline at end of file
diff --git a/plugins/org.polarsys.chess.chessmlprofile/palettes/StateMachineDiag-ErrorModel.Palette.xml b/plugins/org.polarsys.chess.chessmlprofile/palettes/StateMachineDiag-ErrorModel.Palette.xml
new file mode 100644
index 000000000..9cc6dcd67
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/palettes/StateMachineDiag-ErrorModel.Palette.xml
@@ -0,0 +1,118 @@
+<paletteDefinition>
+	<content>
+		<drawer iconpath="platform:/plugin/org.polarsys.chess.core/resources/CHESSicon.gif"
+			id="SM_ErrorModelDrawer__1317126136270" name="Error Model">
+			<aspectTool description="Initial"
+				iconpath="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Pseudostate_initial.gif"
+				id="createInitialCreationTool_1317125016987" name="Initial"
+				refToolId="createInitialCreationTool" />
+			<aspectTool description="Create an element with a stereotype"
+				iconpath="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Transition_local.gif"
+				id="createTransitionCreationTool_1317126191843" name="ExternalFault (Transition)"
+				refToolId="createTransitionCreationTool">
+				<postAction id="org.eclipse.papyrus.applystereotypeactionprovider">
+					<stereotypesToApply>
+						<stereotype
+							stereotypeName="CHESS::Dependability::ThreatsPropagation::ExternalFault" />
+					</stereotypesToApply>
+				</postAction>
+			</aspectTool>
+			<aspectTool description="Create an element with a stereotype"
+				iconpath="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Transition_local.gif"
+				id="createTransitionCreationTool_1317126216631" name="InternalFault (Transition)"
+				refToolId="createTransitionCreationTool">
+				<postAction id="org.eclipse.papyrus.applystereotypeactionprovider">
+					<stereotypesToApply>
+						<stereotype
+							stereotypeName="CHESS::Dependability::ThreatsPropagation::InternalFault" />
+					</stereotypesToApply>
+				</postAction>
+			</aspectTool>
+
+			<aspectTool description="Create an element with a stereotype"
+				iconpath="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Transition_local.gif"
+				id="createTransitionCreationTool_1317225825026" name="Propagation (Transition)"
+				refToolId="createTransitionCreationTool">
+				<postAction id="org.eclipse.papyrus.applystereotypeactionprovider">
+					<stereotypesToApply>
+						<stereotype
+							stereotypeName="CHESS::Dependability::DependableComponent::Propagation" />
+					</stereotypesToApply>
+				</postAction>
+			</aspectTool>
+
+
+			<aspectTool description="Create an element with a stereotype"
+				iconpath="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/State.gif"
+				id="createStateCreationTool_1317125014412_1317128380376" name="UnclassifiedError (State)"
+				refToolId="createStateCreationTool">
+				<postAction id="org.eclipse.papyrus.applystereotypeactionprovider">
+					<stereotypesToApply>
+						<stereotype
+							stereotypeName="CHESS::Dependability::ThreatsPropagation::UnclassifiedError" />
+					</stereotypesToApply>
+				</postAction>
+			</aspectTool>
+
+			<aspectTool description="Create an element with a stereotype"
+				iconpath="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/State.gif"
+				id="createStateCreationTool_1317125014412_1317126453052" name="Error (State)"
+				refToolId="createStateCreationTool">
+				<postAction id="org.eclipse.papyrus.applystereotypeactionprovider">
+					<stereotypesToApply>
+						<stereotype stereotypeName="CHESS::Dependability::ThreatsPropagation::Error" />
+					</stereotypesToApply>
+				</postAction>
+			</aspectTool>
+			<aspectTool description="Create an element with a stereotype"
+				iconpath="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/State.gif"
+				id="createStateCreationTool_1317125014412_1317128350603" name="ErrorFree (State)"
+				refToolId="createStateCreationTool">
+				<postAction id="org.eclipse.papyrus.applystereotypeactionprovider">
+					<stereotypesToApply>
+						<stereotype stereotypeName="CHESS::Dependability::ThreatsPropagation::ErrorFree" />
+					</stereotypesToApply>
+				</postAction>
+			</aspectTool>
+			<aspectTool description="Create an element with a stereotype"
+				iconpath="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/State.gif"
+				id="createStateCreationTool_1317125014412_1317128364963" name="FailureFree (State)"
+				refToolId="createStateCreationTool">
+				<postAction id="org.eclipse.papyrus.applystereotypeactionprovider">
+					<stereotypesToApply>
+						<stereotype
+							stereotypeName="CHESS::Dependability::ThreatsPropagation::FailureFree" />
+					</stereotypesToApply>
+				</postAction>
+			</aspectTool>
+			<aspectTool description="Create an element with a stereotype"
+				iconpath="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/State.gif"
+				id="createStateCreationTool_1317125014412_1317128368235" name="FailureMode (State)"
+				refToolId="createStateCreationTool">
+				<postAction id="org.eclipse.papyrus.applystereotypeactionprovider">
+					<stereotypesToApply>
+						<stereotype
+							stereotypeName="CHESS::Dependability::ThreatsPropagation::FailureMode" />
+					</stereotypesToApply>
+				</postAction>
+			</aspectTool>
+			<!--aspectTool description="Create an element with a stereotype" iconpath="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/State.gif" 
+				id="createStateCreationTool_1317125014412_1317128376004" name="ThreatState 
+				(State)" refToolId="createStateCreationTool"> <postAction id="org.eclipse.papyrus.applystereotypeactionprovider"> 
+				<stereotypesToApply> <stereotype stereotypeName="CHESS::Dependability::ThreatsPropagation::ThreatState" 
+				/> </stereotypesToApply> </postAction> </aspectTool -->
+
+			<aspectTool description="Create an element with a stereotype"
+				iconpath="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/State.gif"
+				id="createStateCreationTool_1317125014412_1317128385259" name="UnclassifiedFailure (State)"
+				refToolId="createStateCreationTool">
+				<postAction id="org.eclipse.papyrus.applystereotypeactionprovider">
+					<stereotypesToApply>
+						<stereotype
+							stereotypeName="CHESS::Dependability::ThreatsPropagation::UnclassifiedFailure" />
+					</stereotypesToApply>
+				</postAction>
+			</aspectTool>
+		</drawer>
+	</content>
+</paletteDefinition>
\ No newline at end of file
diff --git a/plugins/org.polarsys.chess.chessmlprofile/palettes/StateMachineDiag-FV.Palette.xml b/plugins/org.polarsys.chess.chessmlprofile/palettes/StateMachineDiag-FV.Palette.xml
new file mode 100644
index 000000000..cd7eb433c
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/palettes/StateMachineDiag-FV.Palette.xml
@@ -0,0 +1,27 @@
+<paletteDefinition>
+	<content>
+		<drawer iconpath="platform:/plugin/org.polarsys.chess.core/resources/CHESSicon.gif"
+			id="SM_FunctionalDrawer__1317124986519" name="Functional View">
+			<aspectTool description="State"
+				iconpath="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/State.gif"
+				id="createStateCreationTool_1317125014412" name="State"
+				refToolId="createStateCreationTool" />
+			<aspectTool description="Initial"
+				iconpath="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Pseudostate_initial.gif"
+				id="createInitialCreationTool_1317125016986" name="Initial"
+				refToolId="createInitialCreationTool" />
+			<aspectTool description="FinalState"
+				iconpath="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/FinalState.gif"
+				id="createFinalStateCreationTool_1317125020980" name="FinalState"
+				refToolId="createFinalStateCreationTool" />
+			<!--aspectTool description="Choice" iconpath="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Pseudostate_choice.gif" 
+				id="createChoiceCreationTool_1317125031260" name="Choice" refToolId="createChoiceCreationTool"/ -->
+			<!--aspectTool description="Junction" iconpath="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Pseudostate_junction.gif" 
+				id="createJunctionCreationTool_1317125035519" name="Junction" refToolId="createJunctionCreationTool"/ -->
+			<aspectTool description="Transition"
+				iconpath="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Transition_local.gif"
+				id="createTransitionCreationTool_1317125071228" name="Transition"
+				refToolId="createTransitionCreationTool" />
+		</drawer>
+	</content>
+</paletteDefinition>
\ No newline at end of file
diff --git a/plugins/org.polarsys.chess.chessmlprofile/plugin.properties b/plugins/org.polarsys.chess.chessmlprofile/plugin.properties
new file mode 100644
index 000000000..58bedab86
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/plugin.properties
@@ -0,0 +1,8 @@
+
+# <copyright>
+# </copyright>
+#
+# $Id$
+
+pluginName = MARTE Model
+providerName = www.example.org
diff --git a/plugins/org.polarsys.chess.chessmlprofile/plugin.xml b/plugins/org.polarsys.chess.chessmlprofile/plugin.xml
new file mode 100644
index 000000000..5259379bf
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/plugin.xml
@@ -0,0 +1,806 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+<plugin>
+   <extension
+         point="org.eclipse.emf.ecore.uri_mapping">
+      <mapping
+            source="pathmap://CHESSML_PROFILE/"
+            target="platform:/plugin/org.polarsys.chess.chessmlprofile/model/"/>
+   </extension>
+
+   
+   
+   
+   
+   <extension point="org.eclipse.emf.ecore.generated_package">
+      <package
+            uri="http://CHESS"
+            class="org.polarsys.chess.chessmlprofile.chessmlprofilePackage"
+            genModel="model/CHESS.genmodel"/>
+   </extension>
+   
+   <extension
+         point="org.eclipse.uml2.uml.generated_package">
+      <profile
+            location="pathmap://CHESSML_PROFILE/CHESS.profile.uml#_EA6IcDcwEd-mWLzcI61s7Q"
+            uri="http://CHESS">
+      </profile>
+   </extension>
+   
+   
+      
+   
+   <extension point="org.eclipse.emf.ecore.generated_package">
+      <package
+            uri="http://CHESS/Core"
+            class="org.polarsys.chess.chessmlprofile.Core.CorePackage"
+            genModel="model/CHESS.genmodel"/>
+   </extension>
+   
+   <extension
+         point="org.eclipse.uml2.uml.generated_package">
+      <profile
+            location="pathmap://CHESSML_PROFILE/CHESS.profile.uml#_ad4owDgVEd-68Z_bhNRGsA"
+            uri="http://CHESS/Core">
+      </profile>
+   </extension>
+
+   <extension point="org.eclipse.emf.ecore.extension_parser">
+      <parser
+            type="core"
+            class="org.polarsys.chess.chessmlprofile.Core.util.CoreResourceFactoryImpl"/>
+   </extension>
+
+   <extension point="org.eclipse.emf.ecore.generated_package">
+      <!-- @generated CHESS -->
+      <package
+            uri="http://CHESS"
+            class="org.polarsys.chess.chessmlprofile.chessmlprofilePackage"
+            genModel="model/CHESS.genmodel"/>
+   </extension>
+
+
+   <extension point="org.eclipse.emf.ecore.generated_package">
+      <!-- @generated CHESS -->
+      <package
+            uri="http://CHESS/Core"
+            class="org.polarsys.chess.chessmlprofile.Core.CorePackage"
+            genModel="model/CHESS.genmodel"/>
+   </extension>
+
+   <extension point="org.eclipse.emf.ecore.extension_parser">
+      <!-- @generated CHESS -->
+      <parser
+            type="core"
+            class="org.polarsys.chess.chessmlprofile.Core.util.CoreResourceFactoryImpl"/>
+   </extension>
+   <extension point="org.eclipse.emf.ecore.generated_package">
+      <package
+            uri="http://CHESS/Core/Views"
+            class="org.polarsys.chess.chessmlprofile.Core.CHESSViews.CHESSViewsPackage"
+            genModel="model/CHESS.genmodel"/>
+   </extension>
+
+   <extension point="org.eclipse.emf.ecore.extension_parser">
+      <!-- @generated CHESS -->
+      <parser
+            type="chessviews"
+            class="org.polarsys.chess.chessmlprofile.Core.CHESSViews.util.CHESSViewsResourceFactoryImpl"/>
+   </extension>
+   
+   <extension
+         point="org.eclipse.uml2.uml.generated_package">
+      <profile
+            location="pathmap://CHESSML_PROFILE/CHESS.profile.uml#_FttqgMJDEd-0jpzjleFnug"
+            uri="http://CHESS/Core/Views">
+      </profile>
+   </extension>
+
+   <extension point="org.eclipse.emf.ecore.extension_parser">
+      <parser
+            type="it.unipd.chess.chessmlprofileviews"
+            class="org.polarsys.chess.chessmlprofile.Core.CHESSViews.util.CHESSViewsResourceFactoryImpl"/>
+   </extension>
+
+   <extension point="org.eclipse.emf.ecore.generated_package">
+      <package
+            uri="http://CHESS/Dependability/FailurePropagation"
+            class="org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationPackage"
+            genModel="model/CHESS.genmodel"/>
+   </extension>
+
+   <extension point="org.eclipse.emf.ecore.extension_parser">
+      <!-- @generated CHESS -->
+      <parser
+            type="failurepropagation"
+            class="org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.util.FailurePropagationResourceFactoryImpl"/>
+   </extension>
+   
+   <extension
+         point="org.eclipse.uml2.uml.generated_package">
+      <profile
+            location="pathmap://CHESSML_PROFILE/CHESS.profile.uml#_hdOrwLwzEd-CDNLmLgazUQ"
+            uri="http://CHESS/Dependability/FailurePropagation">
+      </profile>
+   </extension>   
+
+   <extension point="org.eclipse.emf.ecore.extension_parser">
+      <parser
+            type="failurepropagation"
+            class="org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.util.FailurePropagationResourceFactoryImpl"/>
+   </extension>
+
+   <extension point="org.eclipse.emf.ecore.generated_package">
+      <package
+            uri="http:///CHESS/Dependability/FailurePropagation/FailurePropagationDataTypes.ecore"
+            class="org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.FailurePropagationDataTypesPackage"
+            genModel="model/CHESS.genmodel"/>
+   </extension>
+
+   <extension point="org.eclipse.emf.ecore.generated_package">
+      <package
+            uri="http://CHESS.DependabilitySecurity/schemas/DataFlowCallGraph/_QB3mMMe6Ed-7etIj5eTw0Q/8"
+            class="org.polarsys.chess.chessmlprofile.Dependability.DataFlowCallGraph.DataFlowCallGraphPackage"
+            genModel="model/CHESS.genmodel"/>
+   </extension>
+
+   <extension point="org.eclipse.emf.ecore.extension_parser">
+      <!-- @generated CHESS -->
+      <parser
+            type="dataflowcallgraph"
+            class="org.polarsys.chess.chessmlprofile.Dependability.DataFlowCallGraph.util.DataFlowCallGraphResourceFactoryImpl"/>
+   </extension>
+   
+   <extension
+         point="org.eclipse.uml2.uml.generated_package">
+      <profile
+            location="pathmap://CHESSML_PROFILE/CHESS.profile.uml#_zBudQLwzEd-CDNLmLgazUQ"
+            uri="http://CHESS.DependabilitySecurity/schemas/DataFlowCallGraph/_QB3mMMe6Ed-7etIj5eTw0Q/8">
+      </profile>
+   </extension>      
+
+   <extension point="org.eclipse.emf.ecore.extension_parser">
+      <parser
+            type="dataflowcallgraph"
+            class="org.polarsys.chess.chessmlprofile.Dependability.DataFlowCallGraph.util.DataFlowCallGraphResourceFactoryImpl"/>
+   </extension>
+
+   <extension point="org.eclipse.emf.ecore.generated_package">
+      <package
+            uri="http:///CHESS/Dependability/StateBased/StateBasedDataTypes.ecore"
+            class="org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.StateBasedDataTypesPackage"
+            genModel="model/CHESS.genmodel"/>
+   </extension>
+
+   <extension point="org.eclipse.emf.ecore.generated_package">
+      <package
+            uri="http://CHESS/Dependability/StateBased/StateBasedComponents"
+            class="org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StateBasedComponentsPackage"
+            genModel="model/CHESS.genmodel"/>
+   </extension>
+
+   <extension point="org.eclipse.emf.ecore.extension_parser">
+      <!-- @generated CHESS -->
+      <parser
+            type="statebasedcomponents"
+            class="org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.util.StateBasedComponentsResourceFactoryImpl"/>
+   </extension>
+   
+   <extension
+         point="org.eclipse.uml2.uml.generated_package">
+      <profile
+            location="pathmap://CHESSML_PROFILE/CHESS.profile.uml#_d50lQL86Ed-TL8tpOyViyA"
+            uri="http://CHESS/Dependability/StateBased/StateBasedComponents">
+      </profile>
+   </extension> 
+
+   <extension point="org.eclipse.emf.ecore.extension_parser">
+      <parser
+            type="statebasedcomponents"
+            class="org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.util.StateBasedComponentsResourceFactoryImpl"/>
+   </extension>
+
+   <extension point="org.eclipse.emf.ecore.generated_package">
+      <package
+            uri="http://CHESS/Dependability/StateBased/FaultTolerance"
+            class="org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.FaultTolerancePackage"
+            genModel="model/CHESS.genmodel"/>
+   </extension>
+
+   <extension point="org.eclipse.emf.ecore.extension_parser">
+      <!-- @generated CHESS -->
+      <parser
+            type="faulttolerance"
+            class="org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.util.FaultToleranceResourceFactoryImpl"/>
+   </extension>
+
+   <extension
+         point="org.eclipse.uml2.uml.generated_package">
+      <profile
+            location="pathmap://CHESSML_PROFILE/CHESS.profile.uml#_mbqqgL86Ed-TL8tpOyViyA"
+            uri="http://CHESS/Dependability/StateBased/FaultTolerance">
+      </profile>
+   </extension> 
+   
+   <extension point="org.eclipse.emf.ecore.extension_parser">
+      <parser
+            type="faulttolerance"
+            class="org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.util.FaultToleranceResourceFactoryImpl"/>
+   </extension>
+
+   <extension point="org.eclipse.emf.ecore.generated_package">
+      <package
+            uri="http://CHESS/Dependability/StateBased/MaintenanceMonitoring"
+            class="org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.MaintenanceMonitoringPackage"
+            genModel="model/CHESS.genmodel"/>
+   </extension>
+
+   <extension point="org.eclipse.emf.ecore.extension_parser">
+      <!-- @generated CHESS -->
+      <parser
+            type="maintenancemonitoring"
+            class="org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.util.MaintenanceMonitoringResourceFactoryImpl"/>
+   </extension>
+   
+   <extension
+         point="org.eclipse.uml2.uml.generated_package">
+      <profile
+            location="pathmap://CHESSML_PROFILE/CHESS.profile.uml#_oUVxcL88Ed-TL8tpOyViyA"
+            uri="http://CHESS/Dependability/StateBased/MaintenanceMonitoring">
+      </profile>
+   </extension> 
+
+   <extension point="org.eclipse.emf.ecore.extension_parser">
+      <parser
+            type="maintenancemonitoring"
+            class="org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.util.MaintenanceMonitoringResourceFactoryImpl"/>
+   </extension>
+
+   <extension point="org.eclipse.emf.ecore.generated_package">
+      <package
+            uri="http://CHESS/Dependability/StateBased/StateBasedAnalysis"
+            class="org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.StateBasedAnalysisPackage"
+            genModel="model/CHESS.genmodel"/>
+   </extension>
+
+   <extension point="org.eclipse.emf.ecore.extension_parser">
+      <!-- @generated CHESS -->
+      <parser
+            type="statebasedanalysis"
+            class="org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.util.StateBasedAnalysisResourceFactoryImpl"/>
+   </extension>
+   
+   <extension
+         point="org.eclipse.uml2.uml.generated_package">
+      <profile
+            location="pathmap://CHESSML_PROFILE/CHESS.profile.uml#_Wgxh0L8_Ed-TL8tpOyViyA"
+            uri="http://CHESS/Dependability/StateBased/StateBasedAnalysis">
+      </profile>
+   </extension> 
+
+   <extension point="org.eclipse.emf.ecore.extension_parser">
+      <parser
+            type="statebasedanalysis"
+            class="org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.util.StateBasedAnalysisResourceFactoryImpl"/>
+   </extension>
+
+   <extension point="org.eclipse.emf.ecore.generated_package">
+      <package
+            uri="http://CHESS/Dependability/DependableComponent"
+            class="org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.DependableComponentPackage"
+            genModel="model/CHESS.genmodel"/>
+   </extension>
+
+   <extension point="org.eclipse.emf.ecore.extension_parser">
+      <!-- @generated CHESS -->
+      <parser
+            type="dependablecomponent"
+            class="org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.util.DependableComponentResourceFactoryImpl"/>
+   </extension>
+   
+   <extension
+         point="org.eclipse.uml2.uml.generated_package">
+      <profile
+            location="pathmap://CHESSML_PROFILE/CHESS.profile.uml#_uNKOgDQ2EeC0ueejuetpgA"
+            uri="http://CHESS/Dependability/DependableComponent">
+      </profile>
+   </extension> 
+
+   <extension point="org.eclipse.emf.ecore.extension_parser">
+      <parser
+            type="dependablecomponent"
+            class="org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.util.DependableComponentResourceFactoryImpl"/>
+   </extension>
+
+   <extension point="org.eclipse.emf.ecore.generated_package">
+      <package
+            uri="http://CHESS/Dependability/ThreatsPropagation"
+            class="org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatsPropagationPackage"
+            genModel="model/CHESS.genmodel"/>
+   </extension>
+
+   <extension point="org.eclipse.emf.ecore.extension_parser">
+      <!-- @generated CHESS -->
+      <parser
+            type="threatspropagation"
+            class="org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.util.ThreatsPropagationResourceFactoryImpl"/>
+   </extension>
+   
+   <extension
+         point="org.eclipse.uml2.uml.generated_package">
+      <profile
+            location="pathmap://CHESSML_PROFILE/CHESS.profile.uml#_5g4wEDQ3EeC0ueejuetpgA"
+            uri="http://CHESS/Dependability/ThreatsPropagation">
+      </profile>
+   </extension> 
+
+   <extension point="org.eclipse.emf.ecore.extension_parser">
+      <parser
+            type="threatspropagation"
+            class="org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.util.ThreatsPropagationResourceFactoryImpl"/>
+   </extension>
+
+   <extension point="org.eclipse.emf.ecore.generated_package">
+      <package
+            uri="http://CHESS.Dependability/schemas/FMEA/_wfALMFrLEeCvGuvlF-wh1g/9"
+            class="org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEAPackage"
+            genModel="model/CHESS.genmodel"/>
+   </extension>
+
+   <extension point="org.eclipse.emf.ecore.extension_parser">
+      <!-- @generated CHESS -->
+      <parser
+            type="fmea"
+            class="org.polarsys.chess.chessmlprofile.Dependability.FMEA.util.FMEAResourceFactoryImpl"/>
+   </extension>
+   
+   <extension
+         point="org.eclipse.uml2.uml.generated_package">
+      <profile
+            location="pathmap://CHESSML_PROFILE/CHESS.profile.uml#_Z59uoLwzEd-CDNLmLgazUQ"
+            uri="http://CHESS.Dependability/schemas/FMEA/_wfALMFrLEeCvGuvlF-wh1g/9">
+      </profile>
+   </extension> 
+
+   <extension point="org.eclipse.emf.ecore.extension_parser">
+      <parser
+            type="fmea"
+            class="org.polarsys.chess.chessmlprofile.Dependability.FMEA.util.FMEAResourceFactoryImpl"/>
+   </extension>
+
+   <extension point="org.eclipse.emf.ecore.generated_package">
+      <package
+            uri="http:///CHESS/Dependability/FMEA/FMEADataTypes.ecore"
+            class="org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEADataTypes.FMEADataTypesPackage"
+            genModel="model/CHESS.genmodel"/>
+   </extension>
+
+   <extension point="org.eclipse.emf.ecore.generated_package">
+      <!-- @generated CHESS -->
+      <package
+            uri="http://CHESS.Dependability/MitigationMeans"
+            class="org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans.MitigationMeansPackage"
+            genModel="model/CHESS.genmodel"/>
+   </extension>
+
+   <extension point="org.eclipse.emf.ecore.generated_package">
+      <package
+            uri="http://CHESS.Predictability/schemas/TimingAnaylsis/_SGMOYMe6Ed-7etIj5eTw0Q/8"
+            class="org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingAnalysisPackage"
+            genModel="model/CHESS.genmodel"/>
+   </extension>
+
+   <extension point="org.eclipse.emf.ecore.extension_parser">
+      <!-- @generated CHESS -->
+      <parser
+            type="timinganalysis"
+            class="org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.util.TimingAnalysisResourceFactoryImpl"/>
+   </extension>
+   
+   <extension
+         point="org.eclipse.uml2.uml.generated_package">
+      <profile
+            location="pathmap://CHESSML_PROFILE/CHESS.profile.uml#_u88ZMLwzEd-CDNLmLgazUQ"
+            uri="http://CHESS.Predictability/schemas/TimingAnaylsis/_SGMOYMe6Ed-7etIj5eTw0Q/8">
+      </profile>
+   </extension> 
+   
+
+   <extension point="org.eclipse.emf.ecore.extension_parser">
+      <parser
+            type="timinganalysis"
+            class="org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.util.TimingAnalysisResourceFactoryImpl"/>
+   </extension>
+
+   <extension point="org.eclipse.emf.ecore.generated_package">
+      <package
+            uri="http://CHESS.Predictability.TimingAnaylsis/schemas/TimingConstraints/_ShUEIMe6Ed-7etIj5eTw0Q/8"
+            class="org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.TimingConstraintsPackage"
+            genModel="model/CHESS.genmodel"/>
+   </extension>
+
+   <extension point="org.eclipse.emf.ecore.extension_parser">
+      <!-- @generated CHESS -->
+      <parser
+            type="timingconstraints"
+            class="org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.util.TimingConstraintsResourceFactoryImpl"/>
+   </extension>
+   
+   <extension
+         point="org.eclipse.uml2.uml.generated_package">
+      <profile
+            location="pathmap://CHESSML_PROFILE/CHESS.profile.uml#_dyWJQMF0Ed--atLXXafOiQ"
+            uri="http://CHESS.Predictability.TimingAnaylsis/schemas/TimingConstraints/_ShUEIMe6Ed-7etIj5eTw0Q/8">
+      </profile>
+   </extension> 
+
+   <extension point="org.eclipse.emf.ecore.extension_parser">
+      <parser
+            type="timingconstraints"
+            class="org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.util.TimingConstraintsResourceFactoryImpl"/>
+   </extension>
+
+   <!--extension point="org.eclipse.emf.ecore.generated_package">
+      <package
+            uri="http:///CHESS/Predictability/DeploymentConfiguration/HwDataTypes.ecore"
+            class="it.unipd.chess.chessmlprofile.Predictability.DeploymentConfiguration.HwDataTypes.HwDataTypesPackage"
+            genModel="model/CHESS.genmodel"/>
+   </extension-->
+
+   <extension point="org.eclipse.emf.ecore.generated_package">
+      <package
+            uri="http://CHESS/Predictability/DeploymentConfiguration/HardwareBaseline"
+            class="org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HardwareBaselinePackage"
+            genModel="model/CHESS.genmodel"/>
+   </extension>
+
+   <extension point="org.eclipse.emf.ecore.extension_parser">
+      <!-- @generated CHESS -->
+      <parser
+            type="hardwarebaseline"
+            class="org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.util.HardwareBaselineResourceFactoryImpl"/>
+   </extension>
+   
+   <extension
+         point="org.eclipse.uml2.uml.generated_package">
+      <profile
+            location="pathmap://CHESSML_PROFILE/CHESS.profile.uml#_1TsX8MCpEd-RT45s8cwWMg"
+            uri="http://CHESS/Predictability/DeploymentConfiguration/HardwareBaseline">
+      </profile>
+   </extension> 
+
+   <extension point="org.eclipse.emf.ecore.extension_parser">
+      <parser
+            type="hardwarebaseline"
+            class="org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.util.HardwareBaselineResourceFactoryImpl"/>
+   </extension>
+
+   <extension point="org.eclipse.emf.ecore.generated_package">
+      <package
+            uri="http://CHESS/Predictability/DeploymentConfiguration/DeploymentConfAnalysis"
+            class="org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.DeploymentConfAnalysisPackage"
+            genModel="model/CHESS.genmodel"/>
+   </extension>
+
+   <extension point="org.eclipse.emf.ecore.extension_parser">
+      <!-- @generated CHESS -->
+      <parser
+            type="deploymentconfanalysis"
+            class="org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.util.DeploymentConfAnalysisResourceFactoryImpl"/>
+   </extension>
+   
+   <extension
+         point="org.eclipse.uml2.uml.generated_package">
+      <profile
+            location="pathmap://CHESSML_PROFILE/CHESS.profile.uml#_1xBQUMCtEd-RT45s8cwWMg"
+            uri="http://CHESS/Predictability/DeploymentConfiguration/DeploymentConfAnalysis">
+      </profile>
+   </extension> 
+
+   <extension point="org.eclipse.emf.ecore.extension_parser">
+      <parser
+            type="deploymentconfanalysis"
+            class="org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.util.DeploymentConfAnalysisResourceFactoryImpl"/>
+   </extension>
+
+   <extension point="org.eclipse.emf.ecore.generated_package">
+      <package
+            uri="http://CHESS/Predictability/RTComponentModel"
+            class="org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTComponentModelPackage"
+            genModel="model/CHESS.genmodel"/>
+   </extension>
+
+   <extension point="org.eclipse.emf.ecore.extension_parser">
+      <!-- @generated CHESS -->
+      <parser
+            type="rtcomponentmodel"
+            class="org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.util.RTComponentModelResourceFactoryImpl"/>
+   </extension>
+   
+   <extension
+         point="org.eclipse.uml2.uml.generated_package">
+      <profile
+            location="pathmap://CHESSML_PROFILE/CHESS.profile.uml#_WgatoDgVEd-68Z_bhNRGsA"
+            uri="http://CHESS/Predictability/RTComponentModel">
+      </profile>
+   </extension> 
+
+   <extension point="org.eclipse.emf.ecore.extension_parser">
+      <parser
+            type="rtcomponentmodel"
+            class="org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.util.RTComponentModelResourceFactoryImpl"/>
+   </extension>
+
+   <extension point="org.eclipse.emf.ecore.generated_package">
+      <package
+            uri="http:///CHESS/Predictability/RTComponentModel/RTDataTypes.ecore"
+            class="org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.RTDataTypesPackage"
+            genModel="model/CHESS.genmodel"/>
+   </extension>
+
+   <extension point="org.eclipse.emf.ecore.generated_package">
+      <package
+            uri="http://CHESS/ComponentModel"
+            class="org.polarsys.chess.chessmlprofile.ComponentModel.ComponentModelPackage"
+            genModel="model/CHESS.genmodel"/>
+   </extension>
+
+   <extension point="org.eclipse.emf.ecore.extension_parser">
+      <!-- @generated CHESS -->
+      <parser
+            type="componentmodel"
+            class="org.polarsys.chess.chessmlprofile.ComponentModel.util.ComponentModelResourceFactoryImpl"/>
+   </extension>
+   
+   <extension
+         point="org.eclipse.uml2.uml.generated_package">
+      <profile
+            location="pathmap://CHESSML_PROFILE/CHESS.profile.uml#_MftccDQ2EeC0ueejuetpgA"
+            uri="http://CHESS/ComponentModel">
+      </profile>
+   </extension> 
+
+   <extension point="org.eclipse.emf.ecore.extension_parser">
+      <parser
+            type="componentmodel"
+            class="org.polarsys.chess.chessmlprofile.ComponentModel.util.ComponentModelResourceFactoryImpl"/>
+   </extension>
+   
+   
+   
+   
+   <extension
+         point="org.eclipse.uml2.uml.generated_package">
+      <profile
+            location="pathmap://CHESSML_PROFILE/CHESS.profile.uml#_kJICMFiIEeGbwa2cK55fPQ"
+            uri="http://CHESS.Dependability/MitigationMeans">
+      </profile>
+   </extension> 
+   
+   <extension point="org.eclipse.emf.ecore.generated_package">
+      <package
+            uri="http://CHESS.Dependability/MitigationMeans"
+            class="org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans.MitigationMeansPackage"
+            genModel="model/CHESS.genmodel"/>
+   </extension>
+   <extension point="org.eclipse.emf.ecore.extension_parser">
+      <parser
+            type="mitigationmeans"
+            class="org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans.util.MitigationMeansResourceFactoryImpl"/>
+   </extension>  
+
+	
+	<extension
+         point="org.eclipse.papyrus.uml.diagram.common.paletteDefinition">
+      <paletteDefinition
+            ID="ClassDiagram-FV-Palette"
+            class="org.eclipse.papyrus.uml.diagram.common.service.PluginPaletteProvider"
+            icon="/icons/CHESSicon.gif"
+            name="ClassDiagram-FV-Palette"
+            path="/palettes/ClassDiag-FV.Palette.xml">
+         <Priority
+               name="Highest">
+         </Priority>
+         <editor
+               id="org.eclipse.papyrus.uml.diagram.clazz">
+         </editor>
+      </paletteDefinition>
+   </extension>
+   
+   <extension
+         point="org.eclipse.papyrus.uml.diagram.common.paletteDefinition">
+      <paletteDefinition
+            ID="CSD-FV-Palette"
+            class="org.eclipse.papyrus.uml.diagram.common.service.PluginPaletteProvider"
+            icon="/icons/CHESSicon.gif"
+            name="CSD_FV-Palette"
+            path="/palettes/CompositeDiag-FV.Palette.xml">
+         <Priority
+               name="Highest">
+         </Priority>
+         <editor
+               id="org.eclipse.papyrus.uml.diagram.composite">
+         </editor>
+      </paletteDefinition>
+   </extension>
+   
+    <extension
+         point="org.eclipse.papyrus.uml.diagram.common.paletteDefinition">
+      <paletteDefinition
+            ID="CSD-FV-RT-Palette"
+            class="org.eclipse.papyrus.uml.diagram.common.service.PluginPaletteProvider"
+            icon="/icons/CHESSicon.gif"
+            name="CSD_FV_RT-Palette"
+            path="/palettes/CompositeDiag-EFV-RT.Palette.xml">
+         <Priority
+               name="Highest">
+         </Priority>
+         <editor
+               id="org.eclipse.papyrus.uml.diagram.composite">
+         </editor>
+      </paletteDefinition>
+   </extension>
+   
+   <extension
+         point="org.eclipse.papyrus.uml.diagram.common.paletteDefinition">
+      <paletteDefinition
+            ID="AD-FV-Palette"
+            class="org.eclipse.papyrus.uml.diagram.common.service.PluginPaletteProvider"
+            icon="/icons/CHESSicon.gif"
+            name="AD_FV-Palette"
+            path="/palettes/Activity-FV.Palette.xml">
+         <Priority
+               name="Highest">
+         </Priority>
+         <editor
+               id="org.eclipse.papyrus.uml.diagram.activity">
+         </editor>
+      </paletteDefinition>
+   </extension>
+   
+   <extension
+         point="org.eclipse.papyrus.uml.diagram.common.paletteDefinition">
+      <paletteDefinition
+            ID="CSD-Deployment-Palette"
+            class="org.eclipse.papyrus.uml.diagram.common.service.PluginPaletteProvider"
+            icon="/icons/CHESSicon.gif"
+            name="CSD_Deployment-Palette"
+            path="/palettes/CompositeDiag-Deployment.Palette.xml">
+         <Priority
+               name="Highest">
+         </Priority>
+         <editor
+               id="org.eclipse.papyrus.uml.diagram.composite">
+         </editor>
+      </paletteDefinition>
+   </extension>
+   
+   <extension
+         point="org.eclipse.papyrus.uml.diagram.common.paletteDefinition">
+      <paletteDefinition
+            ID="CD-Deployment-Palette"
+            class="org.eclipse.papyrus.uml.diagram.common.service.PluginPaletteProvider"
+            icon="/icons/CHESSicon.gif"
+            name="CD_Deployment-Palette"
+            path="/palettes/ClassDiag-Deployment.Palette.xml">
+         <Priority
+               name="Highest">
+         </Priority>
+         <editor
+               id="org.eclipse.papyrus.uml.diagram.clazz">
+         </editor>
+      </paletteDefinition>
+   </extension>
+   
+   <extension
+         point="org.eclipse.papyrus.uml.diagram.common.paletteDefinition">
+      <paletteDefinition
+            ID="SM-FunctionalView-Palette"
+            class="org.eclipse.papyrus.uml.diagram.common.service.PluginPaletteProvider"
+            icon="/icons/CHESSicon.gif"
+            name="SM-FunctionalView-Palette"
+            path="/palettes/StateMachineDiag-FV.Palette.xml">
+         <Priority
+               name="Highest">
+         </Priority>
+         <editor
+               id="org.eclipse.papyrus.uml.diagram.statemachine">
+         </editor>
+      </paletteDefinition>
+   </extension>
+   
+   <extension
+         point="org.eclipse.papyrus.uml.diagram.common.paletteDefinition">
+      <paletteDefinition
+            ID="SM-ErrorModel-Palette"
+            class="org.eclipse.papyrus.uml.diagram.common.service.PluginPaletteProvider"
+            icon="/icons/CHESSicon.gif"
+            name="SM-ErrorModel-Palette"
+            path="/palettes/StateMachineDiag-ErrorModel.Palette.xml">
+         <Priority
+               name="Highest">
+         </Priority>
+         <editor
+               id="org.eclipse.papyrus.uml.diagram.statemachine">
+         </editor>
+      </paletteDefinition>
+   </extension>
+
+	<extension
+         point="org.eclipse.papyrus.uml.diagram.common.paletteDefinition">
+      <paletteDefinition
+            ID="CD-Analysis-Palette"
+            class="org.eclipse.papyrus.uml.diagram.common.service.PluginPaletteProvider"
+            icon="/icons/CHESSicon.gif"
+            name="CD-Analysis-Palette"
+            path="/palettes/ClassDiag-DependAnalysis.Palette.xml">
+         <Priority
+               name="Highest">
+         </Priority>
+         <editor
+               id="org.eclipse.papyrus.uml.diagram.clazz">
+         </editor>
+      </paletteDefinition>
+   </extension>
+   
+   <extension
+         point="org.eclipse.papyrus.uml.diagram.common.paletteDefinition">
+      <paletteDefinition
+            ID="CSD-FPTC-Palette"
+            class="org.eclipse.papyrus.uml.diagram.common.service.PluginPaletteProvider"
+            icon="/icons/CHESSicon.gif"
+            name="CSD-FPTC-Palette"
+            path="/palettes/CompositeDiag-EFV-FPTC.Palette.xml">
+         <Priority
+               name="Highest">
+         </Priority>
+         <editor
+               id="org.eclipse.papyrus.uml.diagram.composite">
+         </editor>
+      </paletteDefinition>
+   </extension>
+   
+   <extension
+         point="org.eclipse.papyrus.uml.diagram.common.paletteDefinition">
+      <paletteDefinition
+            ID="CSD-Railway-Palette"
+            class="org.eclipse.papyrus.uml.diagram.common.service.PluginPaletteProvider"
+            icon="/icons/CHESSicon.gif"
+            name="CSD-Railway-Palette"
+            path="/palettes/CompositeDiag-RailwayView.Palette.xml">
+         <Priority
+               name="Highest">
+         </Priority>
+         <editor
+               id="org.eclipse.papyrus.uml.diagram.composite">
+         </editor>
+      </paletteDefinition>
+   </extension>
+   
+   <extension
+         point="org.eclipse.papyrus.uml.diagram.common.paletteDefinition">
+      <paletteDefinition
+            ID="SeqDiagram-EFV-Palette"
+            class="org.eclipse.papyrus.uml.diagram.common.service.PluginPaletteProvider"
+            icon="/icons/CHESSicon.gif"
+            name="SeqDiagram-EFV-Palette"
+            path="/palettes/Sequence-EFV.Palette.xml">
+         <Priority
+               name="Highest">
+         </Priority>
+         <editor
+               id="org.eclipse.papyrus.uml.diagram.sequence">
+         </editor>
+      </paletteDefinition>
+   </extension>
+   <extension
+         point="org.eclipse.papyrus.uml.extensionpoints.UMLProfile">
+      <profile
+            description="UML, MARTE and SysML profile for CHESS (v0.2)"
+            iconpath="icons/CHESSicon.gif"
+            name="CHESS"
+            path="pathmap://CHESSML_PROFILE/CHESS.profile.uml"
+            provider="CHESS EDT">
+      </profile>
+   </extension>
+</plugin>
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/ComponentModel/ComponentImplementation.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/ComponentModel/ComponentImplementation.java
new file mode 100644
index 000000000..845f773f3
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/ComponentModel/ComponentImplementation.java
@@ -0,0 +1,134 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.ComponentModel;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.uml2.uml.Component;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Component Implementation</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.ComponentModel.ComponentImplementation#getBase_Component <em>Base Component</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.ComponentModel.ComponentImplementation#getLanguage <em>Language</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.ComponentModel.ComponentImplementation#getOS <em>OS</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.ComponentModel.ComponentImplementation#getSourceCodeLocation <em>Source Code Location</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.polarsys.chess.chessmlprofile.ComponentModel.ComponentModelPackage#getComponentImplementation()
+ * @model
+ * @generated
+ */
+public interface ComponentImplementation extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Base Component</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Component</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Base Component</em>' reference.
+	 * @see #setBase_Component(Component)
+	 * @see org.polarsys.chess.chessmlprofile.ComponentModel.ComponentModelPackage#getComponentImplementation_Base_Component()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	Component getBase_Component();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.ComponentModel.ComponentImplementation#getBase_Component <em>Base Component</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Base Component</em>' reference.
+	 * @see #getBase_Component()
+	 * @generated
+	 */
+	void setBase_Component(Component value);
+
+	/**
+	 * Returns the value of the '<em><b>Language</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Language</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Language</em>' attribute.
+	 * @see #setLanguage(String)
+	 * @see org.polarsys.chess.chessmlprofile.ComponentModel.ComponentModelPackage#getComponentImplementation_Language()
+	 * @model dataType="org.eclipse.uml2.types.String" ordered="false"
+	 * @generated
+	 */
+	String getLanguage();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.ComponentModel.ComponentImplementation#getLanguage <em>Language</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Language</em>' attribute.
+	 * @see #getLanguage()
+	 * @generated
+	 */
+	void setLanguage(String value);
+
+	/**
+	 * Returns the value of the '<em><b>OS</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>OS</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>OS</em>' attribute.
+	 * @see #setOS(String)
+	 * @see org.polarsys.chess.chessmlprofile.ComponentModel.ComponentModelPackage#getComponentImplementation_OS()
+	 * @model dataType="org.eclipse.uml2.types.String" ordered="false"
+	 * @generated
+	 */
+	String getOS();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.ComponentModel.ComponentImplementation#getOS <em>OS</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>OS</em>' attribute.
+	 * @see #getOS()
+	 * @generated
+	 */
+	void setOS(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Source Code Location</b></em>' attribute list.
+	 * The list contents are of type {@link java.lang.String}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Source Code Location</em>' attribute list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Source Code Location</em>' attribute list.
+	 * @see org.polarsys.chess.chessmlprofile.ComponentModel.ComponentModelPackage#getComponentImplementation_SourceCodeLocation()
+	 * @model dataType="org.eclipse.uml2.types.String" ordered="false"
+	 * @generated
+	 */
+	EList<String> getSourceCodeLocation();
+
+} // ComponentImplementation
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/ComponentModel/ComponentModelFactory.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/ComponentModel/ComponentModelFactory.java
new file mode 100644
index 000000000..7b8d47dbb
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/ComponentModel/ComponentModelFactory.java
@@ -0,0 +1,60 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.ComponentModel;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.ComponentModel.ComponentModelPackage
+ * @generated
+ */
+public interface ComponentModelFactory extends EFactory {
+	/**
+	 * The singleton instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	ComponentModelFactory eINSTANCE = org.polarsys.chess.chessmlprofile.ComponentModel.impl.ComponentModelFactoryImpl.init();
+
+	/**
+	 * Returns a new object of class '<em>Component Type</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Component Type</em>'.
+	 * @generated
+	 */
+	ComponentType createComponentType();
+
+	/**
+	 * Returns a new object of class '<em>Component Implementation</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Component Implementation</em>'.
+	 * @generated
+	 */
+	ComponentImplementation createComponentImplementation();
+
+	/**
+	 * Returns the package supported by this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the package supported by this factory.
+	 * @generated
+	 */
+	ComponentModelPackage getComponentModelPackage();
+
+} //ComponentModelFactory
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/ComponentModel/ComponentModelPackage.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/ComponentModel/ComponentModelPackage.java
new file mode 100644
index 000000000..10d6b0ecd
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/ComponentModel/ComponentModelPackage.java
@@ -0,0 +1,310 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.ComponentModel;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ *   <li>each class,</li>
+ *   <li>each feature of each class,</li>
+ *   <li>each enum,</li>
+ *   <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.ComponentModel.ComponentModelFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface ComponentModelPackage extends EPackage {
+	/**
+	 * The package name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNAME = "ComponentModel";
+
+	/**
+	 * The package namespace URI.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_URI = "http://CHESS/ComponentModel";
+
+	/**
+	 * The package namespace name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_PREFIX = "ComponentModel";
+
+	/**
+	 * The singleton instance of the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	ComponentModelPackage eINSTANCE = org.polarsys.chess.chessmlprofile.ComponentModel.impl.ComponentModelPackageImpl.init();
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.ComponentModel.impl.ComponentTypeImpl <em>Component Type</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.ComponentModel.impl.ComponentTypeImpl
+	 * @see org.polarsys.chess.chessmlprofile.ComponentModel.impl.ComponentModelPackageImpl#getComponentType()
+	 * @generated
+	 */
+	int COMPONENT_TYPE = 0;
+
+	/**
+	 * The feature id for the '<em><b>Base Component</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMPONENT_TYPE__BASE_COMPONENT = 0;
+
+	/**
+	 * The number of structural features of the '<em>Component Type</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMPONENT_TYPE_FEATURE_COUNT = 1;
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.ComponentModel.impl.ComponentImplementationImpl <em>Component Implementation</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.ComponentModel.impl.ComponentImplementationImpl
+	 * @see org.polarsys.chess.chessmlprofile.ComponentModel.impl.ComponentModelPackageImpl#getComponentImplementation()
+	 * @generated
+	 */
+	int COMPONENT_IMPLEMENTATION = 1;
+
+	/**
+	 * The feature id for the '<em><b>Base Component</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMPONENT_IMPLEMENTATION__BASE_COMPONENT = 0;
+
+	/**
+	 * The feature id for the '<em><b>Language</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMPONENT_IMPLEMENTATION__LANGUAGE = 1;
+
+	/**
+	 * The feature id for the '<em><b>OS</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMPONENT_IMPLEMENTATION__OS = 2;
+
+	/**
+	 * The feature id for the '<em><b>Source Code Location</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMPONENT_IMPLEMENTATION__SOURCE_CODE_LOCATION = 3;
+
+	/**
+	 * The number of structural features of the '<em>Component Implementation</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMPONENT_IMPLEMENTATION_FEATURE_COUNT = 4;
+
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.chessmlprofile.ComponentModel.ComponentType <em>Component Type</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Component Type</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.ComponentModel.ComponentType
+	 * @generated
+	 */
+	EClass getComponentType();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.polarsys.chess.chessmlprofile.ComponentModel.ComponentType#getBase_Component <em>Base Component</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Base Component</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.ComponentModel.ComponentType#getBase_Component()
+	 * @see #getComponentType()
+	 * @generated
+	 */
+	EReference getComponentType_Base_Component();
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.chessmlprofile.ComponentModel.ComponentImplementation <em>Component Implementation</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Component Implementation</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.ComponentModel.ComponentImplementation
+	 * @generated
+	 */
+	EClass getComponentImplementation();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.polarsys.chess.chessmlprofile.ComponentModel.ComponentImplementation#getBase_Component <em>Base Component</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Base Component</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.ComponentModel.ComponentImplementation#getBase_Component()
+	 * @see #getComponentImplementation()
+	 * @generated
+	 */
+	EReference getComponentImplementation_Base_Component();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.ComponentModel.ComponentImplementation#getLanguage <em>Language</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Language</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.ComponentModel.ComponentImplementation#getLanguage()
+	 * @see #getComponentImplementation()
+	 * @generated
+	 */
+	EAttribute getComponentImplementation_Language();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.ComponentModel.ComponentImplementation#getOS <em>OS</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>OS</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.ComponentModel.ComponentImplementation#getOS()
+	 * @see #getComponentImplementation()
+	 * @generated
+	 */
+	EAttribute getComponentImplementation_OS();
+
+	/**
+	 * Returns the meta object for the attribute list '{@link org.polarsys.chess.chessmlprofile.ComponentModel.ComponentImplementation#getSourceCodeLocation <em>Source Code Location</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute list '<em>Source Code Location</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.ComponentModel.ComponentImplementation#getSourceCodeLocation()
+	 * @see #getComponentImplementation()
+	 * @generated
+	 */
+	EAttribute getComponentImplementation_SourceCodeLocation();
+
+	/**
+	 * Returns the factory that creates the instances of the model.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the factory that creates the instances of the model.
+	 * @generated
+	 */
+	ComponentModelFactory getComponentModelFactory();
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * Defines literals for the meta objects that represent
+	 * <ul>
+	 *   <li>each class,</li>
+	 *   <li>each feature of each class,</li>
+	 *   <li>each enum,</li>
+	 *   <li>and each data type</li>
+	 * </ul>
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	interface Literals {
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.ComponentModel.impl.ComponentTypeImpl <em>Component Type</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.ComponentModel.impl.ComponentTypeImpl
+		 * @see org.polarsys.chess.chessmlprofile.ComponentModel.impl.ComponentModelPackageImpl#getComponentType()
+		 * @generated
+		 */
+		EClass COMPONENT_TYPE = eINSTANCE.getComponentType();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Component</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference COMPONENT_TYPE__BASE_COMPONENT = eINSTANCE.getComponentType_Base_Component();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.ComponentModel.impl.ComponentImplementationImpl <em>Component Implementation</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.ComponentModel.impl.ComponentImplementationImpl
+		 * @see org.polarsys.chess.chessmlprofile.ComponentModel.impl.ComponentModelPackageImpl#getComponentImplementation()
+		 * @generated
+		 */
+		EClass COMPONENT_IMPLEMENTATION = eINSTANCE.getComponentImplementation();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Component</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference COMPONENT_IMPLEMENTATION__BASE_COMPONENT = eINSTANCE.getComponentImplementation_Base_Component();
+
+		/**
+		 * The meta object literal for the '<em><b>Language</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute COMPONENT_IMPLEMENTATION__LANGUAGE = eINSTANCE.getComponentImplementation_Language();
+
+		/**
+		 * The meta object literal for the '<em><b>OS</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute COMPONENT_IMPLEMENTATION__OS = eINSTANCE.getComponentImplementation_OS();
+
+		/**
+		 * The meta object literal for the '<em><b>Source Code Location</b></em>' attribute list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute COMPONENT_IMPLEMENTATION__SOURCE_CODE_LOCATION = eINSTANCE.getComponentImplementation_SourceCodeLocation();
+
+	}
+
+} //ComponentModelPackage
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/ComponentModel/ComponentType.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/ComponentModel/ComponentType.java
new file mode 100644
index 000000000..c2516d2f7
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/ComponentModel/ComponentType.java
@@ -0,0 +1,61 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.ComponentModel;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.uml2.uml.Component;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Component Type</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.ComponentModel.ComponentType#getBase_Component <em>Base Component</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.polarsys.chess.chessmlprofile.ComponentModel.ComponentModelPackage#getComponentType()
+ * @model
+ * @generated
+ */
+public interface ComponentType extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Base Component</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Component</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Base Component</em>' reference.
+	 * @see #setBase_Component(Component)
+	 * @see org.polarsys.chess.chessmlprofile.ComponentModel.ComponentModelPackage#getComponentType_Base_Component()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	Component getBase_Component();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.ComponentModel.ComponentType#getBase_Component <em>Base Component</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Base Component</em>' reference.
+	 * @see #getBase_Component()
+	 * @generated
+	 */
+	void setBase_Component(Component value);
+
+} // ComponentType
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/ComponentModel/impl/ComponentImplementationImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/ComponentModel/impl/ComponentImplementationImpl.java
new file mode 100644
index 000000000..e04b86db8
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/ComponentModel/impl/ComponentImplementationImpl.java
@@ -0,0 +1,326 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.ComponentModel.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.emf.ecore.util.EDataTypeUniqueEList;
+import org.eclipse.uml2.uml.Component;
+import org.polarsys.chess.chessmlprofile.ComponentModel.ComponentImplementation;
+import org.polarsys.chess.chessmlprofile.ComponentModel.ComponentModelPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Component Implementation</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.ComponentModel.impl.ComponentImplementationImpl#getBase_Component <em>Base Component</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.ComponentModel.impl.ComponentImplementationImpl#getLanguage <em>Language</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.ComponentModel.impl.ComponentImplementationImpl#getOS <em>OS</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.ComponentModel.impl.ComponentImplementationImpl#getSourceCodeLocation <em>Source Code Location</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ComponentImplementationImpl extends EObjectImpl implements ComponentImplementation {
+	/**
+	 * The cached value of the '{@link #getBase_Component() <em>Base Component</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBase_Component()
+	 * @generated
+	 * @ordered
+	 */
+	protected Component base_Component;
+
+	/**
+	 * The default value of the '{@link #getLanguage() <em>Language</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getLanguage()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String LANGUAGE_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getLanguage() <em>Language</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getLanguage()
+	 * @generated
+	 * @ordered
+	 */
+	protected String language = LANGUAGE_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getOS() <em>OS</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getOS()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String OS_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getOS() <em>OS</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getOS()
+	 * @generated
+	 * @ordered
+	 */
+	protected String os = OS_EDEFAULT;
+
+	/**
+	 * The cached value of the '{@link #getSourceCodeLocation() <em>Source Code Location</em>}' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getSourceCodeLocation()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<String> sourceCodeLocation;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ComponentImplementationImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return ComponentModelPackage.Literals.COMPONENT_IMPLEMENTATION;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Component getBase_Component() {
+		if (base_Component != null && base_Component.eIsProxy()) {
+			InternalEObject oldBase_Component = (InternalEObject)base_Component;
+			base_Component = (Component)eResolveProxy(oldBase_Component);
+			if (base_Component != oldBase_Component) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, ComponentModelPackage.COMPONENT_IMPLEMENTATION__BASE_COMPONENT, oldBase_Component, base_Component));
+			}
+		}
+		return base_Component;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Component basicGetBase_Component() {
+		return base_Component;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setBase_Component(Component newBase_Component) {
+		Component oldBase_Component = base_Component;
+		base_Component = newBase_Component;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ComponentModelPackage.COMPONENT_IMPLEMENTATION__BASE_COMPONENT, oldBase_Component, base_Component));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getLanguage() {
+		return language;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setLanguage(String newLanguage) {
+		String oldLanguage = language;
+		language = newLanguage;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ComponentModelPackage.COMPONENT_IMPLEMENTATION__LANGUAGE, oldLanguage, language));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getOS() {
+		return os;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setOS(String newOS) {
+		String oldOS = os;
+		os = newOS;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ComponentModelPackage.COMPONENT_IMPLEMENTATION__OS, oldOS, os));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<String> getSourceCodeLocation() {
+		if (sourceCodeLocation == null) {
+			sourceCodeLocation = new EDataTypeUniqueEList<String>(String.class, this, ComponentModelPackage.COMPONENT_IMPLEMENTATION__SOURCE_CODE_LOCATION);
+		}
+		return sourceCodeLocation;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case ComponentModelPackage.COMPONENT_IMPLEMENTATION__BASE_COMPONENT:
+				if (resolve) return getBase_Component();
+				return basicGetBase_Component();
+			case ComponentModelPackage.COMPONENT_IMPLEMENTATION__LANGUAGE:
+				return getLanguage();
+			case ComponentModelPackage.COMPONENT_IMPLEMENTATION__OS:
+				return getOS();
+			case ComponentModelPackage.COMPONENT_IMPLEMENTATION__SOURCE_CODE_LOCATION:
+				return getSourceCodeLocation();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case ComponentModelPackage.COMPONENT_IMPLEMENTATION__BASE_COMPONENT:
+				setBase_Component((Component)newValue);
+				return;
+			case ComponentModelPackage.COMPONENT_IMPLEMENTATION__LANGUAGE:
+				setLanguage((String)newValue);
+				return;
+			case ComponentModelPackage.COMPONENT_IMPLEMENTATION__OS:
+				setOS((String)newValue);
+				return;
+			case ComponentModelPackage.COMPONENT_IMPLEMENTATION__SOURCE_CODE_LOCATION:
+				getSourceCodeLocation().clear();
+				getSourceCodeLocation().addAll((Collection<? extends String>)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case ComponentModelPackage.COMPONENT_IMPLEMENTATION__BASE_COMPONENT:
+				setBase_Component((Component)null);
+				return;
+			case ComponentModelPackage.COMPONENT_IMPLEMENTATION__LANGUAGE:
+				setLanguage(LANGUAGE_EDEFAULT);
+				return;
+			case ComponentModelPackage.COMPONENT_IMPLEMENTATION__OS:
+				setOS(OS_EDEFAULT);
+				return;
+			case ComponentModelPackage.COMPONENT_IMPLEMENTATION__SOURCE_CODE_LOCATION:
+				getSourceCodeLocation().clear();
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case ComponentModelPackage.COMPONENT_IMPLEMENTATION__BASE_COMPONENT:
+				return base_Component != null;
+			case ComponentModelPackage.COMPONENT_IMPLEMENTATION__LANGUAGE:
+				return LANGUAGE_EDEFAULT == null ? language != null : !LANGUAGE_EDEFAULT.equals(language);
+			case ComponentModelPackage.COMPONENT_IMPLEMENTATION__OS:
+				return OS_EDEFAULT == null ? os != null : !OS_EDEFAULT.equals(os);
+			case ComponentModelPackage.COMPONENT_IMPLEMENTATION__SOURCE_CODE_LOCATION:
+				return sourceCodeLocation != null && !sourceCodeLocation.isEmpty();
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (language: ");
+		result.append(language);
+		result.append(", OS: ");
+		result.append(os);
+		result.append(", sourceCodeLocation: ");
+		result.append(sourceCodeLocation);
+		result.append(')');
+		return result.toString();
+	}
+
+} //ComponentImplementationImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/ComponentModel/impl/ComponentModelFactoryImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/ComponentModel/impl/ComponentModelFactoryImpl.java
new file mode 100644
index 000000000..1416da8ad
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/ComponentModel/impl/ComponentModelFactoryImpl.java
@@ -0,0 +1,112 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.ComponentModel.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.polarsys.chess.chessmlprofile.ComponentModel.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ComponentModelFactoryImpl extends EFactoryImpl implements ComponentModelFactory {
+	/**
+	 * Creates the default factory implementation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static ComponentModelFactory init() {
+		try {
+			ComponentModelFactory theComponentModelFactory = (ComponentModelFactory)EPackage.Registry.INSTANCE.getEFactory(ComponentModelPackage.eNS_URI);
+			if (theComponentModelFactory != null) {
+				return theComponentModelFactory;
+			}
+		}
+		catch (Exception exception) {
+			EcorePlugin.INSTANCE.log(exception);
+		}
+		return new ComponentModelFactoryImpl();
+	}
+
+	/**
+	 * Creates an instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ComponentModelFactoryImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EObject create(EClass eClass) {
+		switch (eClass.getClassifierID()) {
+			case ComponentModelPackage.COMPONENT_TYPE: return createComponentType();
+			case ComponentModelPackage.COMPONENT_IMPLEMENTATION: return createComponentImplementation();
+			default:
+				throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ComponentType createComponentType() {
+		ComponentTypeImpl componentType = new ComponentTypeImpl();
+		return componentType;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ComponentImplementation createComponentImplementation() {
+		ComponentImplementationImpl componentImplementation = new ComponentImplementationImpl();
+		return componentImplementation;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ComponentModelPackage getComponentModelPackage() {
+		return (ComponentModelPackage)getEPackage();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @deprecated
+	 * @generated
+	 */
+	@Deprecated
+	public static ComponentModelPackage getPackage() {
+		return ComponentModelPackage.eINSTANCE;
+	}
+
+} //ComponentModelFactoryImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/ComponentModel/impl/ComponentModelPackageImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/ComponentModel/impl/ComponentModelPackageImpl.java
new file mode 100644
index 000000000..5211d30ab
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/ComponentModel/impl/ComponentModelPackageImpl.java
@@ -0,0 +1,386 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.ComponentModel.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+import org.eclipse.papyrus.MARTE.MARTEPackage;
+import org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.BasicNFP_TypesPackage;
+import org.eclipse.papyrus.MARTE_Library.GRM_BasicTypes.GRM_BasicTypesPackage;
+import org.eclipse.papyrus.MARTE_Library.MARTE_DataTypes.MARTE_DataTypesPackage;
+import org.eclipse.papyrus.MARTE_Library.MARTE_PrimitivesTypes.MARTE_PrimitivesTypesPackage;
+import org.eclipse.papyrus.MARTE_Library.MeasurementUnits.MeasurementUnitsPackage;
+import org.eclipse.papyrus.MARTE_Library.RS_Library.RS_LibraryPackage;
+import org.eclipse.papyrus.MARTE_Library.TimeLibrary.TimeLibraryPackage;
+import org.eclipse.papyrus.MARTE_Library.TimeTypesLibrary.TimeTypesLibraryPackage;
+import org.eclipse.uml2.types.TypesPackage;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.polarsys.chess.chessmlprofile.chessmlprofilePackage;
+import org.polarsys.chess.chessmlprofile.ComponentModel.ComponentImplementation;
+import org.polarsys.chess.chessmlprofile.ComponentModel.ComponentModelFactory;
+import org.polarsys.chess.chessmlprofile.ComponentModel.ComponentModelPackage;
+import org.polarsys.chess.chessmlprofile.ComponentModel.ComponentType;
+import org.polarsys.chess.chessmlprofile.Core.CorePackage;
+import org.polarsys.chess.chessmlprofile.Core.CHESSViews.CHESSViewsPackage;
+import org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl.CHESSViewsPackageImpl;
+import org.polarsys.chess.chessmlprofile.Core.impl.CorePackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.DataFlowCallGraph.DataFlowCallGraphPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.DataFlowCallGraph.impl.DataFlowCallGraphPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.DependableComponentPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.impl.DependableComponentPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEAPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEADataTypes.FMEADataTypesPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEADataTypes.impl.FMEADataTypesPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.impl.FMEAPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.FailurePropagationDataTypesPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.impl.FailurePropagationDataTypesPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl.FailurePropagationPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans.MitigationMeansPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans.impl.MitigationMeansPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.FaultTolerancePackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.impl.FaultTolerancePackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.MaintenanceMonitoringPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.impl.MaintenanceMonitoringPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.StateBasedAnalysisPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.impl.StateBasedAnalysisPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StateBasedComponentsPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.impl.StateBasedComponentsPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.StateBasedDataTypesPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.impl.StateBasedDataTypesPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatsPropagationPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.ThreatsPropagationPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.DeploymentConfAnalysisPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.impl.DeploymentConfAnalysisPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HardwareBaselinePackage;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.HardwareBaselinePackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTComponentModelPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.RTDataTypesPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.impl.RTDataTypesPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.impl.RTComponentModelPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingAnalysisPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.TimingConstraintsPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.impl.TimingConstraintsPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.impl.TimingAnalysisPackageImpl;
+import org.polarsys.chess.chessmlprofile.impl.chessmlprofilePackageImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ComponentModelPackageImpl extends EPackageImpl implements ComponentModelPackage {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass componentTypeEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass componentImplementationEClass = null;
+
+	/**
+	 * Creates an instance of the model <b>Package</b>, registered with
+	 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+	 * package URI value.
+	 * <p>Note: the correct way to create the package is via the static
+	 * factory method {@link #init init()}, which also performs
+	 * initialization of the package, or returns the registered package,
+	 * if one already exists.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.emf.ecore.EPackage.Registry
+	 * @see org.polarsys.chess.chessmlprofile.ComponentModel.ComponentModelPackage#eNS_URI
+	 * @see #init()
+	 * @generated
+	 */
+	private ComponentModelPackageImpl() {
+		super(eNS_URI, ComponentModelFactory.eINSTANCE);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static boolean isInited = false;
+
+	/**
+	 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+	 * 
+	 * <p>This method is used to initialize {@link ComponentModelPackage#eINSTANCE} when that field is accessed.
+	 * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #eNS_URI
+	 * @see #createPackageContents()
+	 * @see #initializePackageContents()
+	 * @generated
+	 */
+	public static ComponentModelPackage init() {
+		if (isInited) return (ComponentModelPackage)EPackage.Registry.INSTANCE.getEPackage(ComponentModelPackage.eNS_URI);
+
+		// Obtain or create and register package
+		ComponentModelPackageImpl theComponentModelPackage = (ComponentModelPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof ComponentModelPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new ComponentModelPackageImpl());
+
+		isInited = true;
+
+		// Initialize simple dependencies
+		MARTEPackage.eINSTANCE.eClass();
+		MeasurementUnitsPackage.eINSTANCE.eClass();
+		GRM_BasicTypesPackage.eINSTANCE.eClass();
+		MARTE_DataTypesPackage.eINSTANCE.eClass();
+		BasicNFP_TypesPackage.eINSTANCE.eClass();
+		TimeTypesLibraryPackage.eINSTANCE.eClass();
+		TimeLibraryPackage.eINSTANCE.eClass();
+		RS_LibraryPackage.eINSTANCE.eClass();
+		MARTE_PrimitivesTypesPackage.eINSTANCE.eClass();
+		BasicNFP_TypesPackage.eINSTANCE.eClass();
+
+		// Obtain or create and register interdependencies
+		chessmlprofilePackageImpl thechessmlprofilePackage = (chessmlprofilePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(chessmlprofilePackage.eNS_URI) instanceof chessmlprofilePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(chessmlprofilePackage.eNS_URI) : chessmlprofilePackage.eINSTANCE);
+		CorePackageImpl theCorePackage = (CorePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(CorePackage.eNS_URI) instanceof CorePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(CorePackage.eNS_URI) : CorePackage.eINSTANCE);
+		CHESSViewsPackageImpl theCHESSViewsPackage = (CHESSViewsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(CHESSViewsPackage.eNS_URI) instanceof CHESSViewsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(CHESSViewsPackage.eNS_URI) : CHESSViewsPackage.eINSTANCE);
+		FailurePropagationPackageImpl theFailurePropagationPackage = (FailurePropagationPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FailurePropagationPackage.eNS_URI) instanceof FailurePropagationPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FailurePropagationPackage.eNS_URI) : FailurePropagationPackage.eINSTANCE);
+		FailurePropagationDataTypesPackageImpl theFailurePropagationDataTypesPackage = (FailurePropagationDataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FailurePropagationDataTypesPackage.eNS_URI) instanceof FailurePropagationDataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FailurePropagationDataTypesPackage.eNS_URI) : FailurePropagationDataTypesPackage.eINSTANCE);
+		DependableComponentPackageImpl theDependableComponentPackage = (DependableComponentPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DependableComponentPackage.eNS_URI) instanceof DependableComponentPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DependableComponentPackage.eNS_URI) : DependableComponentPackage.eINSTANCE);
+		ThreatsPropagationPackageImpl theThreatsPropagationPackage = (ThreatsPropagationPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ThreatsPropagationPackage.eNS_URI) instanceof ThreatsPropagationPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ThreatsPropagationPackage.eNS_URI) : ThreatsPropagationPackage.eINSTANCE);
+		DataFlowCallGraphPackageImpl theDataFlowCallGraphPackage = (DataFlowCallGraphPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DataFlowCallGraphPackage.eNS_URI) instanceof DataFlowCallGraphPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DataFlowCallGraphPackage.eNS_URI) : DataFlowCallGraphPackage.eINSTANCE);
+		StateBasedDataTypesPackageImpl theStateBasedDataTypesPackage = (StateBasedDataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(StateBasedDataTypesPackage.eNS_URI) instanceof StateBasedDataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(StateBasedDataTypesPackage.eNS_URI) : StateBasedDataTypesPackage.eINSTANCE);
+		StateBasedComponentsPackageImpl theStateBasedComponentsPackage = (StateBasedComponentsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(StateBasedComponentsPackage.eNS_URI) instanceof StateBasedComponentsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(StateBasedComponentsPackage.eNS_URI) : StateBasedComponentsPackage.eINSTANCE);
+		FaultTolerancePackageImpl theFaultTolerancePackage = (FaultTolerancePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FaultTolerancePackage.eNS_URI) instanceof FaultTolerancePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FaultTolerancePackage.eNS_URI) : FaultTolerancePackage.eINSTANCE);
+		MaintenanceMonitoringPackageImpl theMaintenanceMonitoringPackage = (MaintenanceMonitoringPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(MaintenanceMonitoringPackage.eNS_URI) instanceof MaintenanceMonitoringPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(MaintenanceMonitoringPackage.eNS_URI) : MaintenanceMonitoringPackage.eINSTANCE);
+		StateBasedAnalysisPackageImpl theStateBasedAnalysisPackage = (StateBasedAnalysisPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(StateBasedAnalysisPackage.eNS_URI) instanceof StateBasedAnalysisPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(StateBasedAnalysisPackage.eNS_URI) : StateBasedAnalysisPackage.eINSTANCE);
+		FMEAPackageImpl theFMEAPackage = (FMEAPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FMEAPackage.eNS_URI) instanceof FMEAPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FMEAPackage.eNS_URI) : FMEAPackage.eINSTANCE);
+		FMEADataTypesPackageImpl theFMEADataTypesPackage = (FMEADataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FMEADataTypesPackage.eNS_URI) instanceof FMEADataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FMEADataTypesPackage.eNS_URI) : FMEADataTypesPackage.eINSTANCE);
+		MitigationMeansPackageImpl theMitigationMeansPackage = (MitigationMeansPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(MitigationMeansPackage.eNS_URI) instanceof MitigationMeansPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(MitigationMeansPackage.eNS_URI) : MitigationMeansPackage.eINSTANCE);
+		TimingAnalysisPackageImpl theTimingAnalysisPackage = (TimingAnalysisPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimingAnalysisPackage.eNS_URI) instanceof TimingAnalysisPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimingAnalysisPackage.eNS_URI) : TimingAnalysisPackage.eINSTANCE);
+		TimingConstraintsPackageImpl theTimingConstraintsPackage = (TimingConstraintsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimingConstraintsPackage.eNS_URI) instanceof TimingConstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimingConstraintsPackage.eNS_URI) : TimingConstraintsPackage.eINSTANCE);
+		HardwareBaselinePackageImpl theHardwareBaselinePackage = (HardwareBaselinePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HardwareBaselinePackage.eNS_URI) instanceof HardwareBaselinePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HardwareBaselinePackage.eNS_URI) : HardwareBaselinePackage.eINSTANCE);
+		DeploymentConfAnalysisPackageImpl theDeploymentConfAnalysisPackage = (DeploymentConfAnalysisPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DeploymentConfAnalysisPackage.eNS_URI) instanceof DeploymentConfAnalysisPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DeploymentConfAnalysisPackage.eNS_URI) : DeploymentConfAnalysisPackage.eINSTANCE);
+		RTComponentModelPackageImpl theRTComponentModelPackage = (RTComponentModelPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RTComponentModelPackage.eNS_URI) instanceof RTComponentModelPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RTComponentModelPackage.eNS_URI) : RTComponentModelPackage.eINSTANCE);
+		RTDataTypesPackageImpl theRTDataTypesPackage = (RTDataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RTDataTypesPackage.eNS_URI) instanceof RTDataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RTDataTypesPackage.eNS_URI) : RTDataTypesPackage.eINSTANCE);
+
+		// Create package meta-data objects
+		theComponentModelPackage.createPackageContents();
+		thechessmlprofilePackage.createPackageContents();
+		theCorePackage.createPackageContents();
+		theCHESSViewsPackage.createPackageContents();
+		theFailurePropagationPackage.createPackageContents();
+		theFailurePropagationDataTypesPackage.createPackageContents();
+		theDependableComponentPackage.createPackageContents();
+		theThreatsPropagationPackage.createPackageContents();
+		theDataFlowCallGraphPackage.createPackageContents();
+		theStateBasedDataTypesPackage.createPackageContents();
+		theStateBasedComponentsPackage.createPackageContents();
+		theFaultTolerancePackage.createPackageContents();
+		theMaintenanceMonitoringPackage.createPackageContents();
+		theStateBasedAnalysisPackage.createPackageContents();
+		theFMEAPackage.createPackageContents();
+		theFMEADataTypesPackage.createPackageContents();
+		theMitigationMeansPackage.createPackageContents();
+		theTimingAnalysisPackage.createPackageContents();
+		theTimingConstraintsPackage.createPackageContents();
+		theHardwareBaselinePackage.createPackageContents();
+		theDeploymentConfAnalysisPackage.createPackageContents();
+		theRTComponentModelPackage.createPackageContents();
+		theRTDataTypesPackage.createPackageContents();
+
+		// Initialize created meta-data
+		theComponentModelPackage.initializePackageContents();
+		thechessmlprofilePackage.initializePackageContents();
+		theCorePackage.initializePackageContents();
+		theCHESSViewsPackage.initializePackageContents();
+		theFailurePropagationPackage.initializePackageContents();
+		theFailurePropagationDataTypesPackage.initializePackageContents();
+		theDependableComponentPackage.initializePackageContents();
+		theThreatsPropagationPackage.initializePackageContents();
+		theDataFlowCallGraphPackage.initializePackageContents();
+		theStateBasedDataTypesPackage.initializePackageContents();
+		theStateBasedComponentsPackage.initializePackageContents();
+		theFaultTolerancePackage.initializePackageContents();
+		theMaintenanceMonitoringPackage.initializePackageContents();
+		theStateBasedAnalysisPackage.initializePackageContents();
+		theFMEAPackage.initializePackageContents();
+		theFMEADataTypesPackage.initializePackageContents();
+		theMitigationMeansPackage.initializePackageContents();
+		theTimingAnalysisPackage.initializePackageContents();
+		theTimingConstraintsPackage.initializePackageContents();
+		theHardwareBaselinePackage.initializePackageContents();
+		theDeploymentConfAnalysisPackage.initializePackageContents();
+		theRTComponentModelPackage.initializePackageContents();
+		theRTDataTypesPackage.initializePackageContents();
+
+		// Mark meta-data to indicate it can't be changed
+		theComponentModelPackage.freeze();
+
+  
+		// Update the registry and return the package
+		EPackage.Registry.INSTANCE.put(ComponentModelPackage.eNS_URI, theComponentModelPackage);
+		return theComponentModelPackage;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getComponentType() {
+		return componentTypeEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getComponentType_Base_Component() {
+		return (EReference)componentTypeEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getComponentImplementation() {
+		return componentImplementationEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getComponentImplementation_Base_Component() {
+		return (EReference)componentImplementationEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getComponentImplementation_Language() {
+		return (EAttribute)componentImplementationEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getComponentImplementation_OS() {
+		return (EAttribute)componentImplementationEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getComponentImplementation_SourceCodeLocation() {
+		return (EAttribute)componentImplementationEClass.getEStructuralFeatures().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ComponentModelFactory getComponentModelFactory() {
+		return (ComponentModelFactory)getEFactoryInstance();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isCreated = false;
+
+	/**
+	 * Creates the meta-model objects for the package.  This method is
+	 * guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void createPackageContents() {
+		if (isCreated) return;
+		isCreated = true;
+
+		// Create classes and their features
+		componentTypeEClass = createEClass(COMPONENT_TYPE);
+		createEReference(componentTypeEClass, COMPONENT_TYPE__BASE_COMPONENT);
+
+		componentImplementationEClass = createEClass(COMPONENT_IMPLEMENTATION);
+		createEReference(componentImplementationEClass, COMPONENT_IMPLEMENTATION__BASE_COMPONENT);
+		createEAttribute(componentImplementationEClass, COMPONENT_IMPLEMENTATION__LANGUAGE);
+		createEAttribute(componentImplementationEClass, COMPONENT_IMPLEMENTATION__OS);
+		createEAttribute(componentImplementationEClass, COMPONENT_IMPLEMENTATION__SOURCE_CODE_LOCATION);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isInitialized = false;
+
+	/**
+	 * Complete the initialization of the package and its meta-model.  This
+	 * method is guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void initializePackageContents() {
+		if (isInitialized) return;
+		isInitialized = true;
+
+		// Initialize package
+		setName(eNAME);
+		setNsPrefix(eNS_PREFIX);
+		setNsURI(eNS_URI);
+
+		// Obtain other dependent packages
+		UMLPackage theUMLPackage = (UMLPackage)EPackage.Registry.INSTANCE.getEPackage(UMLPackage.eNS_URI);
+		TypesPackage theTypesPackage = (TypesPackage)EPackage.Registry.INSTANCE.getEPackage(TypesPackage.eNS_URI);
+
+		// Create type parameters
+
+		// Set bounds for type parameters
+
+		// Add supertypes to classes
+
+		// Initialize classes and features; add operations and parameters
+		initEClass(componentTypeEClass, ComponentType.class, "ComponentType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getComponentType_Base_Component(), theUMLPackage.getComponent(), null, "base_Component", null, 1, 1, ComponentType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+		initEClass(componentImplementationEClass, ComponentImplementation.class, "ComponentImplementation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getComponentImplementation_Base_Component(), theUMLPackage.getComponent(), null, "base_Component", null, 1, 1, ComponentImplementation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getComponentImplementation_Language(), theTypesPackage.getString(), "language", null, 0, 1, ComponentImplementation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getComponentImplementation_OS(), theTypesPackage.getString(), "OS", null, 0, 1, ComponentImplementation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getComponentImplementation_SourceCodeLocation(), theTypesPackage.getString(), "sourceCodeLocation", null, 0, -1, ComponentImplementation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+	}
+
+} //ComponentModelPackageImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/ComponentModel/impl/ComponentTypeImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/ComponentModel/impl/ComponentTypeImpl.java
new file mode 100644
index 000000000..db47de72e
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/ComponentModel/impl/ComponentTypeImpl.java
@@ -0,0 +1,163 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.ComponentModel.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.uml2.uml.Component;
+import org.polarsys.chess.chessmlprofile.ComponentModel.ComponentModelPackage;
+import org.polarsys.chess.chessmlprofile.ComponentModel.ComponentType;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Component Type</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.ComponentModel.impl.ComponentTypeImpl#getBase_Component <em>Base Component</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ComponentTypeImpl extends EObjectImpl implements ComponentType {
+	/**
+	 * The cached value of the '{@link #getBase_Component() <em>Base Component</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBase_Component()
+	 * @generated
+	 * @ordered
+	 */
+	protected Component base_Component;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ComponentTypeImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return ComponentModelPackage.Literals.COMPONENT_TYPE;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Component getBase_Component() {
+		if (base_Component != null && base_Component.eIsProxy()) {
+			InternalEObject oldBase_Component = (InternalEObject)base_Component;
+			base_Component = (Component)eResolveProxy(oldBase_Component);
+			if (base_Component != oldBase_Component) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, ComponentModelPackage.COMPONENT_TYPE__BASE_COMPONENT, oldBase_Component, base_Component));
+			}
+		}
+		return base_Component;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Component basicGetBase_Component() {
+		return base_Component;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setBase_Component(Component newBase_Component) {
+		Component oldBase_Component = base_Component;
+		base_Component = newBase_Component;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ComponentModelPackage.COMPONENT_TYPE__BASE_COMPONENT, oldBase_Component, base_Component));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case ComponentModelPackage.COMPONENT_TYPE__BASE_COMPONENT:
+				if (resolve) return getBase_Component();
+				return basicGetBase_Component();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case ComponentModelPackage.COMPONENT_TYPE__BASE_COMPONENT:
+				setBase_Component((Component)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case ComponentModelPackage.COMPONENT_TYPE__BASE_COMPONENT:
+				setBase_Component((Component)null);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case ComponentModelPackage.COMPONENT_TYPE__BASE_COMPONENT:
+				return base_Component != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //ComponentTypeImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/ComponentModel/util/ComponentModelAdapterFactory.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/ComponentModel/util/ComponentModelAdapterFactory.java
new file mode 100644
index 000000000..415f5b0e1
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/ComponentModel/util/ComponentModelAdapterFactory.java
@@ -0,0 +1,144 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.ComponentModel.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+import org.eclipse.emf.ecore.EObject;
+import org.polarsys.chess.chessmlprofile.ComponentModel.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.ComponentModel.ComponentModelPackage
+ * @generated
+ */
+public class ComponentModelAdapterFactory extends AdapterFactoryImpl {
+	/**
+	 * The cached model package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static ComponentModelPackage modelPackage;
+
+	/**
+	 * Creates an instance of the adapter factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ComponentModelAdapterFactory() {
+		if (modelPackage == null) {
+			modelPackage = ComponentModelPackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Returns whether this factory is applicable for the type of the object.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+	 * <!-- end-user-doc -->
+	 * @return whether this factory is applicable for the type of the object.
+	 * @generated
+	 */
+	@Override
+	public boolean isFactoryForType(Object object) {
+		if (object == modelPackage) {
+			return true;
+		}
+		if (object instanceof EObject) {
+			return ((EObject)object).eClass().getEPackage() == modelPackage;
+		}
+		return false;
+	}
+
+	/**
+	 * The switch that delegates to the <code>createXXX</code> methods.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ComponentModelSwitch<Adapter> modelSwitch =
+		new ComponentModelSwitch<Adapter>() {
+			@Override
+			public Adapter caseComponentType(ComponentType object) {
+				return createComponentTypeAdapter();
+			}
+			@Override
+			public Adapter caseComponentImplementation(ComponentImplementation object) {
+				return createComponentImplementationAdapter();
+			}
+			@Override
+			public Adapter defaultCase(EObject object) {
+				return createEObjectAdapter();
+			}
+		};
+
+	/**
+	 * Creates an adapter for the <code>target</code>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param target the object to adapt.
+	 * @return the adapter for the <code>target</code>.
+	 * @generated
+	 */
+	@Override
+	public Adapter createAdapter(Notifier target) {
+		return modelSwitch.doSwitch((EObject)target);
+	}
+
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.ComponentModel.ComponentType <em>Component Type</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.ComponentModel.ComponentType
+	 * @generated
+	 */
+	public Adapter createComponentTypeAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.ComponentModel.ComponentImplementation <em>Component Implementation</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.ComponentModel.ComponentImplementation
+	 * @generated
+	 */
+	public Adapter createComponentImplementationAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for the default case.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @generated
+	 */
+	public Adapter createEObjectAdapter() {
+		return null;
+	}
+
+} //ComponentModelAdapterFactory
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/ComponentModel/util/ComponentModelResourceFactoryImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/ComponentModel/util/ComponentModelResourceFactoryImpl.java
new file mode 100644
index 000000000..af3618481
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/ComponentModel/util/ComponentModelResourceFactoryImpl.java
@@ -0,0 +1,61 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.ComponentModel.util;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.resource.impl.ResourceFactoryImpl;
+
+import org.eclipse.emf.ecore.xmi.XMLResource;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource Factory</b> associated with the package.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.ComponentModel.util.ComponentModelResourceImpl
+ * @generated
+ */
+public class ComponentModelResourceFactoryImpl extends ResourceFactoryImpl {
+	/**
+	 * Creates an instance of the resource factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ComponentModelResourceFactoryImpl() {
+		super();
+	}
+
+	/**
+	 * Creates an instance of the resource.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Resource createResource(URI uri) {
+		XMLResource result = new ComponentModelResourceImpl(uri);
+		result.getDefaultSaveOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
+		result.getDefaultLoadOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
+
+		result.getDefaultSaveOptions().put(XMLResource.OPTION_SCHEMA_LOCATION, Boolean.TRUE);
+
+		result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+		result.getDefaultSaveOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+
+		result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_LEXICAL_HANDLER, Boolean.TRUE);
+		return result;
+	}
+
+} //ComponentModelResourceFactoryImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/ComponentModel/util/ComponentModelResourceImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/ComponentModel/util/ComponentModelResourceImpl.java
new file mode 100644
index 000000000..60a753ab0
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/ComponentModel/util/ComponentModelResourceImpl.java
@@ -0,0 +1,37 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.ComponentModel.util;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource </b> associated with the package.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.ComponentModel.util.ComponentModelResourceFactoryImpl
+ * @generated
+ */
+public class ComponentModelResourceImpl extends XMLResourceImpl {
+	/**
+	 * Creates an instance of the resource.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param uri the URI of the new resource.
+	 * @generated
+	 */
+	public ComponentModelResourceImpl(URI uri) {
+		super(uri);
+	}
+
+} //ComponentModelResourceImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/ComponentModel/util/ComponentModelSwitch.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/ComponentModel/util/ComponentModelSwitch.java
new file mode 100644
index 000000000..efa9c76aa
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/ComponentModel/util/ComponentModelSwitch.java
@@ -0,0 +1,138 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.ComponentModel.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.util.Switch;
+import org.polarsys.chess.chessmlprofile.ComponentModel.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.ComponentModel.ComponentModelPackage
+ * @generated
+ */
+public class ComponentModelSwitch<T> extends Switch<T> {
+	/**
+	 * The cached model package
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static ComponentModelPackage modelPackage;
+
+	/**
+	 * Creates an instance of the switch.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ComponentModelSwitch() {
+		if (modelPackage == null) {
+			modelPackage = ComponentModelPackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Checks whether this is a switch for the given package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @parameter ePackage the package in question.
+	 * @return whether this is a switch for the given package.
+	 * @generated
+	 */
+	@Override
+	protected boolean isSwitchFor(EPackage ePackage) {
+		return ePackage == modelPackage;
+	}
+
+	/**
+	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the first non-null result returned by a <code>caseXXX</code> call.
+	 * @generated
+	 */
+	@Override
+	protected T doSwitch(int classifierID, EObject theEObject) {
+		switch (classifierID) {
+			case ComponentModelPackage.COMPONENT_TYPE: {
+				ComponentType componentType = (ComponentType)theEObject;
+				T result = caseComponentType(componentType);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case ComponentModelPackage.COMPONENT_IMPLEMENTATION: {
+				ComponentImplementation componentImplementation = (ComponentImplementation)theEObject;
+				T result = caseComponentImplementation(componentImplementation);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			default: return defaultCase(theEObject);
+		}
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Component Type</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Component Type</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseComponentType(ComponentType object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Component Implementation</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Component Implementation</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseComponentImplementation(ComponentImplementation object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch, but this is the last case anyway.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+	 * @generated
+	 */
+	@Override
+	public T defaultCase(EObject object) {
+		return null;
+	}
+
+} //ComponentModelSwitch
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/ComponentModel/util/ComponentModelXMLProcessor.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/ComponentModel/util/ComponentModelXMLProcessor.java
new file mode 100644
index 000000000..441965be8
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/ComponentModel/util/ComponentModelXMLProcessor.java
@@ -0,0 +1,56 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.ComponentModel.util;
+
+import java.util.Map;
+
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.xmi.util.XMLProcessor;
+import org.polarsys.chess.chessmlprofile.ComponentModel.ComponentModelPackage;
+
+/**
+ * This class contains helper methods to serialize and deserialize XML documents
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ComponentModelXMLProcessor extends XMLProcessor {
+
+	/**
+	 * Public constructor to instantiate the helper.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ComponentModelXMLProcessor() {
+		super((EPackage.Registry.INSTANCE));
+		ComponentModelPackage.eINSTANCE.eClass();
+	}
+	
+	/**
+	 * Register for "*" and "xml" file extensions the ComponentModelResourceFactoryImpl factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected Map<String, Resource.Factory> getRegistrations() {
+		if (registrations == null) {
+			super.getRegistrations();
+			registrations.put(XML_EXTENSION, new ComponentModelResourceFactoryImpl());
+			registrations.put(STAR_EXTENSION, new ComponentModelResourceFactoryImpl());
+		}
+		return registrations;
+	}
+
+} //ComponentModelXMLProcessor
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESS.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESS.java
new file mode 100644
index 000000000..e324b706a
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESS.java
@@ -0,0 +1,200 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Core;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.uml2.uml.Model;
+import org.polarsys.chess.chessmlprofile.Core.CHESSViews.AnalysisView;
+import org.polarsys.chess.chessmlprofile.Core.CHESSViews.ComponentView;
+import org.polarsys.chess.chessmlprofile.Core.CHESSViews.DeploymentView;
+import org.polarsys.chess.chessmlprofile.Core.CHESSViews.RequirementView;
+import org.polarsys.chess.chessmlprofile.Core.CHESSViews.SystemView;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>CHESS</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Core.CHESS#getBase_Model <em>Base Model</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Core.CHESS#getAnalysisView <em>Analysis View</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Core.CHESS#getDeploymentView <em>Deployment View</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Core.CHESS#getRequirementView <em>Requirement View</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Core.CHESS#getComponentView <em>Component View</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Core.CHESS#getSystemView <em>System View</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.polarsys.chess.chessmlprofile.Core.CorePackage#getCHESS()
+ * @model
+ * @generated
+ */
+public interface CHESS extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Base Model</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Model</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Base Model</em>' reference.
+	 * @see #setBase_Model(Model)
+	 * @see org.polarsys.chess.chessmlprofile.Core.CorePackage#getCHESS_Base_Model()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	Model getBase_Model();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Core.CHESS#getBase_Model <em>Base Model</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Base Model</em>' reference.
+	 * @see #getBase_Model()
+	 * @generated
+	 */
+	void setBase_Model(Model value);
+
+	/**
+	 * Returns the value of the '<em><b>Analysis View</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Analysis View</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Analysis View</em>' containment reference.
+	 * @see #setAnalysisView(AnalysisView)
+	 * @see org.polarsys.chess.chessmlprofile.Core.CorePackage#getCHESS_AnalysisView()
+	 * @model containment="true" required="true" ordered="false"
+	 * @generated
+	 */
+	AnalysisView getAnalysisView();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Core.CHESS#getAnalysisView <em>Analysis View</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Analysis View</em>' containment reference.
+	 * @see #getAnalysisView()
+	 * @generated
+	 */
+	void setAnalysisView(AnalysisView value);
+
+	/**
+	 * Returns the value of the '<em><b>Deployment View</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Deployment View</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Deployment View</em>' containment reference.
+	 * @see #setDeploymentView(DeploymentView)
+	 * @see org.polarsys.chess.chessmlprofile.Core.CorePackage#getCHESS_DeploymentView()
+	 * @model containment="true" required="true" ordered="false"
+	 * @generated
+	 */
+	DeploymentView getDeploymentView();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Core.CHESS#getDeploymentView <em>Deployment View</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Deployment View</em>' containment reference.
+	 * @see #getDeploymentView()
+	 * @generated
+	 */
+	void setDeploymentView(DeploymentView value);
+
+	/**
+	 * Returns the value of the '<em><b>Requirement View</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Requirement View</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Requirement View</em>' containment reference.
+	 * @see #setRequirementView(RequirementView)
+	 * @see org.polarsys.chess.chessmlprofile.Core.CorePackage#getCHESS_RequirementView()
+	 * @model containment="true" required="true" ordered="false"
+	 * @generated
+	 */
+	RequirementView getRequirementView();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Core.CHESS#getRequirementView <em>Requirement View</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Requirement View</em>' containment reference.
+	 * @see #getRequirementView()
+	 * @generated
+	 */
+	void setRequirementView(RequirementView value);
+
+	/**
+	 * Returns the value of the '<em><b>Component View</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Component View</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Component View</em>' containment reference.
+	 * @see #setComponentView(ComponentView)
+	 * @see org.polarsys.chess.chessmlprofile.Core.CorePackage#getCHESS_ComponentView()
+	 * @model containment="true" required="true" ordered="false"
+	 * @generated
+	 */
+	ComponentView getComponentView();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Core.CHESS#getComponentView <em>Component View</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Component View</em>' containment reference.
+	 * @see #getComponentView()
+	 * @generated
+	 */
+	void setComponentView(ComponentView value);
+
+	/**
+	 * Returns the value of the '<em><b>System View</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>System View</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>System View</em>' containment reference.
+	 * @see #setSystemView(SystemView)
+	 * @see org.polarsys.chess.chessmlprofile.Core.CorePackage#getCHESS_SystemView()
+	 * @model containment="true" required="true" ordered="false"
+	 * @generated
+	 */
+	SystemView getSystemView();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Core.CHESS#getSystemView <em>System View</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>System View</em>' containment reference.
+	 * @see #getSystemView()
+	 * @generated
+	 */
+	void setSystemView(SystemView value);
+
+} // CHESS
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/AnalysisView.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/AnalysisView.java
new file mode 100644
index 000000000..6d0567824
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/AnalysisView.java
@@ -0,0 +1,86 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Core.CHESSViews;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Analysis View</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Core.CHESSViews.AnalysisView#getBase_Package <em>Base Package</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Core.CHESSViews.AnalysisView#getRtanalysisview <em>Rtanalysisview</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.polarsys.chess.chessmlprofile.Core.CHESSViews.CHESSViewsPackage#getAnalysisView()
+ * @model
+ * @generated
+ */
+public interface AnalysisView extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Base Package</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Package</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Base Package</em>' reference.
+	 * @see #setBase_Package(org.eclipse.uml2.uml.Package)
+	 * @see org.polarsys.chess.chessmlprofile.Core.CHESSViews.CHESSViewsPackage#getAnalysisView_Base_Package()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	org.eclipse.uml2.uml.Package getBase_Package();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Core.CHESSViews.AnalysisView#getBase_Package <em>Base Package</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Base Package</em>' reference.
+	 * @see #getBase_Package()
+	 * @generated
+	 */
+	void setBase_Package(org.eclipse.uml2.uml.Package value);
+
+	/**
+	 * Returns the value of the '<em><b>Rtanalysisview</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Rtanalysisview</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Rtanalysisview</em>' containment reference.
+	 * @see #setRtanalysisview(RTAnalysisView)
+	 * @see org.polarsys.chess.chessmlprofile.Core.CHESSViews.CHESSViewsPackage#getAnalysisView_Rtanalysisview()
+	 * @model containment="true" required="true" ordered="false"
+	 * @generated
+	 */
+	RTAnalysisView getRtanalysisview();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Core.CHESSViews.AnalysisView#getRtanalysisview <em>Rtanalysisview</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Rtanalysisview</em>' containment reference.
+	 * @see #getRtanalysisview()
+	 * @generated
+	 */
+	void setRtanalysisview(RTAnalysisView value);
+
+} // AnalysisView
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/CHESSViewsFactory.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/CHESSViewsFactory.java
new file mode 100644
index 000000000..8e1b8df4e
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/CHESSViewsFactory.java
@@ -0,0 +1,132 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Core.CHESSViews;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Core.CHESSViews.CHESSViewsPackage
+ * @generated
+ */
+public interface CHESSViewsFactory extends EFactory {
+	/**
+	 * The singleton instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	CHESSViewsFactory eINSTANCE = org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl.CHESSViewsFactoryImpl.init();
+
+	/**
+	 * Returns a new object of class '<em>Extra Functional View</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Extra Functional View</em>'.
+	 * @generated
+	 */
+	ExtraFunctionalView createExtraFunctionalView();
+
+	/**
+	 * Returns a new object of class '<em>Timing Data Flow View</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Timing Data Flow View</em>'.
+	 * @generated
+	 */
+	TimingDataFlowView createTimingDataFlowView();
+
+	/**
+	 * Returns a new object of class '<em>RT Analysis View</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>RT Analysis View</em>'.
+	 * @generated
+	 */
+	RTAnalysisView createRTAnalysisView();
+
+	/**
+	 * Returns a new object of class '<em>Deployment View</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Deployment View</em>'.
+	 * @generated
+	 */
+	DeploymentView createDeploymentView();
+
+	/**
+	 * Returns a new object of class '<em>Requirement View</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Requirement View</em>'.
+	 * @generated
+	 */
+	RequirementView createRequirementView();
+
+	/**
+	 * Returns a new object of class '<em>Component View</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Component View</em>'.
+	 * @generated
+	 */
+	ComponentView createComponentView();
+
+	/**
+	 * Returns a new object of class '<em>Dependability Analysis View</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Dependability Analysis View</em>'.
+	 * @generated
+	 */
+	DependabilityAnalysisView createDependabilityAnalysisView();
+
+	/**
+	 * Returns a new object of class '<em>System View</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>System View</em>'.
+	 * @generated
+	 */
+	SystemView createSystemView();
+
+	/**
+	 * Returns a new object of class '<em>PSM View</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>PSM View</em>'.
+	 * @generated
+	 */
+	PSMView createPSMView();
+
+	/**
+	 * Returns a new object of class '<em>Analysis View</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Analysis View</em>'.
+	 * @generated
+	 */
+	AnalysisView createAnalysisView();
+
+	/**
+	 * Returns the package supported by this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the package supported by this factory.
+	 * @generated
+	 */
+	CHESSViewsPackage getCHESSViewsPackage();
+
+} //CHESSViewsFactory
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/CHESSViewsPackage.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/CHESSViewsPackage.java
new file mode 100644
index 000000000..25369ca48
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/CHESSViewsPackage.java
@@ -0,0 +1,845 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Core.CHESSViews;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ *   <li>each class,</li>
+ *   <li>each feature of each class,</li>
+ *   <li>each enum,</li>
+ *   <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Core.CHESSViews.CHESSViewsFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface CHESSViewsPackage extends EPackage {
+	/**
+	 * The package name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNAME = "CHESSViews";
+
+	/**
+	 * The package namespace URI.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_URI = "http://CHESS/Core/Views";
+
+	/**
+	 * The package namespace name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_PREFIX = "CHESSViews";
+
+	/**
+	 * The singleton instance of the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	CHESSViewsPackage eINSTANCE = org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl.CHESSViewsPackageImpl.init();
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl.ExtraFunctionalViewImpl <em>Extra Functional View</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl.ExtraFunctionalViewImpl
+	 * @see org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl.CHESSViewsPackageImpl#getExtraFunctionalView()
+	 * @generated
+	 */
+	int EXTRA_FUNCTIONAL_VIEW = 0;
+
+	/**
+	 * The feature id for the '<em><b>Base Package</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EXTRA_FUNCTIONAL_VIEW__BASE_PACKAGE = 0;
+
+	/**
+	 * The feature id for the '<em><b>Timingdataflowview</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EXTRA_FUNCTIONAL_VIEW__TIMINGDATAFLOWVIEW = 1;
+
+	/**
+	 * The number of structural features of the '<em>Extra Functional View</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EXTRA_FUNCTIONAL_VIEW_FEATURE_COUNT = 2;
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl.TimingDataFlowViewImpl <em>Timing Data Flow View</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl.TimingDataFlowViewImpl
+	 * @see org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl.CHESSViewsPackageImpl#getTimingDataFlowView()
+	 * @generated
+	 */
+	int TIMING_DATA_FLOW_VIEW = 1;
+
+	/**
+	 * The feature id for the '<em><b>Base Package</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TIMING_DATA_FLOW_VIEW__BASE_PACKAGE = 0;
+
+	/**
+	 * The number of structural features of the '<em>Timing Data Flow View</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TIMING_DATA_FLOW_VIEW_FEATURE_COUNT = 1;
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl.RTAnalysisViewImpl <em>RT Analysis View</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl.RTAnalysisViewImpl
+	 * @see org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl.CHESSViewsPackageImpl#getRTAnalysisView()
+	 * @generated
+	 */
+	int RT_ANALYSIS_VIEW = 2;
+
+	/**
+	 * The feature id for the '<em><b>Base Package</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int RT_ANALYSIS_VIEW__BASE_PACKAGE = 0;
+
+	/**
+	 * The number of structural features of the '<em>RT Analysis View</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int RT_ANALYSIS_VIEW_FEATURE_COUNT = 1;
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl.DeploymentViewImpl <em>Deployment View</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl.DeploymentViewImpl
+	 * @see org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl.CHESSViewsPackageImpl#getDeploymentView()
+	 * @generated
+	 */
+	int DEPLOYMENT_VIEW = 3;
+
+	/**
+	 * The feature id for the '<em><b>Base Package</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DEPLOYMENT_VIEW__BASE_PACKAGE = 0;
+
+	/**
+	 * The feature id for the '<em><b>Assign List</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DEPLOYMENT_VIEW__ASSIGN_LIST = 1;
+
+	/**
+	 * The number of structural features of the '<em>Deployment View</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DEPLOYMENT_VIEW_FEATURE_COUNT = 2;
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl.RequirementViewImpl <em>Requirement View</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl.RequirementViewImpl
+	 * @see org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl.CHESSViewsPackageImpl#getRequirementView()
+	 * @generated
+	 */
+	int REQUIREMENT_VIEW = 4;
+
+	/**
+	 * The feature id for the '<em><b>Base Package</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REQUIREMENT_VIEW__BASE_PACKAGE = 0;
+
+	/**
+	 * The number of structural features of the '<em>Requirement View</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REQUIREMENT_VIEW_FEATURE_COUNT = 1;
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl.ComponentViewImpl <em>Component View</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl.ComponentViewImpl
+	 * @see org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl.CHESSViewsPackageImpl#getComponentView()
+	 * @generated
+	 */
+	int COMPONENT_VIEW = 5;
+
+	/**
+	 * The feature id for the '<em><b>Base Package</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMPONENT_VIEW__BASE_PACKAGE = 0;
+
+	/**
+	 * The number of structural features of the '<em>Component View</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMPONENT_VIEW_FEATURE_COUNT = 1;
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl.DependabilityAnalysisViewImpl <em>Dependability Analysis View</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl.DependabilityAnalysisViewImpl
+	 * @see org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl.CHESSViewsPackageImpl#getDependabilityAnalysisView()
+	 * @generated
+	 */
+	int DEPENDABILITY_ANALYSIS_VIEW = 6;
+
+	/**
+	 * The feature id for the '<em><b>Base Package</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DEPENDABILITY_ANALYSIS_VIEW__BASE_PACKAGE = 0;
+
+	/**
+	 * The number of structural features of the '<em>Dependability Analysis View</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DEPENDABILITY_ANALYSIS_VIEW_FEATURE_COUNT = 1;
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl.SystemViewImpl <em>System View</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl.SystemViewImpl
+	 * @see org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl.CHESSViewsPackageImpl#getSystemView()
+	 * @generated
+	 */
+	int SYSTEM_VIEW = 7;
+
+	/**
+	 * The feature id for the '<em><b>Base Package</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SYSTEM_VIEW__BASE_PACKAGE = 0;
+
+	/**
+	 * The number of structural features of the '<em>System View</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SYSTEM_VIEW_FEATURE_COUNT = 1;
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl.PSMViewImpl <em>PSM View</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl.PSMViewImpl
+	 * @see org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl.CHESSViewsPackageImpl#getPSMView()
+	 * @generated
+	 */
+	int PSM_VIEW = 8;
+
+	/**
+	 * The feature id for the '<em><b>Base Package</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PSM_VIEW__BASE_PACKAGE = 0;
+
+	/**
+	 * The number of structural features of the '<em>PSM View</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PSM_VIEW_FEATURE_COUNT = 1;
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl.AnalysisViewImpl <em>Analysis View</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl.AnalysisViewImpl
+	 * @see org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl.CHESSViewsPackageImpl#getAnalysisView()
+	 * @generated
+	 */
+	int ANALYSIS_VIEW = 9;
+
+	/**
+	 * The feature id for the '<em><b>Base Package</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ANALYSIS_VIEW__BASE_PACKAGE = 0;
+
+	/**
+	 * The feature id for the '<em><b>Rtanalysisview</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ANALYSIS_VIEW__RTANALYSISVIEW = 1;
+
+	/**
+	 * The number of structural features of the '<em>Analysis View</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ANALYSIS_VIEW_FEATURE_COUNT = 2;
+
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.chessmlprofile.Core.CHESSViews.ExtraFunctionalView <em>Extra Functional View</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Extra Functional View</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Core.CHESSViews.ExtraFunctionalView
+	 * @generated
+	 */
+	EClass getExtraFunctionalView();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.polarsys.chess.chessmlprofile.Core.CHESSViews.ExtraFunctionalView#getBase_Package <em>Base Package</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Base Package</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Core.CHESSViews.ExtraFunctionalView#getBase_Package()
+	 * @see #getExtraFunctionalView()
+	 * @generated
+	 */
+	EReference getExtraFunctionalView_Base_Package();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.polarsys.chess.chessmlprofile.Core.CHESSViews.ExtraFunctionalView#getTimingdataflowview <em>Timingdataflowview</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Timingdataflowview</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Core.CHESSViews.ExtraFunctionalView#getTimingdataflowview()
+	 * @see #getExtraFunctionalView()
+	 * @generated
+	 */
+	EReference getExtraFunctionalView_Timingdataflowview();
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.chessmlprofile.Core.CHESSViews.TimingDataFlowView <em>Timing Data Flow View</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Timing Data Flow View</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Core.CHESSViews.TimingDataFlowView
+	 * @generated
+	 */
+	EClass getTimingDataFlowView();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.polarsys.chess.chessmlprofile.Core.CHESSViews.TimingDataFlowView#getBase_Package <em>Base Package</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Base Package</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Core.CHESSViews.TimingDataFlowView#getBase_Package()
+	 * @see #getTimingDataFlowView()
+	 * @generated
+	 */
+	EReference getTimingDataFlowView_Base_Package();
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.chessmlprofile.Core.CHESSViews.RTAnalysisView <em>RT Analysis View</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>RT Analysis View</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Core.CHESSViews.RTAnalysisView
+	 * @generated
+	 */
+	EClass getRTAnalysisView();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.polarsys.chess.chessmlprofile.Core.CHESSViews.RTAnalysisView#getBase_Package <em>Base Package</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Base Package</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Core.CHESSViews.RTAnalysisView#getBase_Package()
+	 * @see #getRTAnalysisView()
+	 * @generated
+	 */
+	EReference getRTAnalysisView_Base_Package();
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.chessmlprofile.Core.CHESSViews.DeploymentView <em>Deployment View</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Deployment View</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Core.CHESSViews.DeploymentView
+	 * @generated
+	 */
+	EClass getDeploymentView();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.polarsys.chess.chessmlprofile.Core.CHESSViews.DeploymentView#getBase_Package <em>Base Package</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Base Package</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Core.CHESSViews.DeploymentView#getBase_Package()
+	 * @see #getDeploymentView()
+	 * @generated
+	 */
+	EReference getDeploymentView_Base_Package();
+
+	/**
+	 * Returns the meta object for the reference list '{@link org.polarsys.chess.chessmlprofile.Core.CHESSViews.DeploymentView#getAssignList <em>Assign List</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference list '<em>Assign List</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Core.CHESSViews.DeploymentView#getAssignList()
+	 * @see #getDeploymentView()
+	 * @generated
+	 */
+	EReference getDeploymentView_AssignList();
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.chessmlprofile.Core.CHESSViews.RequirementView <em>Requirement View</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Requirement View</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Core.CHESSViews.RequirementView
+	 * @generated
+	 */
+	EClass getRequirementView();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.polarsys.chess.chessmlprofile.Core.CHESSViews.RequirementView#getBase_Package <em>Base Package</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Base Package</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Core.CHESSViews.RequirementView#getBase_Package()
+	 * @see #getRequirementView()
+	 * @generated
+	 */
+	EReference getRequirementView_Base_Package();
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.chessmlprofile.Core.CHESSViews.ComponentView <em>Component View</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Component View</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Core.CHESSViews.ComponentView
+	 * @generated
+	 */
+	EClass getComponentView();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.polarsys.chess.chessmlprofile.Core.CHESSViews.ComponentView#getBase_Package <em>Base Package</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Base Package</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Core.CHESSViews.ComponentView#getBase_Package()
+	 * @see #getComponentView()
+	 * @generated
+	 */
+	EReference getComponentView_Base_Package();
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.chessmlprofile.Core.CHESSViews.DependabilityAnalysisView <em>Dependability Analysis View</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Dependability Analysis View</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Core.CHESSViews.DependabilityAnalysisView
+	 * @generated
+	 */
+	EClass getDependabilityAnalysisView();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.polarsys.chess.chessmlprofile.Core.CHESSViews.DependabilityAnalysisView#getBase_Package <em>Base Package</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Base Package</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Core.CHESSViews.DependabilityAnalysisView#getBase_Package()
+	 * @see #getDependabilityAnalysisView()
+	 * @generated
+	 */
+	EReference getDependabilityAnalysisView_Base_Package();
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.chessmlprofile.Core.CHESSViews.SystemView <em>System View</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>System View</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Core.CHESSViews.SystemView
+	 * @generated
+	 */
+	EClass getSystemView();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.polarsys.chess.chessmlprofile.Core.CHESSViews.SystemView#getBase_Package <em>Base Package</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Base Package</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Core.CHESSViews.SystemView#getBase_Package()
+	 * @see #getSystemView()
+	 * @generated
+	 */
+	EReference getSystemView_Base_Package();
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.chessmlprofile.Core.CHESSViews.PSMView <em>PSM View</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>PSM View</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Core.CHESSViews.PSMView
+	 * @generated
+	 */
+	EClass getPSMView();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.polarsys.chess.chessmlprofile.Core.CHESSViews.PSMView#getBase_Package <em>Base Package</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Base Package</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Core.CHESSViews.PSMView#getBase_Package()
+	 * @see #getPSMView()
+	 * @generated
+	 */
+	EReference getPSMView_Base_Package();
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.chessmlprofile.Core.CHESSViews.AnalysisView <em>Analysis View</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Analysis View</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Core.CHESSViews.AnalysisView
+	 * @generated
+	 */
+	EClass getAnalysisView();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.polarsys.chess.chessmlprofile.Core.CHESSViews.AnalysisView#getBase_Package <em>Base Package</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Base Package</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Core.CHESSViews.AnalysisView#getBase_Package()
+	 * @see #getAnalysisView()
+	 * @generated
+	 */
+	EReference getAnalysisView_Base_Package();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.polarsys.chess.chessmlprofile.Core.CHESSViews.AnalysisView#getRtanalysisview <em>Rtanalysisview</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Rtanalysisview</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Core.CHESSViews.AnalysisView#getRtanalysisview()
+	 * @see #getAnalysisView()
+	 * @generated
+	 */
+	EReference getAnalysisView_Rtanalysisview();
+
+	/**
+	 * Returns the factory that creates the instances of the model.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the factory that creates the instances of the model.
+	 * @generated
+	 */
+	CHESSViewsFactory getCHESSViewsFactory();
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * Defines literals for the meta objects that represent
+	 * <ul>
+	 *   <li>each class,</li>
+	 *   <li>each feature of each class,</li>
+	 *   <li>each enum,</li>
+	 *   <li>and each data type</li>
+	 * </ul>
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	interface Literals {
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl.ExtraFunctionalViewImpl <em>Extra Functional View</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl.ExtraFunctionalViewImpl
+		 * @see org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl.CHESSViewsPackageImpl#getExtraFunctionalView()
+		 * @generated
+		 */
+		EClass EXTRA_FUNCTIONAL_VIEW = eINSTANCE.getExtraFunctionalView();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Package</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference EXTRA_FUNCTIONAL_VIEW__BASE_PACKAGE = eINSTANCE.getExtraFunctionalView_Base_Package();
+
+		/**
+		 * The meta object literal for the '<em><b>Timingdataflowview</b></em>' containment reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference EXTRA_FUNCTIONAL_VIEW__TIMINGDATAFLOWVIEW = eINSTANCE.getExtraFunctionalView_Timingdataflowview();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl.TimingDataFlowViewImpl <em>Timing Data Flow View</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl.TimingDataFlowViewImpl
+		 * @see org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl.CHESSViewsPackageImpl#getTimingDataFlowView()
+		 * @generated
+		 */
+		EClass TIMING_DATA_FLOW_VIEW = eINSTANCE.getTimingDataFlowView();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Package</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference TIMING_DATA_FLOW_VIEW__BASE_PACKAGE = eINSTANCE.getTimingDataFlowView_Base_Package();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl.RTAnalysisViewImpl <em>RT Analysis View</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl.RTAnalysisViewImpl
+		 * @see org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl.CHESSViewsPackageImpl#getRTAnalysisView()
+		 * @generated
+		 */
+		EClass RT_ANALYSIS_VIEW = eINSTANCE.getRTAnalysisView();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Package</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference RT_ANALYSIS_VIEW__BASE_PACKAGE = eINSTANCE.getRTAnalysisView_Base_Package();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl.DeploymentViewImpl <em>Deployment View</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl.DeploymentViewImpl
+		 * @see org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl.CHESSViewsPackageImpl#getDeploymentView()
+		 * @generated
+		 */
+		EClass DEPLOYMENT_VIEW = eINSTANCE.getDeploymentView();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Package</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference DEPLOYMENT_VIEW__BASE_PACKAGE = eINSTANCE.getDeploymentView_Base_Package();
+
+		/**
+		 * The meta object literal for the '<em><b>Assign List</b></em>' reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference DEPLOYMENT_VIEW__ASSIGN_LIST = eINSTANCE.getDeploymentView_AssignList();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl.RequirementViewImpl <em>Requirement View</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl.RequirementViewImpl
+		 * @see org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl.CHESSViewsPackageImpl#getRequirementView()
+		 * @generated
+		 */
+		EClass REQUIREMENT_VIEW = eINSTANCE.getRequirementView();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Package</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference REQUIREMENT_VIEW__BASE_PACKAGE = eINSTANCE.getRequirementView_Base_Package();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl.ComponentViewImpl <em>Component View</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl.ComponentViewImpl
+		 * @see org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl.CHESSViewsPackageImpl#getComponentView()
+		 * @generated
+		 */
+		EClass COMPONENT_VIEW = eINSTANCE.getComponentView();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Package</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference COMPONENT_VIEW__BASE_PACKAGE = eINSTANCE.getComponentView_Base_Package();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl.DependabilityAnalysisViewImpl <em>Dependability Analysis View</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl.DependabilityAnalysisViewImpl
+		 * @see org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl.CHESSViewsPackageImpl#getDependabilityAnalysisView()
+		 * @generated
+		 */
+		EClass DEPENDABILITY_ANALYSIS_VIEW = eINSTANCE.getDependabilityAnalysisView();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Package</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference DEPENDABILITY_ANALYSIS_VIEW__BASE_PACKAGE = eINSTANCE.getDependabilityAnalysisView_Base_Package();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl.SystemViewImpl <em>System View</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl.SystemViewImpl
+		 * @see org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl.CHESSViewsPackageImpl#getSystemView()
+		 * @generated
+		 */
+		EClass SYSTEM_VIEW = eINSTANCE.getSystemView();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Package</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference SYSTEM_VIEW__BASE_PACKAGE = eINSTANCE.getSystemView_Base_Package();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl.PSMViewImpl <em>PSM View</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl.PSMViewImpl
+		 * @see org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl.CHESSViewsPackageImpl#getPSMView()
+		 * @generated
+		 */
+		EClass PSM_VIEW = eINSTANCE.getPSMView();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Package</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference PSM_VIEW__BASE_PACKAGE = eINSTANCE.getPSMView_Base_Package();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl.AnalysisViewImpl <em>Analysis View</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl.AnalysisViewImpl
+		 * @see org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl.CHESSViewsPackageImpl#getAnalysisView()
+		 * @generated
+		 */
+		EClass ANALYSIS_VIEW = eINSTANCE.getAnalysisView();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Package</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ANALYSIS_VIEW__BASE_PACKAGE = eINSTANCE.getAnalysisView_Base_Package();
+
+		/**
+		 * The meta object literal for the '<em><b>Rtanalysisview</b></em>' containment reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ANALYSIS_VIEW__RTANALYSISVIEW = eINSTANCE.getAnalysisView_Rtanalysisview();
+
+	}
+
+} //CHESSViewsPackage
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/ComponentView.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/ComponentView.java
new file mode 100644
index 000000000..b524008f2
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/ComponentView.java
@@ -0,0 +1,59 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Core.CHESSViews;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Component View</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Core.CHESSViews.ComponentView#getBase_Package <em>Base Package</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.polarsys.chess.chessmlprofile.Core.CHESSViews.CHESSViewsPackage#getComponentView()
+ * @model
+ * @generated
+ */
+public interface ComponentView extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Base Package</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Package</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Base Package</em>' reference.
+	 * @see #setBase_Package(org.eclipse.uml2.uml.Package)
+	 * @see org.polarsys.chess.chessmlprofile.Core.CHESSViews.CHESSViewsPackage#getComponentView_Base_Package()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	org.eclipse.uml2.uml.Package getBase_Package();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Core.CHESSViews.ComponentView#getBase_Package <em>Base Package</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Base Package</em>' reference.
+	 * @see #getBase_Package()
+	 * @generated
+	 */
+	void setBase_Package(org.eclipse.uml2.uml.Package value);
+
+} // ComponentView
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/DependabilityAnalysisView.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/DependabilityAnalysisView.java
new file mode 100644
index 000000000..f587e2b3b
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/DependabilityAnalysisView.java
@@ -0,0 +1,59 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Core.CHESSViews;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Dependability Analysis View</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Core.CHESSViews.DependabilityAnalysisView#getBase_Package <em>Base Package</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.polarsys.chess.chessmlprofile.Core.CHESSViews.CHESSViewsPackage#getDependabilityAnalysisView()
+ * @model
+ * @generated
+ */
+public interface DependabilityAnalysisView extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Base Package</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Package</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Base Package</em>' reference.
+	 * @see #setBase_Package(org.eclipse.uml2.uml.Package)
+	 * @see org.polarsys.chess.chessmlprofile.Core.CHESSViews.CHESSViewsPackage#getDependabilityAnalysisView_Base_Package()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	org.eclipse.uml2.uml.Package getBase_Package();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Core.CHESSViews.DependabilityAnalysisView#getBase_Package <em>Base Package</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Base Package</em>' reference.
+	 * @see #getBase_Package()
+	 * @generated
+	 */
+	void setBase_Package(org.eclipse.uml2.uml.Package value);
+
+} // DependabilityAnalysisView
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/DeploymentView.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/DeploymentView.java
new file mode 100644
index 000000000..4ec638fb0
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/DeploymentView.java
@@ -0,0 +1,79 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Core.CHESSViews;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.Alloc.Assign;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Deployment View</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Core.CHESSViews.DeploymentView#getBase_Package <em>Base Package</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Core.CHESSViews.DeploymentView#getAssignList <em>Assign List</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.polarsys.chess.chessmlprofile.Core.CHESSViews.CHESSViewsPackage#getDeploymentView()
+ * @model
+ * @generated
+ */
+public interface DeploymentView extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Base Package</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Package</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Base Package</em>' reference.
+	 * @see #setBase_Package(org.eclipse.uml2.uml.Package)
+	 * @see org.polarsys.chess.chessmlprofile.Core.CHESSViews.CHESSViewsPackage#getDeploymentView_Base_Package()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	org.eclipse.uml2.uml.Package getBase_Package();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Core.CHESSViews.DeploymentView#getBase_Package <em>Base Package</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Base Package</em>' reference.
+	 * @see #getBase_Package()
+	 * @generated
+	 */
+	void setBase_Package(org.eclipse.uml2.uml.Package value);
+
+	/**
+	 * Returns the value of the '<em><b>Assign List</b></em>' reference list.
+	 * The list contents are of type {@link org.eclipse.uml2.uml.Comment}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Assign List</em>' reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Assign List</em>' reference list.
+	 * @see org.polarsys.chess.chessmlprofile.Core.CHESSViews.CHESSViewsPackage#getDeploymentView_AssignList()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	EList<Comment> getAssignList();
+
+} // DeploymentView
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/ExtraFunctionalView.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/ExtraFunctionalView.java
new file mode 100644
index 000000000..2c79ecfae
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/ExtraFunctionalView.java
@@ -0,0 +1,86 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Core.CHESSViews;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Extra Functional View</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Core.CHESSViews.ExtraFunctionalView#getBase_Package <em>Base Package</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Core.CHESSViews.ExtraFunctionalView#getTimingdataflowview <em>Timingdataflowview</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.polarsys.chess.chessmlprofile.Core.CHESSViews.CHESSViewsPackage#getExtraFunctionalView()
+ * @model
+ * @generated
+ */
+public interface ExtraFunctionalView extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Base Package</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Package</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Base Package</em>' reference.
+	 * @see #setBase_Package(org.eclipse.uml2.uml.Package)
+	 * @see org.polarsys.chess.chessmlprofile.Core.CHESSViews.CHESSViewsPackage#getExtraFunctionalView_Base_Package()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	org.eclipse.uml2.uml.Package getBase_Package();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Core.CHESSViews.ExtraFunctionalView#getBase_Package <em>Base Package</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Base Package</em>' reference.
+	 * @see #getBase_Package()
+	 * @generated
+	 */
+	void setBase_Package(org.eclipse.uml2.uml.Package value);
+
+	/**
+	 * Returns the value of the '<em><b>Timingdataflowview</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Timingdataflowview</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Timingdataflowview</em>' containment reference.
+	 * @see #setTimingdataflowview(TimingDataFlowView)
+	 * @see org.polarsys.chess.chessmlprofile.Core.CHESSViews.CHESSViewsPackage#getExtraFunctionalView_Timingdataflowview()
+	 * @model containment="true" required="true" ordered="false"
+	 * @generated
+	 */
+	TimingDataFlowView getTimingdataflowview();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Core.CHESSViews.ExtraFunctionalView#getTimingdataflowview <em>Timingdataflowview</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Timingdataflowview</em>' containment reference.
+	 * @see #getTimingdataflowview()
+	 * @generated
+	 */
+	void setTimingdataflowview(TimingDataFlowView value);
+
+} // ExtraFunctionalView
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/PSMView.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/PSMView.java
new file mode 100644
index 000000000..fec3bcb9a
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/PSMView.java
@@ -0,0 +1,59 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Core.CHESSViews;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>PSM View</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Core.CHESSViews.PSMView#getBase_Package <em>Base Package</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.polarsys.chess.chessmlprofile.Core.CHESSViews.CHESSViewsPackage#getPSMView()
+ * @model
+ * @generated
+ */
+public interface PSMView extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Base Package</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Package</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Base Package</em>' reference.
+	 * @see #setBase_Package(org.eclipse.uml2.uml.Package)
+	 * @see org.polarsys.chess.chessmlprofile.Core.CHESSViews.CHESSViewsPackage#getPSMView_Base_Package()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	org.eclipse.uml2.uml.Package getBase_Package();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Core.CHESSViews.PSMView#getBase_Package <em>Base Package</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Base Package</em>' reference.
+	 * @see #getBase_Package()
+	 * @generated
+	 */
+	void setBase_Package(org.eclipse.uml2.uml.Package value);
+
+} // PSMView
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/RTAnalysisView.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/RTAnalysisView.java
new file mode 100644
index 000000000..cfe13dd30
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/RTAnalysisView.java
@@ -0,0 +1,59 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Core.CHESSViews;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>RT Analysis View</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Core.CHESSViews.RTAnalysisView#getBase_Package <em>Base Package</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.polarsys.chess.chessmlprofile.Core.CHESSViews.CHESSViewsPackage#getRTAnalysisView()
+ * @model
+ * @generated
+ */
+public interface RTAnalysisView extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Base Package</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Package</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Base Package</em>' reference.
+	 * @see #setBase_Package(org.eclipse.uml2.uml.Package)
+	 * @see org.polarsys.chess.chessmlprofile.Core.CHESSViews.CHESSViewsPackage#getRTAnalysisView_Base_Package()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	org.eclipse.uml2.uml.Package getBase_Package();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Core.CHESSViews.RTAnalysisView#getBase_Package <em>Base Package</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Base Package</em>' reference.
+	 * @see #getBase_Package()
+	 * @generated
+	 */
+	void setBase_Package(org.eclipse.uml2.uml.Package value);
+
+} // RTAnalysisView
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/RequirementView.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/RequirementView.java
new file mode 100644
index 000000000..9ae8f3ec3
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/RequirementView.java
@@ -0,0 +1,59 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Core.CHESSViews;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Requirement View</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Core.CHESSViews.RequirementView#getBase_Package <em>Base Package</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.polarsys.chess.chessmlprofile.Core.CHESSViews.CHESSViewsPackage#getRequirementView()
+ * @model
+ * @generated
+ */
+public interface RequirementView extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Base Package</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Package</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Base Package</em>' reference.
+	 * @see #setBase_Package(org.eclipse.uml2.uml.Package)
+	 * @see org.polarsys.chess.chessmlprofile.Core.CHESSViews.CHESSViewsPackage#getRequirementView_Base_Package()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	org.eclipse.uml2.uml.Package getBase_Package();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Core.CHESSViews.RequirementView#getBase_Package <em>Base Package</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Base Package</em>' reference.
+	 * @see #getBase_Package()
+	 * @generated
+	 */
+	void setBase_Package(org.eclipse.uml2.uml.Package value);
+
+} // RequirementView
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/SystemView.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/SystemView.java
new file mode 100644
index 000000000..8b63f7fce
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/SystemView.java
@@ -0,0 +1,59 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Core.CHESSViews;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>System View</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Core.CHESSViews.SystemView#getBase_Package <em>Base Package</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.polarsys.chess.chessmlprofile.Core.CHESSViews.CHESSViewsPackage#getSystemView()
+ * @model
+ * @generated
+ */
+public interface SystemView extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Base Package</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Package</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Base Package</em>' reference.
+	 * @see #setBase_Package(org.eclipse.uml2.uml.Package)
+	 * @see org.polarsys.chess.chessmlprofile.Core.CHESSViews.CHESSViewsPackage#getSystemView_Base_Package()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	org.eclipse.uml2.uml.Package getBase_Package();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Core.CHESSViews.SystemView#getBase_Package <em>Base Package</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Base Package</em>' reference.
+	 * @see #getBase_Package()
+	 * @generated
+	 */
+	void setBase_Package(org.eclipse.uml2.uml.Package value);
+
+} // SystemView
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/TimingDataFlowView.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/TimingDataFlowView.java
new file mode 100644
index 000000000..4f82338a1
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/TimingDataFlowView.java
@@ -0,0 +1,59 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Core.CHESSViews;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Timing Data Flow View</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Core.CHESSViews.TimingDataFlowView#getBase_Package <em>Base Package</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.polarsys.chess.chessmlprofile.Core.CHESSViews.CHESSViewsPackage#getTimingDataFlowView()
+ * @model
+ * @generated
+ */
+public interface TimingDataFlowView extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Base Package</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Package</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Base Package</em>' reference.
+	 * @see #setBase_Package(org.eclipse.uml2.uml.Package)
+	 * @see org.polarsys.chess.chessmlprofile.Core.CHESSViews.CHESSViewsPackage#getTimingDataFlowView_Base_Package()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	org.eclipse.uml2.uml.Package getBase_Package();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Core.CHESSViews.TimingDataFlowView#getBase_Package <em>Base Package</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Base Package</em>' reference.
+	 * @see #getBase_Package()
+	 * @generated
+	 */
+	void setBase_Package(org.eclipse.uml2.uml.Package value);
+
+} // TimingDataFlowView
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/impl/AnalysisViewImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/impl/AnalysisViewImpl.java
new file mode 100644
index 000000000..14cdbf5b0
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/impl/AnalysisViewImpl.java
@@ -0,0 +1,242 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.polarsys.chess.chessmlprofile.Core.CHESSViews.AnalysisView;
+import org.polarsys.chess.chessmlprofile.Core.CHESSViews.CHESSViewsPackage;
+import org.polarsys.chess.chessmlprofile.Core.CHESSViews.RTAnalysisView;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Analysis View</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl.AnalysisViewImpl#getBase_Package <em>Base Package</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl.AnalysisViewImpl#getRtanalysisview <em>Rtanalysisview</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class AnalysisViewImpl extends EObjectImpl implements AnalysisView {
+	/**
+	 * The cached value of the '{@link #getBase_Package() <em>Base Package</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBase_Package()
+	 * @generated
+	 * @ordered
+	 */
+	protected org.eclipse.uml2.uml.Package base_Package;
+
+	/**
+	 * The cached value of the '{@link #getRtanalysisview() <em>Rtanalysisview</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getRtanalysisview()
+	 * @generated
+	 * @ordered
+	 */
+	protected RTAnalysisView rtanalysisview;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected AnalysisViewImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return CHESSViewsPackage.Literals.ANALYSIS_VIEW;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public org.eclipse.uml2.uml.Package getBase_Package() {
+		if (base_Package != null && base_Package.eIsProxy()) {
+			InternalEObject oldBase_Package = (InternalEObject)base_Package;
+			base_Package = (org.eclipse.uml2.uml.Package)eResolveProxy(oldBase_Package);
+			if (base_Package != oldBase_Package) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, CHESSViewsPackage.ANALYSIS_VIEW__BASE_PACKAGE, oldBase_Package, base_Package));
+			}
+		}
+		return base_Package;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public org.eclipse.uml2.uml.Package basicGetBase_Package() {
+		return base_Package;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setBase_Package(org.eclipse.uml2.uml.Package newBase_Package) {
+		org.eclipse.uml2.uml.Package oldBase_Package = base_Package;
+		base_Package = newBase_Package;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, CHESSViewsPackage.ANALYSIS_VIEW__BASE_PACKAGE, oldBase_Package, base_Package));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public RTAnalysisView getRtanalysisview() {
+		return rtanalysisview;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetRtanalysisview(RTAnalysisView newRtanalysisview, NotificationChain msgs) {
+		RTAnalysisView oldRtanalysisview = rtanalysisview;
+		rtanalysisview = newRtanalysisview;
+		if (eNotificationRequired()) {
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, CHESSViewsPackage.ANALYSIS_VIEW__RTANALYSISVIEW, oldRtanalysisview, newRtanalysisview);
+			if (msgs == null) msgs = notification; else msgs.add(notification);
+		}
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setRtanalysisview(RTAnalysisView newRtanalysisview) {
+		if (newRtanalysisview != rtanalysisview) {
+			NotificationChain msgs = null;
+			if (rtanalysisview != null)
+				msgs = ((InternalEObject)rtanalysisview).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - CHESSViewsPackage.ANALYSIS_VIEW__RTANALYSISVIEW, null, msgs);
+			if (newRtanalysisview != null)
+				msgs = ((InternalEObject)newRtanalysisview).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - CHESSViewsPackage.ANALYSIS_VIEW__RTANALYSISVIEW, null, msgs);
+			msgs = basicSetRtanalysisview(newRtanalysisview, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, CHESSViewsPackage.ANALYSIS_VIEW__RTANALYSISVIEW, newRtanalysisview, newRtanalysisview));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+			case CHESSViewsPackage.ANALYSIS_VIEW__RTANALYSISVIEW:
+				return basicSetRtanalysisview(null, msgs);
+		}
+		return super.eInverseRemove(otherEnd, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case CHESSViewsPackage.ANALYSIS_VIEW__BASE_PACKAGE:
+				if (resolve) return getBase_Package();
+				return basicGetBase_Package();
+			case CHESSViewsPackage.ANALYSIS_VIEW__RTANALYSISVIEW:
+				return getRtanalysisview();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case CHESSViewsPackage.ANALYSIS_VIEW__BASE_PACKAGE:
+				setBase_Package((org.eclipse.uml2.uml.Package)newValue);
+				return;
+			case CHESSViewsPackage.ANALYSIS_VIEW__RTANALYSISVIEW:
+				setRtanalysisview((RTAnalysisView)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case CHESSViewsPackage.ANALYSIS_VIEW__BASE_PACKAGE:
+				setBase_Package((org.eclipse.uml2.uml.Package)null);
+				return;
+			case CHESSViewsPackage.ANALYSIS_VIEW__RTANALYSISVIEW:
+				setRtanalysisview((RTAnalysisView)null);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case CHESSViewsPackage.ANALYSIS_VIEW__BASE_PACKAGE:
+				return base_Package != null;
+			case CHESSViewsPackage.ANALYSIS_VIEW__RTANALYSISVIEW:
+				return rtanalysisview != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //AnalysisViewImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/impl/CHESSViewsFactoryImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/impl/CHESSViewsFactoryImpl.java
new file mode 100644
index 000000000..8e4b73e26
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/impl/CHESSViewsFactoryImpl.java
@@ -0,0 +1,200 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.polarsys.chess.chessmlprofile.Core.CHESSViews.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CHESSViewsFactoryImpl extends EFactoryImpl implements CHESSViewsFactory {
+	/**
+	 * Creates the default factory implementation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static CHESSViewsFactory init() {
+		try {
+			CHESSViewsFactory theCHESSViewsFactory = (CHESSViewsFactory)EPackage.Registry.INSTANCE.getEFactory(CHESSViewsPackage.eNS_URI);
+			if (theCHESSViewsFactory != null) {
+				return theCHESSViewsFactory;
+			}
+		}
+		catch (Exception exception) {
+			EcorePlugin.INSTANCE.log(exception);
+		}
+		return new CHESSViewsFactoryImpl();
+	}
+
+	/**
+	 * Creates an instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CHESSViewsFactoryImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EObject create(EClass eClass) {
+		switch (eClass.getClassifierID()) {
+			case CHESSViewsPackage.EXTRA_FUNCTIONAL_VIEW: return createExtraFunctionalView();
+			case CHESSViewsPackage.TIMING_DATA_FLOW_VIEW: return createTimingDataFlowView();
+			case CHESSViewsPackage.RT_ANALYSIS_VIEW: return createRTAnalysisView();
+			case CHESSViewsPackage.DEPLOYMENT_VIEW: return createDeploymentView();
+			case CHESSViewsPackage.REQUIREMENT_VIEW: return createRequirementView();
+			case CHESSViewsPackage.COMPONENT_VIEW: return createComponentView();
+			case CHESSViewsPackage.DEPENDABILITY_ANALYSIS_VIEW: return createDependabilityAnalysisView();
+			case CHESSViewsPackage.SYSTEM_VIEW: return createSystemView();
+			case CHESSViewsPackage.PSM_VIEW: return createPSMView();
+			case CHESSViewsPackage.ANALYSIS_VIEW: return createAnalysisView();
+			default:
+				throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ExtraFunctionalView createExtraFunctionalView() {
+		ExtraFunctionalViewImpl extraFunctionalView = new ExtraFunctionalViewImpl();
+		return extraFunctionalView;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public TimingDataFlowView createTimingDataFlowView() {
+		TimingDataFlowViewImpl timingDataFlowView = new TimingDataFlowViewImpl();
+		return timingDataFlowView;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public RTAnalysisView createRTAnalysisView() {
+		RTAnalysisViewImpl rtAnalysisView = new RTAnalysisViewImpl();
+		return rtAnalysisView;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public DeploymentView createDeploymentView() {
+		DeploymentViewImpl deploymentView = new DeploymentViewImpl();
+		return deploymentView;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public RequirementView createRequirementView() {
+		RequirementViewImpl requirementView = new RequirementViewImpl();
+		return requirementView;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ComponentView createComponentView() {
+		ComponentViewImpl componentView = new ComponentViewImpl();
+		return componentView;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public DependabilityAnalysisView createDependabilityAnalysisView() {
+		DependabilityAnalysisViewImpl dependabilityAnalysisView = new DependabilityAnalysisViewImpl();
+		return dependabilityAnalysisView;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public SystemView createSystemView() {
+		SystemViewImpl systemView = new SystemViewImpl();
+		return systemView;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public PSMView createPSMView() {
+		PSMViewImpl psmView = new PSMViewImpl();
+		return psmView;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public AnalysisView createAnalysisView() {
+		AnalysisViewImpl analysisView = new AnalysisViewImpl();
+		return analysisView;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CHESSViewsPackage getCHESSViewsPackage() {
+		return (CHESSViewsPackage)getEPackage();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @deprecated
+	 * @generated
+	 */
+	@Deprecated
+	public static CHESSViewsPackage getPackage() {
+		return CHESSViewsPackage.eINSTANCE;
+	}
+
+} //CHESSViewsFactoryImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/impl/CHESSViewsPackageImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/impl/CHESSViewsPackageImpl.java
new file mode 100644
index 000000000..e3d5c08f0
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/impl/CHESSViewsPackageImpl.java
@@ -0,0 +1,640 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+import org.eclipse.papyrus.MARTE.MARTEPackage;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.Alloc.AllocPackage;
+import org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.BasicNFP_TypesPackage;
+import org.eclipse.papyrus.MARTE_Library.GRM_BasicTypes.GRM_BasicTypesPackage;
+import org.eclipse.papyrus.MARTE_Library.MARTE_DataTypes.MARTE_DataTypesPackage;
+import org.eclipse.papyrus.MARTE_Library.MARTE_PrimitivesTypes.MARTE_PrimitivesTypesPackage;
+import org.eclipse.papyrus.MARTE_Library.MeasurementUnits.MeasurementUnitsPackage;
+import org.eclipse.papyrus.MARTE_Library.RS_Library.RS_LibraryPackage;
+import org.eclipse.papyrus.MARTE_Library.TimeLibrary.TimeLibraryPackage;
+import org.eclipse.papyrus.MARTE_Library.TimeTypesLibrary.TimeTypesLibraryPackage;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.polarsys.chess.chessmlprofile.chessmlprofilePackage;
+import org.polarsys.chess.chessmlprofile.ComponentModel.ComponentModelPackage;
+import org.polarsys.chess.chessmlprofile.ComponentModel.impl.ComponentModelPackageImpl;
+import org.polarsys.chess.chessmlprofile.Core.CorePackage;
+import org.polarsys.chess.chessmlprofile.Core.CHESSViews.AnalysisView;
+import org.polarsys.chess.chessmlprofile.Core.CHESSViews.CHESSViewsFactory;
+import org.polarsys.chess.chessmlprofile.Core.CHESSViews.CHESSViewsPackage;
+import org.polarsys.chess.chessmlprofile.Core.CHESSViews.ComponentView;
+import org.polarsys.chess.chessmlprofile.Core.CHESSViews.DependabilityAnalysisView;
+import org.polarsys.chess.chessmlprofile.Core.CHESSViews.DeploymentView;
+import org.polarsys.chess.chessmlprofile.Core.CHESSViews.ExtraFunctionalView;
+import org.polarsys.chess.chessmlprofile.Core.CHESSViews.PSMView;
+import org.polarsys.chess.chessmlprofile.Core.CHESSViews.RTAnalysisView;
+import org.polarsys.chess.chessmlprofile.Core.CHESSViews.RequirementView;
+import org.polarsys.chess.chessmlprofile.Core.CHESSViews.SystemView;
+import org.polarsys.chess.chessmlprofile.Core.CHESSViews.TimingDataFlowView;
+import org.polarsys.chess.chessmlprofile.Core.impl.CorePackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.DataFlowCallGraph.DataFlowCallGraphPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.DataFlowCallGraph.impl.DataFlowCallGraphPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.DependableComponentPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.impl.DependableComponentPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEAPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEADataTypes.FMEADataTypesPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEADataTypes.impl.FMEADataTypesPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.impl.FMEAPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.FailurePropagationDataTypesPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.impl.FailurePropagationDataTypesPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl.FailurePropagationPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans.MitigationMeansPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans.impl.MitigationMeansPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.FaultTolerancePackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.impl.FaultTolerancePackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.MaintenanceMonitoringPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.impl.MaintenanceMonitoringPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.StateBasedAnalysisPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.impl.StateBasedAnalysisPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StateBasedComponentsPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.impl.StateBasedComponentsPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.StateBasedDataTypesPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.impl.StateBasedDataTypesPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatsPropagationPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.ThreatsPropagationPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.DeploymentConfAnalysisPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.impl.DeploymentConfAnalysisPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HardwareBaselinePackage;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.HardwareBaselinePackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTComponentModelPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.RTDataTypesPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.impl.RTDataTypesPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.impl.RTComponentModelPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingAnalysisPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.TimingConstraintsPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.impl.TimingConstraintsPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.impl.TimingAnalysisPackageImpl;
+import org.polarsys.chess.chessmlprofile.impl.chessmlprofilePackageImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CHESSViewsPackageImpl extends EPackageImpl implements CHESSViewsPackage {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass extraFunctionalViewEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass timingDataFlowViewEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass rtAnalysisViewEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass deploymentViewEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass requirementViewEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass componentViewEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass dependabilityAnalysisViewEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass systemViewEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass psmViewEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass analysisViewEClass = null;
+
+	/**
+	 * Creates an instance of the model <b>Package</b>, registered with
+	 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+	 * package URI value.
+	 * <p>Note: the correct way to create the package is via the static
+	 * factory method {@link #init init()}, which also performs
+	 * initialization of the package, or returns the registered package,
+	 * if one already exists.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.emf.ecore.EPackage.Registry
+	 * @see org.polarsys.chess.chessmlprofile.Core.CHESSViews.CHESSViewsPackage#eNS_URI
+	 * @see #init()
+	 * @generated
+	 */
+	private CHESSViewsPackageImpl() {
+		super(eNS_URI, CHESSViewsFactory.eINSTANCE);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static boolean isInited = false;
+
+	/**
+	 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+	 * 
+	 * <p>This method is used to initialize {@link CHESSViewsPackage#eINSTANCE} when that field is accessed.
+	 * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #eNS_URI
+	 * @see #createPackageContents()
+	 * @see #initializePackageContents()
+	 * @generated
+	 */
+	public static CHESSViewsPackage init() {
+		if (isInited) return (CHESSViewsPackage)EPackage.Registry.INSTANCE.getEPackage(CHESSViewsPackage.eNS_URI);
+
+		// Obtain or create and register package
+		CHESSViewsPackageImpl theCHESSViewsPackage = (CHESSViewsPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof CHESSViewsPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new CHESSViewsPackageImpl());
+
+		isInited = true;
+
+		// Initialize simple dependencies
+		MARTEPackage.eINSTANCE.eClass();
+		MeasurementUnitsPackage.eINSTANCE.eClass();
+		GRM_BasicTypesPackage.eINSTANCE.eClass();
+		MARTE_DataTypesPackage.eINSTANCE.eClass();
+		BasicNFP_TypesPackage.eINSTANCE.eClass();
+		TimeTypesLibraryPackage.eINSTANCE.eClass();
+		TimeLibraryPackage.eINSTANCE.eClass();
+		RS_LibraryPackage.eINSTANCE.eClass();
+		MARTE_PrimitivesTypesPackage.eINSTANCE.eClass();
+		BasicNFP_TypesPackage.eINSTANCE.eClass();
+
+		// Obtain or create and register interdependencies
+		chessmlprofilePackageImpl thechessmlprofilePackage = (chessmlprofilePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(chessmlprofilePackage.eNS_URI) instanceof chessmlprofilePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(chessmlprofilePackage.eNS_URI) : chessmlprofilePackage.eINSTANCE);
+		CorePackageImpl theCorePackage = (CorePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(CorePackage.eNS_URI) instanceof CorePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(CorePackage.eNS_URI) : CorePackage.eINSTANCE);
+		FailurePropagationPackageImpl theFailurePropagationPackage = (FailurePropagationPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FailurePropagationPackage.eNS_URI) instanceof FailurePropagationPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FailurePropagationPackage.eNS_URI) : FailurePropagationPackage.eINSTANCE);
+		FailurePropagationDataTypesPackageImpl theFailurePropagationDataTypesPackage = (FailurePropagationDataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FailurePropagationDataTypesPackage.eNS_URI) instanceof FailurePropagationDataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FailurePropagationDataTypesPackage.eNS_URI) : FailurePropagationDataTypesPackage.eINSTANCE);
+		DependableComponentPackageImpl theDependableComponentPackage = (DependableComponentPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DependableComponentPackage.eNS_URI) instanceof DependableComponentPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DependableComponentPackage.eNS_URI) : DependableComponentPackage.eINSTANCE);
+		ThreatsPropagationPackageImpl theThreatsPropagationPackage = (ThreatsPropagationPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ThreatsPropagationPackage.eNS_URI) instanceof ThreatsPropagationPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ThreatsPropagationPackage.eNS_URI) : ThreatsPropagationPackage.eINSTANCE);
+		DataFlowCallGraphPackageImpl theDataFlowCallGraphPackage = (DataFlowCallGraphPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DataFlowCallGraphPackage.eNS_URI) instanceof DataFlowCallGraphPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DataFlowCallGraphPackage.eNS_URI) : DataFlowCallGraphPackage.eINSTANCE);
+		StateBasedDataTypesPackageImpl theStateBasedDataTypesPackage = (StateBasedDataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(StateBasedDataTypesPackage.eNS_URI) instanceof StateBasedDataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(StateBasedDataTypesPackage.eNS_URI) : StateBasedDataTypesPackage.eINSTANCE);
+		StateBasedComponentsPackageImpl theStateBasedComponentsPackage = (StateBasedComponentsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(StateBasedComponentsPackage.eNS_URI) instanceof StateBasedComponentsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(StateBasedComponentsPackage.eNS_URI) : StateBasedComponentsPackage.eINSTANCE);
+		FaultTolerancePackageImpl theFaultTolerancePackage = (FaultTolerancePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FaultTolerancePackage.eNS_URI) instanceof FaultTolerancePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FaultTolerancePackage.eNS_URI) : FaultTolerancePackage.eINSTANCE);
+		MaintenanceMonitoringPackageImpl theMaintenanceMonitoringPackage = (MaintenanceMonitoringPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(MaintenanceMonitoringPackage.eNS_URI) instanceof MaintenanceMonitoringPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(MaintenanceMonitoringPackage.eNS_URI) : MaintenanceMonitoringPackage.eINSTANCE);
+		StateBasedAnalysisPackageImpl theStateBasedAnalysisPackage = (StateBasedAnalysisPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(StateBasedAnalysisPackage.eNS_URI) instanceof StateBasedAnalysisPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(StateBasedAnalysisPackage.eNS_URI) : StateBasedAnalysisPackage.eINSTANCE);
+		FMEAPackageImpl theFMEAPackage = (FMEAPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FMEAPackage.eNS_URI) instanceof FMEAPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FMEAPackage.eNS_URI) : FMEAPackage.eINSTANCE);
+		FMEADataTypesPackageImpl theFMEADataTypesPackage = (FMEADataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FMEADataTypesPackage.eNS_URI) instanceof FMEADataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FMEADataTypesPackage.eNS_URI) : FMEADataTypesPackage.eINSTANCE);
+		MitigationMeansPackageImpl theMitigationMeansPackage = (MitigationMeansPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(MitigationMeansPackage.eNS_URI) instanceof MitigationMeansPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(MitigationMeansPackage.eNS_URI) : MitigationMeansPackage.eINSTANCE);
+		TimingAnalysisPackageImpl theTimingAnalysisPackage = (TimingAnalysisPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimingAnalysisPackage.eNS_URI) instanceof TimingAnalysisPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimingAnalysisPackage.eNS_URI) : TimingAnalysisPackage.eINSTANCE);
+		TimingConstraintsPackageImpl theTimingConstraintsPackage = (TimingConstraintsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimingConstraintsPackage.eNS_URI) instanceof TimingConstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimingConstraintsPackage.eNS_URI) : TimingConstraintsPackage.eINSTANCE);
+		HardwareBaselinePackageImpl theHardwareBaselinePackage = (HardwareBaselinePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HardwareBaselinePackage.eNS_URI) instanceof HardwareBaselinePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HardwareBaselinePackage.eNS_URI) : HardwareBaselinePackage.eINSTANCE);
+		DeploymentConfAnalysisPackageImpl theDeploymentConfAnalysisPackage = (DeploymentConfAnalysisPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DeploymentConfAnalysisPackage.eNS_URI) instanceof DeploymentConfAnalysisPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DeploymentConfAnalysisPackage.eNS_URI) : DeploymentConfAnalysisPackage.eINSTANCE);
+		RTComponentModelPackageImpl theRTComponentModelPackage = (RTComponentModelPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RTComponentModelPackage.eNS_URI) instanceof RTComponentModelPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RTComponentModelPackage.eNS_URI) : RTComponentModelPackage.eINSTANCE);
+		RTDataTypesPackageImpl theRTDataTypesPackage = (RTDataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RTDataTypesPackage.eNS_URI) instanceof RTDataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RTDataTypesPackage.eNS_URI) : RTDataTypesPackage.eINSTANCE);
+		ComponentModelPackageImpl theComponentModelPackage = (ComponentModelPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ComponentModelPackage.eNS_URI) instanceof ComponentModelPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ComponentModelPackage.eNS_URI) : ComponentModelPackage.eINSTANCE);
+
+		// Create package meta-data objects
+		theCHESSViewsPackage.createPackageContents();
+		thechessmlprofilePackage.createPackageContents();
+		theCorePackage.createPackageContents();
+		theFailurePropagationPackage.createPackageContents();
+		theFailurePropagationDataTypesPackage.createPackageContents();
+		theDependableComponentPackage.createPackageContents();
+		theThreatsPropagationPackage.createPackageContents();
+		theDataFlowCallGraphPackage.createPackageContents();
+		theStateBasedDataTypesPackage.createPackageContents();
+		theStateBasedComponentsPackage.createPackageContents();
+		theFaultTolerancePackage.createPackageContents();
+		theMaintenanceMonitoringPackage.createPackageContents();
+		theStateBasedAnalysisPackage.createPackageContents();
+		theFMEAPackage.createPackageContents();
+		theFMEADataTypesPackage.createPackageContents();
+		theMitigationMeansPackage.createPackageContents();
+		theTimingAnalysisPackage.createPackageContents();
+		theTimingConstraintsPackage.createPackageContents();
+		theHardwareBaselinePackage.createPackageContents();
+		theDeploymentConfAnalysisPackage.createPackageContents();
+		theRTComponentModelPackage.createPackageContents();
+		theRTDataTypesPackage.createPackageContents();
+		theComponentModelPackage.createPackageContents();
+
+		// Initialize created meta-data
+		theCHESSViewsPackage.initializePackageContents();
+		thechessmlprofilePackage.initializePackageContents();
+		theCorePackage.initializePackageContents();
+		theFailurePropagationPackage.initializePackageContents();
+		theFailurePropagationDataTypesPackage.initializePackageContents();
+		theDependableComponentPackage.initializePackageContents();
+		theThreatsPropagationPackage.initializePackageContents();
+		theDataFlowCallGraphPackage.initializePackageContents();
+		theStateBasedDataTypesPackage.initializePackageContents();
+		theStateBasedComponentsPackage.initializePackageContents();
+		theFaultTolerancePackage.initializePackageContents();
+		theMaintenanceMonitoringPackage.initializePackageContents();
+		theStateBasedAnalysisPackage.initializePackageContents();
+		theFMEAPackage.initializePackageContents();
+		theFMEADataTypesPackage.initializePackageContents();
+		theMitigationMeansPackage.initializePackageContents();
+		theTimingAnalysisPackage.initializePackageContents();
+		theTimingConstraintsPackage.initializePackageContents();
+		theHardwareBaselinePackage.initializePackageContents();
+		theDeploymentConfAnalysisPackage.initializePackageContents();
+		theRTComponentModelPackage.initializePackageContents();
+		theRTDataTypesPackage.initializePackageContents();
+		theComponentModelPackage.initializePackageContents();
+
+		// Mark meta-data to indicate it can't be changed
+		theCHESSViewsPackage.freeze();
+
+  
+		// Update the registry and return the package
+		EPackage.Registry.INSTANCE.put(CHESSViewsPackage.eNS_URI, theCHESSViewsPackage);
+		return theCHESSViewsPackage;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getExtraFunctionalView() {
+		return extraFunctionalViewEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getExtraFunctionalView_Base_Package() {
+		return (EReference)extraFunctionalViewEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getExtraFunctionalView_Timingdataflowview() {
+		return (EReference)extraFunctionalViewEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getTimingDataFlowView() {
+		return timingDataFlowViewEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getTimingDataFlowView_Base_Package() {
+		return (EReference)timingDataFlowViewEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getRTAnalysisView() {
+		return rtAnalysisViewEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getRTAnalysisView_Base_Package() {
+		return (EReference)rtAnalysisViewEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getDeploymentView() {
+		return deploymentViewEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getDeploymentView_Base_Package() {
+		return (EReference)deploymentViewEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getDeploymentView_AssignList() {
+		return (EReference)deploymentViewEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getRequirementView() {
+		return requirementViewEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getRequirementView_Base_Package() {
+		return (EReference)requirementViewEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getComponentView() {
+		return componentViewEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getComponentView_Base_Package() {
+		return (EReference)componentViewEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getDependabilityAnalysisView() {
+		return dependabilityAnalysisViewEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getDependabilityAnalysisView_Base_Package() {
+		return (EReference)dependabilityAnalysisViewEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getSystemView() {
+		return systemViewEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getSystemView_Base_Package() {
+		return (EReference)systemViewEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getPSMView() {
+		return psmViewEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getPSMView_Base_Package() {
+		return (EReference)psmViewEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getAnalysisView() {
+		return analysisViewEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getAnalysisView_Base_Package() {
+		return (EReference)analysisViewEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getAnalysisView_Rtanalysisview() {
+		return (EReference)analysisViewEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CHESSViewsFactory getCHESSViewsFactory() {
+		return (CHESSViewsFactory)getEFactoryInstance();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isCreated = false;
+
+	/**
+	 * Creates the meta-model objects for the package.  This method is
+	 * guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void createPackageContents() {
+		if (isCreated) return;
+		isCreated = true;
+
+		// Create classes and their features
+		extraFunctionalViewEClass = createEClass(EXTRA_FUNCTIONAL_VIEW);
+		createEReference(extraFunctionalViewEClass, EXTRA_FUNCTIONAL_VIEW__BASE_PACKAGE);
+		createEReference(extraFunctionalViewEClass, EXTRA_FUNCTIONAL_VIEW__TIMINGDATAFLOWVIEW);
+
+		timingDataFlowViewEClass = createEClass(TIMING_DATA_FLOW_VIEW);
+		createEReference(timingDataFlowViewEClass, TIMING_DATA_FLOW_VIEW__BASE_PACKAGE);
+
+		rtAnalysisViewEClass = createEClass(RT_ANALYSIS_VIEW);
+		createEReference(rtAnalysisViewEClass, RT_ANALYSIS_VIEW__BASE_PACKAGE);
+
+		deploymentViewEClass = createEClass(DEPLOYMENT_VIEW);
+		createEReference(deploymentViewEClass, DEPLOYMENT_VIEW__BASE_PACKAGE);
+		createEReference(deploymentViewEClass, DEPLOYMENT_VIEW__ASSIGN_LIST);
+
+		requirementViewEClass = createEClass(REQUIREMENT_VIEW);
+		createEReference(requirementViewEClass, REQUIREMENT_VIEW__BASE_PACKAGE);
+
+		componentViewEClass = createEClass(COMPONENT_VIEW);
+		createEReference(componentViewEClass, COMPONENT_VIEW__BASE_PACKAGE);
+
+		dependabilityAnalysisViewEClass = createEClass(DEPENDABILITY_ANALYSIS_VIEW);
+		createEReference(dependabilityAnalysisViewEClass, DEPENDABILITY_ANALYSIS_VIEW__BASE_PACKAGE);
+
+		systemViewEClass = createEClass(SYSTEM_VIEW);
+		createEReference(systemViewEClass, SYSTEM_VIEW__BASE_PACKAGE);
+
+		psmViewEClass = createEClass(PSM_VIEW);
+		createEReference(psmViewEClass, PSM_VIEW__BASE_PACKAGE);
+
+		analysisViewEClass = createEClass(ANALYSIS_VIEW);
+		createEReference(analysisViewEClass, ANALYSIS_VIEW__BASE_PACKAGE);
+		createEReference(analysisViewEClass, ANALYSIS_VIEW__RTANALYSISVIEW);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isInitialized = false;
+
+	/**
+	 * Complete the initialization of the package and its meta-model.  This
+	 * method is guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void initializePackageContents() {
+		if (isInitialized) return;
+		isInitialized = true;
+
+		// Initialize package
+		setName(eNAME);
+		setNsPrefix(eNS_PREFIX);
+		setNsURI(eNS_URI);
+
+		// Obtain other dependent packages
+		UMLPackage theUMLPackage = (UMLPackage)EPackage.Registry.INSTANCE.getEPackage(UMLPackage.eNS_URI);
+
+		// Create type parameters
+
+		// Set bounds for type parameters
+
+		// Add supertypes to classes
+
+		// Initialize classes and features; add operations and parameters
+		initEClass(extraFunctionalViewEClass, ExtraFunctionalView.class, "ExtraFunctionalView", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getExtraFunctionalView_Base_Package(), theUMLPackage.getPackage(), null, "base_Package", null, 1, 1, ExtraFunctionalView.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEReference(getExtraFunctionalView_Timingdataflowview(), this.getTimingDataFlowView(), null, "timingdataflowview", null, 1, 1, ExtraFunctionalView.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+		initEClass(timingDataFlowViewEClass, TimingDataFlowView.class, "TimingDataFlowView", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getTimingDataFlowView_Base_Package(), theUMLPackage.getPackage(), null, "base_Package", null, 1, 1, TimingDataFlowView.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+		initEClass(rtAnalysisViewEClass, RTAnalysisView.class, "RTAnalysisView", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getRTAnalysisView_Base_Package(), theUMLPackage.getPackage(), null, "base_Package", null, 1, 1, RTAnalysisView.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+		initEClass(deploymentViewEClass, DeploymentView.class, "DeploymentView", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getDeploymentView_Base_Package(), theUMLPackage.getPackage(), null, "base_Package", null, 1, 1, DeploymentView.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEReference(getDeploymentView_AssignList(), theUMLPackage.getComment(), null, "AssignList", null, 0, -1, DeploymentView.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+		initEClass(requirementViewEClass, RequirementView.class, "RequirementView", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getRequirementView_Base_Package(), theUMLPackage.getPackage(), null, "base_Package", null, 1, 1, RequirementView.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+		initEClass(componentViewEClass, ComponentView.class, "ComponentView", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getComponentView_Base_Package(), theUMLPackage.getPackage(), null, "base_Package", null, 1, 1, ComponentView.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+		initEClass(dependabilityAnalysisViewEClass, DependabilityAnalysisView.class, "DependabilityAnalysisView", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getDependabilityAnalysisView_Base_Package(), theUMLPackage.getPackage(), null, "base_Package", null, 1, 1, DependabilityAnalysisView.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+		initEClass(systemViewEClass, SystemView.class, "SystemView", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getSystemView_Base_Package(), theUMLPackage.getPackage(), null, "base_Package", null, 1, 1, SystemView.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+		initEClass(psmViewEClass, PSMView.class, "PSMView", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getPSMView_Base_Package(), theUMLPackage.getPackage(), null, "base_Package", null, 1, 1, PSMView.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+		initEClass(analysisViewEClass, AnalysisView.class, "AnalysisView", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getAnalysisView_Base_Package(), theUMLPackage.getPackage(), null, "base_Package", null, 1, 1, AnalysisView.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEReference(getAnalysisView_Rtanalysisview(), this.getRTAnalysisView(), null, "rtanalysisview", null, 1, 1, AnalysisView.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+	}
+
+} //CHESSViewsPackageImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/impl/ComponentViewImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/impl/ComponentViewImpl.java
new file mode 100644
index 000000000..9ef3b0ac5
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/impl/ComponentViewImpl.java
@@ -0,0 +1,162 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.polarsys.chess.chessmlprofile.Core.CHESSViews.CHESSViewsPackage;
+import org.polarsys.chess.chessmlprofile.Core.CHESSViews.ComponentView;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Component View</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl.ComponentViewImpl#getBase_Package <em>Base Package</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ComponentViewImpl extends EObjectImpl implements ComponentView {
+	/**
+	 * The cached value of the '{@link #getBase_Package() <em>Base Package</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBase_Package()
+	 * @generated
+	 * @ordered
+	 */
+	protected org.eclipse.uml2.uml.Package base_Package;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ComponentViewImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return CHESSViewsPackage.Literals.COMPONENT_VIEW;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public org.eclipse.uml2.uml.Package getBase_Package() {
+		if (base_Package != null && base_Package.eIsProxy()) {
+			InternalEObject oldBase_Package = (InternalEObject)base_Package;
+			base_Package = (org.eclipse.uml2.uml.Package)eResolveProxy(oldBase_Package);
+			if (base_Package != oldBase_Package) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, CHESSViewsPackage.COMPONENT_VIEW__BASE_PACKAGE, oldBase_Package, base_Package));
+			}
+		}
+		return base_Package;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public org.eclipse.uml2.uml.Package basicGetBase_Package() {
+		return base_Package;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setBase_Package(org.eclipse.uml2.uml.Package newBase_Package) {
+		org.eclipse.uml2.uml.Package oldBase_Package = base_Package;
+		base_Package = newBase_Package;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, CHESSViewsPackage.COMPONENT_VIEW__BASE_PACKAGE, oldBase_Package, base_Package));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case CHESSViewsPackage.COMPONENT_VIEW__BASE_PACKAGE:
+				if (resolve) return getBase_Package();
+				return basicGetBase_Package();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case CHESSViewsPackage.COMPONENT_VIEW__BASE_PACKAGE:
+				setBase_Package((org.eclipse.uml2.uml.Package)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case CHESSViewsPackage.COMPONENT_VIEW__BASE_PACKAGE:
+				setBase_Package((org.eclipse.uml2.uml.Package)null);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case CHESSViewsPackage.COMPONENT_VIEW__BASE_PACKAGE:
+				return base_Package != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //ComponentViewImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/impl/DependabilityAnalysisViewImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/impl/DependabilityAnalysisViewImpl.java
new file mode 100644
index 000000000..461eb4f5d
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/impl/DependabilityAnalysisViewImpl.java
@@ -0,0 +1,162 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.polarsys.chess.chessmlprofile.Core.CHESSViews.CHESSViewsPackage;
+import org.polarsys.chess.chessmlprofile.Core.CHESSViews.DependabilityAnalysisView;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Dependability Analysis View</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl.DependabilityAnalysisViewImpl#getBase_Package <em>Base Package</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class DependabilityAnalysisViewImpl extends EObjectImpl implements DependabilityAnalysisView {
+	/**
+	 * The cached value of the '{@link #getBase_Package() <em>Base Package</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBase_Package()
+	 * @generated
+	 * @ordered
+	 */
+	protected org.eclipse.uml2.uml.Package base_Package;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected DependabilityAnalysisViewImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return CHESSViewsPackage.Literals.DEPENDABILITY_ANALYSIS_VIEW;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public org.eclipse.uml2.uml.Package getBase_Package() {
+		if (base_Package != null && base_Package.eIsProxy()) {
+			InternalEObject oldBase_Package = (InternalEObject)base_Package;
+			base_Package = (org.eclipse.uml2.uml.Package)eResolveProxy(oldBase_Package);
+			if (base_Package != oldBase_Package) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, CHESSViewsPackage.DEPENDABILITY_ANALYSIS_VIEW__BASE_PACKAGE, oldBase_Package, base_Package));
+			}
+		}
+		return base_Package;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public org.eclipse.uml2.uml.Package basicGetBase_Package() {
+		return base_Package;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setBase_Package(org.eclipse.uml2.uml.Package newBase_Package) {
+		org.eclipse.uml2.uml.Package oldBase_Package = base_Package;
+		base_Package = newBase_Package;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, CHESSViewsPackage.DEPENDABILITY_ANALYSIS_VIEW__BASE_PACKAGE, oldBase_Package, base_Package));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case CHESSViewsPackage.DEPENDABILITY_ANALYSIS_VIEW__BASE_PACKAGE:
+				if (resolve) return getBase_Package();
+				return basicGetBase_Package();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case CHESSViewsPackage.DEPENDABILITY_ANALYSIS_VIEW__BASE_PACKAGE:
+				setBase_Package((org.eclipse.uml2.uml.Package)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case CHESSViewsPackage.DEPENDABILITY_ANALYSIS_VIEW__BASE_PACKAGE:
+				setBase_Package((org.eclipse.uml2.uml.Package)null);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case CHESSViewsPackage.DEPENDABILITY_ANALYSIS_VIEW__BASE_PACKAGE:
+				return base_Package != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //DependabilityAnalysisViewImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/impl/DeploymentViewImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/impl/DeploymentViewImpl.java
new file mode 100644
index 000000000..e8a40a0bf
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/impl/DeploymentViewImpl.java
@@ -0,0 +1,203 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.Alloc.Assign;
+import org.polarsys.chess.chessmlprofile.Core.CHESSViews.CHESSViewsPackage;
+import org.polarsys.chess.chessmlprofile.Core.CHESSViews.DeploymentView;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Deployment View</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl.DeploymentViewImpl#getBase_Package <em>Base Package</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl.DeploymentViewImpl#getAssignList <em>Assign List</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class DeploymentViewImpl extends EObjectImpl implements DeploymentView {
+	/**
+	 * The cached value of the '{@link #getBase_Package() <em>Base Package</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBase_Package()
+	 * @generated
+	 * @ordered
+	 */
+	protected org.eclipse.uml2.uml.Package base_Package;
+
+	/**
+	 * The cached value of the '{@link #getAssignList() <em>Assign List</em>}' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getAssignList()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<Comment> assignList;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected DeploymentViewImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return CHESSViewsPackage.Literals.DEPLOYMENT_VIEW;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public org.eclipse.uml2.uml.Package getBase_Package() {
+		if (base_Package != null && base_Package.eIsProxy()) {
+			InternalEObject oldBase_Package = (InternalEObject)base_Package;
+			base_Package = (org.eclipse.uml2.uml.Package)eResolveProxy(oldBase_Package);
+			if (base_Package != oldBase_Package) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, CHESSViewsPackage.DEPLOYMENT_VIEW__BASE_PACKAGE, oldBase_Package, base_Package));
+			}
+		}
+		return base_Package;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public org.eclipse.uml2.uml.Package basicGetBase_Package() {
+		return base_Package;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setBase_Package(org.eclipse.uml2.uml.Package newBase_Package) {
+		org.eclipse.uml2.uml.Package oldBase_Package = base_Package;
+		base_Package = newBase_Package;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, CHESSViewsPackage.DEPLOYMENT_VIEW__BASE_PACKAGE, oldBase_Package, base_Package));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<Comment> getAssignList() {
+		if (assignList == null) {
+			assignList = new EObjectResolvingEList<Comment>(Comment.class, this, CHESSViewsPackage.DEPLOYMENT_VIEW__ASSIGN_LIST);
+		}
+		return assignList;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case CHESSViewsPackage.DEPLOYMENT_VIEW__BASE_PACKAGE:
+				if (resolve) return getBase_Package();
+				return basicGetBase_Package();
+			case CHESSViewsPackage.DEPLOYMENT_VIEW__ASSIGN_LIST:
+				return getAssignList();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case CHESSViewsPackage.DEPLOYMENT_VIEW__BASE_PACKAGE:
+				setBase_Package((org.eclipse.uml2.uml.Package)newValue);
+				return;
+			case CHESSViewsPackage.DEPLOYMENT_VIEW__ASSIGN_LIST:
+				getAssignList().clear();
+				getAssignList().addAll((Collection<? extends Comment>)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case CHESSViewsPackage.DEPLOYMENT_VIEW__BASE_PACKAGE:
+				setBase_Package((org.eclipse.uml2.uml.Package)null);
+				return;
+			case CHESSViewsPackage.DEPLOYMENT_VIEW__ASSIGN_LIST:
+				getAssignList().clear();
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case CHESSViewsPackage.DEPLOYMENT_VIEW__BASE_PACKAGE:
+				return base_Package != null;
+			case CHESSViewsPackage.DEPLOYMENT_VIEW__ASSIGN_LIST:
+				return assignList != null && !assignList.isEmpty();
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //DeploymentViewImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/impl/ExtraFunctionalViewImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/impl/ExtraFunctionalViewImpl.java
new file mode 100644
index 000000000..8f0303fff
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/impl/ExtraFunctionalViewImpl.java
@@ -0,0 +1,242 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.polarsys.chess.chessmlprofile.Core.CHESSViews.CHESSViewsPackage;
+import org.polarsys.chess.chessmlprofile.Core.CHESSViews.ExtraFunctionalView;
+import org.polarsys.chess.chessmlprofile.Core.CHESSViews.TimingDataFlowView;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Extra Functional View</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl.ExtraFunctionalViewImpl#getBase_Package <em>Base Package</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl.ExtraFunctionalViewImpl#getTimingdataflowview <em>Timingdataflowview</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ExtraFunctionalViewImpl extends EObjectImpl implements ExtraFunctionalView {
+	/**
+	 * The cached value of the '{@link #getBase_Package() <em>Base Package</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBase_Package()
+	 * @generated
+	 * @ordered
+	 */
+	protected org.eclipse.uml2.uml.Package base_Package;
+
+	/**
+	 * The cached value of the '{@link #getTimingdataflowview() <em>Timingdataflowview</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getTimingdataflowview()
+	 * @generated
+	 * @ordered
+	 */
+	protected TimingDataFlowView timingdataflowview;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ExtraFunctionalViewImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return CHESSViewsPackage.Literals.EXTRA_FUNCTIONAL_VIEW;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public org.eclipse.uml2.uml.Package getBase_Package() {
+		if (base_Package != null && base_Package.eIsProxy()) {
+			InternalEObject oldBase_Package = (InternalEObject)base_Package;
+			base_Package = (org.eclipse.uml2.uml.Package)eResolveProxy(oldBase_Package);
+			if (base_Package != oldBase_Package) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, CHESSViewsPackage.EXTRA_FUNCTIONAL_VIEW__BASE_PACKAGE, oldBase_Package, base_Package));
+			}
+		}
+		return base_Package;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public org.eclipse.uml2.uml.Package basicGetBase_Package() {
+		return base_Package;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setBase_Package(org.eclipse.uml2.uml.Package newBase_Package) {
+		org.eclipse.uml2.uml.Package oldBase_Package = base_Package;
+		base_Package = newBase_Package;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, CHESSViewsPackage.EXTRA_FUNCTIONAL_VIEW__BASE_PACKAGE, oldBase_Package, base_Package));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public TimingDataFlowView getTimingdataflowview() {
+		return timingdataflowview;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetTimingdataflowview(TimingDataFlowView newTimingdataflowview, NotificationChain msgs) {
+		TimingDataFlowView oldTimingdataflowview = timingdataflowview;
+		timingdataflowview = newTimingdataflowview;
+		if (eNotificationRequired()) {
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, CHESSViewsPackage.EXTRA_FUNCTIONAL_VIEW__TIMINGDATAFLOWVIEW, oldTimingdataflowview, newTimingdataflowview);
+			if (msgs == null) msgs = notification; else msgs.add(notification);
+		}
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setTimingdataflowview(TimingDataFlowView newTimingdataflowview) {
+		if (newTimingdataflowview != timingdataflowview) {
+			NotificationChain msgs = null;
+			if (timingdataflowview != null)
+				msgs = ((InternalEObject)timingdataflowview).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - CHESSViewsPackage.EXTRA_FUNCTIONAL_VIEW__TIMINGDATAFLOWVIEW, null, msgs);
+			if (newTimingdataflowview != null)
+				msgs = ((InternalEObject)newTimingdataflowview).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - CHESSViewsPackage.EXTRA_FUNCTIONAL_VIEW__TIMINGDATAFLOWVIEW, null, msgs);
+			msgs = basicSetTimingdataflowview(newTimingdataflowview, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, CHESSViewsPackage.EXTRA_FUNCTIONAL_VIEW__TIMINGDATAFLOWVIEW, newTimingdataflowview, newTimingdataflowview));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+			case CHESSViewsPackage.EXTRA_FUNCTIONAL_VIEW__TIMINGDATAFLOWVIEW:
+				return basicSetTimingdataflowview(null, msgs);
+		}
+		return super.eInverseRemove(otherEnd, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case CHESSViewsPackage.EXTRA_FUNCTIONAL_VIEW__BASE_PACKAGE:
+				if (resolve) return getBase_Package();
+				return basicGetBase_Package();
+			case CHESSViewsPackage.EXTRA_FUNCTIONAL_VIEW__TIMINGDATAFLOWVIEW:
+				return getTimingdataflowview();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case CHESSViewsPackage.EXTRA_FUNCTIONAL_VIEW__BASE_PACKAGE:
+				setBase_Package((org.eclipse.uml2.uml.Package)newValue);
+				return;
+			case CHESSViewsPackage.EXTRA_FUNCTIONAL_VIEW__TIMINGDATAFLOWVIEW:
+				setTimingdataflowview((TimingDataFlowView)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case CHESSViewsPackage.EXTRA_FUNCTIONAL_VIEW__BASE_PACKAGE:
+				setBase_Package((org.eclipse.uml2.uml.Package)null);
+				return;
+			case CHESSViewsPackage.EXTRA_FUNCTIONAL_VIEW__TIMINGDATAFLOWVIEW:
+				setTimingdataflowview((TimingDataFlowView)null);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case CHESSViewsPackage.EXTRA_FUNCTIONAL_VIEW__BASE_PACKAGE:
+				return base_Package != null;
+			case CHESSViewsPackage.EXTRA_FUNCTIONAL_VIEW__TIMINGDATAFLOWVIEW:
+				return timingdataflowview != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //ExtraFunctionalViewImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/impl/PSMViewImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/impl/PSMViewImpl.java
new file mode 100644
index 000000000..e95bdd4c0
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/impl/PSMViewImpl.java
@@ -0,0 +1,165 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+import org.polarsys.chess.chessmlprofile.Core.CHESSViews.CHESSViewsPackage;
+import org.polarsys.chess.chessmlprofile.Core.CHESSViews.PSMView;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>PSM View</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl.PSMViewImpl#getBase_Package <em>Base Package</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class PSMViewImpl extends EObjectImpl implements PSMView {
+	/**
+	 * The cached value of the '{@link #getBase_Package() <em>Base Package</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBase_Package()
+	 * @generated
+	 * @ordered
+	 */
+	protected org.eclipse.uml2.uml.Package base_Package;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected PSMViewImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return CHESSViewsPackage.Literals.PSM_VIEW;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public org.eclipse.uml2.uml.Package getBase_Package() {
+		if (base_Package != null && base_Package.eIsProxy()) {
+			InternalEObject oldBase_Package = (InternalEObject)base_Package;
+			base_Package = (org.eclipse.uml2.uml.Package)eResolveProxy(oldBase_Package);
+			if (base_Package != oldBase_Package) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, CHESSViewsPackage.PSM_VIEW__BASE_PACKAGE, oldBase_Package, base_Package));
+			}
+		}
+		return base_Package;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public org.eclipse.uml2.uml.Package basicGetBase_Package() {
+		return base_Package;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setBase_Package(org.eclipse.uml2.uml.Package newBase_Package) {
+		org.eclipse.uml2.uml.Package oldBase_Package = base_Package;
+		base_Package = newBase_Package;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, CHESSViewsPackage.PSM_VIEW__BASE_PACKAGE, oldBase_Package, base_Package));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case CHESSViewsPackage.PSM_VIEW__BASE_PACKAGE:
+				if (resolve) return getBase_Package();
+				return basicGetBase_Package();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case CHESSViewsPackage.PSM_VIEW__BASE_PACKAGE:
+				setBase_Package((org.eclipse.uml2.uml.Package)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case CHESSViewsPackage.PSM_VIEW__BASE_PACKAGE:
+				setBase_Package((org.eclipse.uml2.uml.Package)null);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case CHESSViewsPackage.PSM_VIEW__BASE_PACKAGE:
+				return base_Package != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //PSMViewImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/impl/RTAnalysisViewImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/impl/RTAnalysisViewImpl.java
new file mode 100644
index 000000000..6892070d8
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/impl/RTAnalysisViewImpl.java
@@ -0,0 +1,162 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.polarsys.chess.chessmlprofile.Core.CHESSViews.CHESSViewsPackage;
+import org.polarsys.chess.chessmlprofile.Core.CHESSViews.RTAnalysisView;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>RT Analysis View</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl.RTAnalysisViewImpl#getBase_Package <em>Base Package</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class RTAnalysisViewImpl extends EObjectImpl implements RTAnalysisView {
+	/**
+	 * The cached value of the '{@link #getBase_Package() <em>Base Package</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBase_Package()
+	 * @generated
+	 * @ordered
+	 */
+	protected org.eclipse.uml2.uml.Package base_Package;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected RTAnalysisViewImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return CHESSViewsPackage.Literals.RT_ANALYSIS_VIEW;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public org.eclipse.uml2.uml.Package getBase_Package() {
+		if (base_Package != null && base_Package.eIsProxy()) {
+			InternalEObject oldBase_Package = (InternalEObject)base_Package;
+			base_Package = (org.eclipse.uml2.uml.Package)eResolveProxy(oldBase_Package);
+			if (base_Package != oldBase_Package) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, CHESSViewsPackage.RT_ANALYSIS_VIEW__BASE_PACKAGE, oldBase_Package, base_Package));
+			}
+		}
+		return base_Package;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public org.eclipse.uml2.uml.Package basicGetBase_Package() {
+		return base_Package;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setBase_Package(org.eclipse.uml2.uml.Package newBase_Package) {
+		org.eclipse.uml2.uml.Package oldBase_Package = base_Package;
+		base_Package = newBase_Package;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, CHESSViewsPackage.RT_ANALYSIS_VIEW__BASE_PACKAGE, oldBase_Package, base_Package));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case CHESSViewsPackage.RT_ANALYSIS_VIEW__BASE_PACKAGE:
+				if (resolve) return getBase_Package();
+				return basicGetBase_Package();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case CHESSViewsPackage.RT_ANALYSIS_VIEW__BASE_PACKAGE:
+				setBase_Package((org.eclipse.uml2.uml.Package)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case CHESSViewsPackage.RT_ANALYSIS_VIEW__BASE_PACKAGE:
+				setBase_Package((org.eclipse.uml2.uml.Package)null);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case CHESSViewsPackage.RT_ANALYSIS_VIEW__BASE_PACKAGE:
+				return base_Package != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //RTAnalysisViewImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/impl/RequirementViewImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/impl/RequirementViewImpl.java
new file mode 100644
index 000000000..6d2ddab54
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/impl/RequirementViewImpl.java
@@ -0,0 +1,162 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.polarsys.chess.chessmlprofile.Core.CHESSViews.CHESSViewsPackage;
+import org.polarsys.chess.chessmlprofile.Core.CHESSViews.RequirementView;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Requirement View</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl.RequirementViewImpl#getBase_Package <em>Base Package</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class RequirementViewImpl extends EObjectImpl implements RequirementView {
+	/**
+	 * The cached value of the '{@link #getBase_Package() <em>Base Package</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBase_Package()
+	 * @generated
+	 * @ordered
+	 */
+	protected org.eclipse.uml2.uml.Package base_Package;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected RequirementViewImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return CHESSViewsPackage.Literals.REQUIREMENT_VIEW;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public org.eclipse.uml2.uml.Package getBase_Package() {
+		if (base_Package != null && base_Package.eIsProxy()) {
+			InternalEObject oldBase_Package = (InternalEObject)base_Package;
+			base_Package = (org.eclipse.uml2.uml.Package)eResolveProxy(oldBase_Package);
+			if (base_Package != oldBase_Package) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, CHESSViewsPackage.REQUIREMENT_VIEW__BASE_PACKAGE, oldBase_Package, base_Package));
+			}
+		}
+		return base_Package;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public org.eclipse.uml2.uml.Package basicGetBase_Package() {
+		return base_Package;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setBase_Package(org.eclipse.uml2.uml.Package newBase_Package) {
+		org.eclipse.uml2.uml.Package oldBase_Package = base_Package;
+		base_Package = newBase_Package;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, CHESSViewsPackage.REQUIREMENT_VIEW__BASE_PACKAGE, oldBase_Package, base_Package));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case CHESSViewsPackage.REQUIREMENT_VIEW__BASE_PACKAGE:
+				if (resolve) return getBase_Package();
+				return basicGetBase_Package();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case CHESSViewsPackage.REQUIREMENT_VIEW__BASE_PACKAGE:
+				setBase_Package((org.eclipse.uml2.uml.Package)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case CHESSViewsPackage.REQUIREMENT_VIEW__BASE_PACKAGE:
+				setBase_Package((org.eclipse.uml2.uml.Package)null);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case CHESSViewsPackage.REQUIREMENT_VIEW__BASE_PACKAGE:
+				return base_Package != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //RequirementViewImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/impl/SystemViewImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/impl/SystemViewImpl.java
new file mode 100644
index 000000000..4d60f9356
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/impl/SystemViewImpl.java
@@ -0,0 +1,162 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.polarsys.chess.chessmlprofile.Core.CHESSViews.CHESSViewsPackage;
+import org.polarsys.chess.chessmlprofile.Core.CHESSViews.SystemView;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>System View</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl.SystemViewImpl#getBase_Package <em>Base Package</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class SystemViewImpl extends EObjectImpl implements SystemView {
+	/**
+	 * The cached value of the '{@link #getBase_Package() <em>Base Package</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBase_Package()
+	 * @generated
+	 * @ordered
+	 */
+	protected org.eclipse.uml2.uml.Package base_Package;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected SystemViewImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return CHESSViewsPackage.Literals.SYSTEM_VIEW;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public org.eclipse.uml2.uml.Package getBase_Package() {
+		if (base_Package != null && base_Package.eIsProxy()) {
+			InternalEObject oldBase_Package = (InternalEObject)base_Package;
+			base_Package = (org.eclipse.uml2.uml.Package)eResolveProxy(oldBase_Package);
+			if (base_Package != oldBase_Package) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, CHESSViewsPackage.SYSTEM_VIEW__BASE_PACKAGE, oldBase_Package, base_Package));
+			}
+		}
+		return base_Package;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public org.eclipse.uml2.uml.Package basicGetBase_Package() {
+		return base_Package;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setBase_Package(org.eclipse.uml2.uml.Package newBase_Package) {
+		org.eclipse.uml2.uml.Package oldBase_Package = base_Package;
+		base_Package = newBase_Package;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, CHESSViewsPackage.SYSTEM_VIEW__BASE_PACKAGE, oldBase_Package, base_Package));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case CHESSViewsPackage.SYSTEM_VIEW__BASE_PACKAGE:
+				if (resolve) return getBase_Package();
+				return basicGetBase_Package();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case CHESSViewsPackage.SYSTEM_VIEW__BASE_PACKAGE:
+				setBase_Package((org.eclipse.uml2.uml.Package)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case CHESSViewsPackage.SYSTEM_VIEW__BASE_PACKAGE:
+				setBase_Package((org.eclipse.uml2.uml.Package)null);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case CHESSViewsPackage.SYSTEM_VIEW__BASE_PACKAGE:
+				return base_Package != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //SystemViewImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/impl/TimingDataFlowViewImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/impl/TimingDataFlowViewImpl.java
new file mode 100644
index 000000000..0506819bc
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/impl/TimingDataFlowViewImpl.java
@@ -0,0 +1,162 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.polarsys.chess.chessmlprofile.Core.CHESSViews.CHESSViewsPackage;
+import org.polarsys.chess.chessmlprofile.Core.CHESSViews.TimingDataFlowView;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Timing Data Flow View</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl.TimingDataFlowViewImpl#getBase_Package <em>Base Package</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class TimingDataFlowViewImpl extends EObjectImpl implements TimingDataFlowView {
+	/**
+	 * The cached value of the '{@link #getBase_Package() <em>Base Package</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBase_Package()
+	 * @generated
+	 * @ordered
+	 */
+	protected org.eclipse.uml2.uml.Package base_Package;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected TimingDataFlowViewImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return CHESSViewsPackage.Literals.TIMING_DATA_FLOW_VIEW;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public org.eclipse.uml2.uml.Package getBase_Package() {
+		if (base_Package != null && base_Package.eIsProxy()) {
+			InternalEObject oldBase_Package = (InternalEObject)base_Package;
+			base_Package = (org.eclipse.uml2.uml.Package)eResolveProxy(oldBase_Package);
+			if (base_Package != oldBase_Package) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, CHESSViewsPackage.TIMING_DATA_FLOW_VIEW__BASE_PACKAGE, oldBase_Package, base_Package));
+			}
+		}
+		return base_Package;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public org.eclipse.uml2.uml.Package basicGetBase_Package() {
+		return base_Package;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setBase_Package(org.eclipse.uml2.uml.Package newBase_Package) {
+		org.eclipse.uml2.uml.Package oldBase_Package = base_Package;
+		base_Package = newBase_Package;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, CHESSViewsPackage.TIMING_DATA_FLOW_VIEW__BASE_PACKAGE, oldBase_Package, base_Package));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case CHESSViewsPackage.TIMING_DATA_FLOW_VIEW__BASE_PACKAGE:
+				if (resolve) return getBase_Package();
+				return basicGetBase_Package();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case CHESSViewsPackage.TIMING_DATA_FLOW_VIEW__BASE_PACKAGE:
+				setBase_Package((org.eclipse.uml2.uml.Package)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case CHESSViewsPackage.TIMING_DATA_FLOW_VIEW__BASE_PACKAGE:
+				setBase_Package((org.eclipse.uml2.uml.Package)null);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case CHESSViewsPackage.TIMING_DATA_FLOW_VIEW__BASE_PACKAGE:
+				return base_Package != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //TimingDataFlowViewImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/util/CHESSViewsAdapterFactory.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/util/CHESSViewsAdapterFactory.java
new file mode 100644
index 000000000..a8314a8ca
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/util/CHESSViewsAdapterFactory.java
@@ -0,0 +1,288 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Core.CHESSViews.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+import org.eclipse.emf.ecore.EObject;
+import org.polarsys.chess.chessmlprofile.Core.CHESSViews.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Core.CHESSViews.CHESSViewsPackage
+ * @generated
+ */
+public class CHESSViewsAdapterFactory extends AdapterFactoryImpl {
+	/**
+	 * The cached model package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static CHESSViewsPackage modelPackage;
+
+	/**
+	 * Creates an instance of the adapter factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CHESSViewsAdapterFactory() {
+		if (modelPackage == null) {
+			modelPackage = CHESSViewsPackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Returns whether this factory is applicable for the type of the object.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+	 * <!-- end-user-doc -->
+	 * @return whether this factory is applicable for the type of the object.
+	 * @generated
+	 */
+	@Override
+	public boolean isFactoryForType(Object object) {
+		if (object == modelPackage) {
+			return true;
+		}
+		if (object instanceof EObject) {
+			return ((EObject)object).eClass().getEPackage() == modelPackage;
+		}
+		return false;
+	}
+
+	/**
+	 * The switch that delegates to the <code>createXXX</code> methods.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CHESSViewsSwitch<Adapter> modelSwitch =
+		new CHESSViewsSwitch<Adapter>() {
+			@Override
+			public Adapter caseExtraFunctionalView(ExtraFunctionalView object) {
+				return createExtraFunctionalViewAdapter();
+			}
+			@Override
+			public Adapter caseTimingDataFlowView(TimingDataFlowView object) {
+				return createTimingDataFlowViewAdapter();
+			}
+			@Override
+			public Adapter caseRTAnalysisView(RTAnalysisView object) {
+				return createRTAnalysisViewAdapter();
+			}
+			@Override
+			public Adapter caseDeploymentView(DeploymentView object) {
+				return createDeploymentViewAdapter();
+			}
+			@Override
+			public Adapter caseRequirementView(RequirementView object) {
+				return createRequirementViewAdapter();
+			}
+			@Override
+			public Adapter caseComponentView(ComponentView object) {
+				return createComponentViewAdapter();
+			}
+			@Override
+			public Adapter caseDependabilityAnalysisView(DependabilityAnalysisView object) {
+				return createDependabilityAnalysisViewAdapter();
+			}
+			@Override
+			public Adapter caseSystemView(SystemView object) {
+				return createSystemViewAdapter();
+			}
+			@Override
+			public Adapter casePSMView(PSMView object) {
+				return createPSMViewAdapter();
+			}
+			@Override
+			public Adapter caseAnalysisView(AnalysisView object) {
+				return createAnalysisViewAdapter();
+			}
+			@Override
+			public Adapter defaultCase(EObject object) {
+				return createEObjectAdapter();
+			}
+		};
+
+	/**
+	 * Creates an adapter for the <code>target</code>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param target the object to adapt.
+	 * @return the adapter for the <code>target</code>.
+	 * @generated
+	 */
+	@Override
+	public Adapter createAdapter(Notifier target) {
+		return modelSwitch.doSwitch((EObject)target);
+	}
+
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.Core.CHESSViews.ExtraFunctionalView <em>Extra Functional View</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.Core.CHESSViews.ExtraFunctionalView
+	 * @generated
+	 */
+	public Adapter createExtraFunctionalViewAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.Core.CHESSViews.TimingDataFlowView <em>Timing Data Flow View</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.Core.CHESSViews.TimingDataFlowView
+	 * @generated
+	 */
+	public Adapter createTimingDataFlowViewAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.Core.CHESSViews.RTAnalysisView <em>RT Analysis View</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.Core.CHESSViews.RTAnalysisView
+	 * @generated
+	 */
+	public Adapter createRTAnalysisViewAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.Core.CHESSViews.DeploymentView <em>Deployment View</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.Core.CHESSViews.DeploymentView
+	 * @generated
+	 */
+	public Adapter createDeploymentViewAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.Core.CHESSViews.RequirementView <em>Requirement View</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.Core.CHESSViews.RequirementView
+	 * @generated
+	 */
+	public Adapter createRequirementViewAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.Core.CHESSViews.ComponentView <em>Component View</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.Core.CHESSViews.ComponentView
+	 * @generated
+	 */
+	public Adapter createComponentViewAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.Core.CHESSViews.DependabilityAnalysisView <em>Dependability Analysis View</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.Core.CHESSViews.DependabilityAnalysisView
+	 * @generated
+	 */
+	public Adapter createDependabilityAnalysisViewAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.Core.CHESSViews.SystemView <em>System View</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.Core.CHESSViews.SystemView
+	 * @generated
+	 */
+	public Adapter createSystemViewAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.Core.CHESSViews.PSMView <em>PSM View</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.Core.CHESSViews.PSMView
+	 * @generated
+	 */
+	public Adapter createPSMViewAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.Core.CHESSViews.AnalysisView <em>Analysis View</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.Core.CHESSViews.AnalysisView
+	 * @generated
+	 */
+	public Adapter createAnalysisViewAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for the default case.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @generated
+	 */
+	public Adapter createEObjectAdapter() {
+		return null;
+	}
+
+} //CHESSViewsAdapterFactory
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/util/CHESSViewsResourceFactoryImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/util/CHESSViewsResourceFactoryImpl.java
new file mode 100644
index 000000000..656a1beae
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/util/CHESSViewsResourceFactoryImpl.java
@@ -0,0 +1,61 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Core.CHESSViews.util;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.resource.impl.ResourceFactoryImpl;
+
+import org.eclipse.emf.ecore.xmi.XMLResource;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource Factory</b> associated with the package.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Core.CHESSViews.util.CHESSViewsResourceImpl
+ * @generated
+ */
+public class CHESSViewsResourceFactoryImpl extends ResourceFactoryImpl {
+	/**
+	 * Creates an instance of the resource factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CHESSViewsResourceFactoryImpl() {
+		super();
+	}
+
+	/**
+	 * Creates an instance of the resource.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Resource createResource(URI uri) {
+		XMLResource result = new CHESSViewsResourceImpl(uri);
+		result.getDefaultSaveOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
+		result.getDefaultLoadOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
+
+		result.getDefaultSaveOptions().put(XMLResource.OPTION_SCHEMA_LOCATION, Boolean.TRUE);
+
+		result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+		result.getDefaultSaveOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+
+		result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_LEXICAL_HANDLER, Boolean.TRUE);
+		return result;
+	}
+
+} //CHESSViewsResourceFactoryImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/util/CHESSViewsResourceImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/util/CHESSViewsResourceImpl.java
new file mode 100644
index 000000000..08e1f41cb
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/util/CHESSViewsResourceImpl.java
@@ -0,0 +1,37 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Core.CHESSViews.util;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource </b> associated with the package.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Core.CHESSViews.util.CHESSViewsResourceFactoryImpl
+ * @generated
+ */
+public class CHESSViewsResourceImpl extends XMLResourceImpl {
+	/**
+	 * Creates an instance of the resource.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param uri the URI of the new resource.
+	 * @generated
+	 */
+	public CHESSViewsResourceImpl(URI uri) {
+		super(uri);
+	}
+
+} //CHESSViewsResourceImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/util/CHESSViewsSwitch.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/util/CHESSViewsSwitch.java
new file mode 100644
index 000000000..70362df27
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/util/CHESSViewsSwitch.java
@@ -0,0 +1,309 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Core.CHESSViews.util;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.util.Switch;
+import org.polarsys.chess.chessmlprofile.Core.CHESSViews.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Core.CHESSViews.CHESSViewsPackage
+ * @generated
+ */
+public class CHESSViewsSwitch<T> extends Switch<T> {
+	/**
+	 * The cached model package
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static CHESSViewsPackage modelPackage;
+
+	/**
+	 * Creates an instance of the switch.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CHESSViewsSwitch() {
+		if (modelPackage == null) {
+			modelPackage = CHESSViewsPackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Checks whether this is a switch for the given package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @parameter ePackage the package in question.
+	 * @return whether this is a switch for the given package.
+	 * @generated
+	 */
+	@Override
+	protected boolean isSwitchFor(EPackage ePackage) {
+		return ePackage == modelPackage;
+	}
+
+	/**
+	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the first non-null result returned by a <code>caseXXX</code> call.
+	 * @generated
+	 */
+	@Override
+	protected T doSwitch(int classifierID, EObject theEObject) {
+		switch (classifierID) {
+			case CHESSViewsPackage.EXTRA_FUNCTIONAL_VIEW: {
+				ExtraFunctionalView extraFunctionalView = (ExtraFunctionalView)theEObject;
+				T result = caseExtraFunctionalView(extraFunctionalView);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case CHESSViewsPackage.TIMING_DATA_FLOW_VIEW: {
+				TimingDataFlowView timingDataFlowView = (TimingDataFlowView)theEObject;
+				T result = caseTimingDataFlowView(timingDataFlowView);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case CHESSViewsPackage.RT_ANALYSIS_VIEW: {
+				RTAnalysisView rtAnalysisView = (RTAnalysisView)theEObject;
+				T result = caseRTAnalysisView(rtAnalysisView);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case CHESSViewsPackage.DEPLOYMENT_VIEW: {
+				DeploymentView deploymentView = (DeploymentView)theEObject;
+				T result = caseDeploymentView(deploymentView);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case CHESSViewsPackage.REQUIREMENT_VIEW: {
+				RequirementView requirementView = (RequirementView)theEObject;
+				T result = caseRequirementView(requirementView);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case CHESSViewsPackage.COMPONENT_VIEW: {
+				ComponentView componentView = (ComponentView)theEObject;
+				T result = caseComponentView(componentView);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case CHESSViewsPackage.DEPENDABILITY_ANALYSIS_VIEW: {
+				DependabilityAnalysisView dependabilityAnalysisView = (DependabilityAnalysisView)theEObject;
+				T result = caseDependabilityAnalysisView(dependabilityAnalysisView);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case CHESSViewsPackage.SYSTEM_VIEW: {
+				SystemView systemView = (SystemView)theEObject;
+				T result = caseSystemView(systemView);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case CHESSViewsPackage.PSM_VIEW: {
+				PSMView psmView = (PSMView)theEObject;
+				T result = casePSMView(psmView);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case CHESSViewsPackage.ANALYSIS_VIEW: {
+				AnalysisView analysisView = (AnalysisView)theEObject;
+				T result = caseAnalysisView(analysisView);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			default: return defaultCase(theEObject);
+		}
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Extra Functional View</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Extra Functional View</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseExtraFunctionalView(ExtraFunctionalView object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Timing Data Flow View</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Timing Data Flow View</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseTimingDataFlowView(TimingDataFlowView object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>RT Analysis View</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>RT Analysis View</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseRTAnalysisView(RTAnalysisView object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Deployment View</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Deployment View</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseDeploymentView(DeploymentView object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Requirement View</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Requirement View</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseRequirementView(RequirementView object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Component View</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Component View</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseComponentView(ComponentView object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Dependability Analysis View</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Dependability Analysis View</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseDependabilityAnalysisView(DependabilityAnalysisView object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>System View</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>System View</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseSystemView(SystemView object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>PSM View</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>PSM View</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T casePSMView(PSMView object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Analysis View</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Analysis View</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseAnalysisView(AnalysisView object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch, but this is the last case anyway.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+	 * @generated
+	 */
+	@Override
+	public T defaultCase(EObject object) {
+		return null;
+	}
+
+} //CHESSViewsSwitch
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/util/CHESSViewsXMLProcessor.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/util/CHESSViewsXMLProcessor.java
new file mode 100644
index 000000000..67e96139c
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHESSViews/util/CHESSViewsXMLProcessor.java
@@ -0,0 +1,56 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Core.CHESSViews.util;
+
+import java.util.Map;
+
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.xmi.util.XMLProcessor;
+import org.polarsys.chess.chessmlprofile.Core.CHESSViews.CHESSViewsPackage;
+
+/**
+ * This class contains helper methods to serialize and deserialize XML documents
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CHESSViewsXMLProcessor extends XMLProcessor {
+
+	/**
+	 * Public constructor to instantiate the helper.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CHESSViewsXMLProcessor() {
+		super((EPackage.Registry.INSTANCE));
+		CHESSViewsPackage.eINSTANCE.eClass();
+	}
+	
+	/**
+	 * Register for "*" and "xml" file extensions the CHESSViewsResourceFactoryImpl factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected Map<String, Resource.Factory> getRegistrations() {
+		if (registrations == null) {
+			super.getRegistrations();
+			registrations.put(XML_EXTENSION, new CHESSViewsResourceFactoryImpl());
+			registrations.put(STAR_EXTENSION, new CHESSViewsResourceFactoryImpl());
+		}
+		return registrations;
+	}
+
+} //CHESSViewsXMLProcessor
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHGaResourcePlatform.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHGaResourcePlatform.java
new file mode 100644
index 000000000..76ae4e3fa
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CHGaResourcePlatform.java
@@ -0,0 +1,88 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Core;
+
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.GQAM.GaResourcesPlatform;
+
+import org.eclipse.uml2.uml.InstanceSpecification;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>CH Ga Resource Platform</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Core.CHGaResourcePlatform#getBase_InstanceSpecification <em>Base Instance Specification</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Core.CHGaResourcePlatform#getBase_Package <em>Base Package</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.polarsys.chess.chessmlprofile.Core.CorePackage#getCHGaResourcePlatform()
+ * @model
+ * @generated
+ */
+public interface CHGaResourcePlatform extends GaResourcesPlatform {
+	/**
+	 * Returns the value of the '<em><b>Base Instance Specification</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Instance Specification</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Base Instance Specification</em>' reference.
+	 * @see #setBase_InstanceSpecification(InstanceSpecification)
+	 * @see org.polarsys.chess.chessmlprofile.Core.CorePackage#getCHGaResourcePlatform_Base_InstanceSpecification()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	InstanceSpecification getBase_InstanceSpecification();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Core.CHGaResourcePlatform#getBase_InstanceSpecification <em>Base Instance Specification</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Base Instance Specification</em>' reference.
+	 * @see #getBase_InstanceSpecification()
+	 * @generated
+	 */
+	void setBase_InstanceSpecification(InstanceSpecification value);
+
+	/**
+	 * Returns the value of the '<em><b>Base Package</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Package</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Base Package</em>' reference.
+	 * @see #setBase_Package(org.eclipse.uml2.uml.Package)
+	 * @see org.polarsys.chess.chessmlprofile.Core.CorePackage#getCHGaResourcePlatform_Base_Package()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	org.eclipse.uml2.uml.Package getBase_Package();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Core.CHGaResourcePlatform#getBase_Package <em>Base Package</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Base Package</em>' reference.
+	 * @see #getBase_Package()
+	 * @generated
+	 */
+	void setBase_Package(org.eclipse.uml2.uml.Package value);
+
+} // CHGaResourcePlatform
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CoreFactory.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CoreFactory.java
new file mode 100644
index 000000000..085648adb
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CoreFactory.java
@@ -0,0 +1,96 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Core;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Core.CorePackage
+ * @generated
+ */
+public interface CoreFactory extends EFactory {
+	/**
+	 * The singleton instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	CoreFactory eINSTANCE = org.polarsys.chess.chessmlprofile.Core.impl.CoreFactoryImpl.init();
+
+	/**
+	 * Returns a new object of class '<em>CHESS</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>CHESS</em>'.
+	 * @generated
+	 */
+	CHESS createCHESS();
+
+	/**
+	 * Returns a new object of class '<em>CH Ga Resource Platform</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>CH Ga Resource Platform</em>'.
+	 * @generated
+	 */
+	CHGaResourcePlatform createCHGaResourcePlatform();
+
+	/**
+	 * Returns a new object of class '<em>Identif Instance</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Identif Instance</em>'.
+	 * @generated
+	 */
+	IdentifInstance createIdentifInstance();
+
+	/**
+	 * Returns a new object of class '<em>Identif Slot</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Identif Slot</em>'.
+	 * @generated
+	 */
+	IdentifSlot createIdentifSlot();
+
+	/**
+	 * Returns a new object of class '<em>Multi Instance</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Multi Instance</em>'.
+	 * @generated
+	 */
+	MultiInstance createMultiInstance();
+
+	/**
+	 * Returns a new object of class '<em>Multi Slot</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Multi Slot</em>'.
+	 * @generated
+	 */
+	MultiSlot createMultiSlot();
+
+	/**
+	 * Returns the package supported by this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the package supported by this factory.
+	 * @generated
+	 */
+	CorePackage getCorePackage();
+
+} //CoreFactory
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CorePackage.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CorePackage.java
new file mode 100644
index 000000000..3f7097846
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/CorePackage.java
@@ -0,0 +1,823 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Core;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.GQAM.GQAMPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ *   <li>each class,</li>
+ *   <li>each feature of each class,</li>
+ *   <li>each enum,</li>
+ *   <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Core.CoreFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface CorePackage extends EPackage {
+	/**
+	 * The package name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNAME = "Core";
+
+	/**
+	 * The package namespace URI.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_URI = "http://CHESS/Core";
+
+	/**
+	 * The package namespace name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_PREFIX = "Core";
+
+	/**
+	 * The singleton instance of the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	CorePackage eINSTANCE = org.polarsys.chess.chessmlprofile.Core.impl.CorePackageImpl.init();
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Core.impl.CHESSImpl <em>CHESS</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Core.impl.CHESSImpl
+	 * @see org.polarsys.chess.chessmlprofile.Core.impl.CorePackageImpl#getCHESS()
+	 * @generated
+	 */
+	int CHESS = 0;
+
+	/**
+	 * The feature id for the '<em><b>Base Model</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CHESS__BASE_MODEL = 0;
+
+	/**
+	 * The feature id for the '<em><b>Analysis View</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CHESS__ANALYSIS_VIEW = 1;
+
+	/**
+	 * The feature id for the '<em><b>Deployment View</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CHESS__DEPLOYMENT_VIEW = 2;
+
+	/**
+	 * The feature id for the '<em><b>Requirement View</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CHESS__REQUIREMENT_VIEW = 3;
+
+	/**
+	 * The feature id for the '<em><b>Component View</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CHESS__COMPONENT_VIEW = 4;
+
+	/**
+	 * The feature id for the '<em><b>System View</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CHESS__SYSTEM_VIEW = 5;
+
+	/**
+	 * The number of structural features of the '<em>CHESS</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CHESS_FEATURE_COUNT = 6;
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Core.impl.CHGaResourcePlatformImpl <em>CH Ga Resource Platform</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Core.impl.CHGaResourcePlatformImpl
+	 * @see org.polarsys.chess.chessmlprofile.Core.impl.CorePackageImpl#getCHGaResourcePlatform()
+	 * @generated
+	 */
+	int CH_GA_RESOURCE_PLATFORM = 1;
+
+	/**
+	 * The feature id for the '<em><b>Resources</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_GA_RESOURCE_PLATFORM__RESOURCES = GQAMPackage.GA_RESOURCES_PLATFORM__RESOURCES;
+
+	/**
+	 * The feature id for the '<em><b>Base Classifier</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_GA_RESOURCE_PLATFORM__BASE_CLASSIFIER = GQAMPackage.GA_RESOURCES_PLATFORM__BASE_CLASSIFIER;
+
+	/**
+	 * The feature id for the '<em><b>Base Instance Specification</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_GA_RESOURCE_PLATFORM__BASE_INSTANCE_SPECIFICATION = GQAMPackage.GA_RESOURCES_PLATFORM_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Base Package</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_GA_RESOURCE_PLATFORM__BASE_PACKAGE = GQAMPackage.GA_RESOURCES_PLATFORM_FEATURE_COUNT + 1;
+
+	/**
+	 * The number of structural features of the '<em>CH Ga Resource Platform</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_GA_RESOURCE_PLATFORM_FEATURE_COUNT = GQAMPackage.GA_RESOURCES_PLATFORM_FEATURE_COUNT + 2;
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Core.impl.IdentifInstanceImpl <em>Identif Instance</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Core.impl.IdentifInstanceImpl
+	 * @see org.polarsys.chess.chessmlprofile.Core.impl.CorePackageImpl#getIdentifInstance()
+	 * @generated
+	 */
+	int IDENTIF_INSTANCE = 2;
+
+	/**
+	 * The feature id for the '<em><b>Base Instance Specification</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IDENTIF_INSTANCE__BASE_INSTANCE_SPECIFICATION = 0;
+
+	/**
+	 * The feature id for the '<em><b>Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IDENTIF_INSTANCE__ID = 1;
+
+	/**
+	 * The feature id for the '<em><b>Source Instance Spec</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IDENTIF_INSTANCE__SOURCE_INSTANCE_SPEC = 2;
+
+	/**
+	 * The number of structural features of the '<em>Identif Instance</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IDENTIF_INSTANCE_FEATURE_COUNT = 3;
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Core.impl.IdentifSlotImpl <em>Identif Slot</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Core.impl.IdentifSlotImpl
+	 * @see org.polarsys.chess.chessmlprofile.Core.impl.CorePackageImpl#getIdentifSlot()
+	 * @generated
+	 */
+	int IDENTIF_SLOT = 3;
+
+	/**
+	 * The feature id for the '<em><b>Base Slot</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IDENTIF_SLOT__BASE_SLOT = 0;
+
+	/**
+	 * The feature id for the '<em><b>Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IDENTIF_SLOT__ID = 1;
+
+	/**
+	 * The number of structural features of the '<em>Identif Slot</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IDENTIF_SLOT_FEATURE_COUNT = 2;
+
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Core.impl.MultiInstanceImpl <em>Multi Instance</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Core.impl.MultiInstanceImpl
+	 * @see org.polarsys.chess.chessmlprofile.Core.impl.CorePackageImpl#getMultiInstance()
+	 * @generated
+	 */
+	int MULTI_INSTANCE = 4;
+
+	/**
+	 * The feature id for the '<em><b>Base Instance Specification</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MULTI_INSTANCE__BASE_INSTANCE_SPECIFICATION = 0;
+
+	/**
+	 * The feature id for the '<em><b>Upper Bound</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MULTI_INSTANCE__UPPER_BOUND = 1;
+
+	/**
+	 * The number of structural features of the '<em>Multi Instance</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MULTI_INSTANCE_FEATURE_COUNT = 2;
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Core.impl.MultiSlotImpl <em>Multi Slot</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Core.impl.MultiSlotImpl
+	 * @see org.polarsys.chess.chessmlprofile.Core.impl.CorePackageImpl#getMultiSlot()
+	 * @generated
+	 */
+	int MULTI_SLOT = 5;
+
+	/**
+	 * The feature id for the '<em><b>Base Slot</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MULTI_SLOT__BASE_SLOT = 0;
+
+	/**
+	 * The feature id for the '<em><b>Upper Bound</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MULTI_SLOT__UPPER_BOUND = 1;
+
+	/**
+	 * The number of structural features of the '<em>Multi Slot</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MULTI_SLOT_FEATURE_COUNT = 2;
+
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.chessmlprofile.Core.CHESS <em>CHESS</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>CHESS</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Core.CHESS
+	 * @generated
+	 */
+	EClass getCHESS();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.polarsys.chess.chessmlprofile.Core.CHESS#getBase_Model <em>Base Model</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Base Model</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Core.CHESS#getBase_Model()
+	 * @see #getCHESS()
+	 * @generated
+	 */
+	EReference getCHESS_Base_Model();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.polarsys.chess.chessmlprofile.Core.CHESS#getAnalysisView <em>Analysis View</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Analysis View</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Core.CHESS#getAnalysisView()
+	 * @see #getCHESS()
+	 * @generated
+	 */
+	EReference getCHESS_AnalysisView();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.polarsys.chess.chessmlprofile.Core.CHESS#getDeploymentView <em>Deployment View</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Deployment View</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Core.CHESS#getDeploymentView()
+	 * @see #getCHESS()
+	 * @generated
+	 */
+	EReference getCHESS_DeploymentView();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.polarsys.chess.chessmlprofile.Core.CHESS#getRequirementView <em>Requirement View</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Requirement View</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Core.CHESS#getRequirementView()
+	 * @see #getCHESS()
+	 * @generated
+	 */
+	EReference getCHESS_RequirementView();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.polarsys.chess.chessmlprofile.Core.CHESS#getComponentView <em>Component View</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Component View</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Core.CHESS#getComponentView()
+	 * @see #getCHESS()
+	 * @generated
+	 */
+	EReference getCHESS_ComponentView();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.polarsys.chess.chessmlprofile.Core.CHESS#getSystemView <em>System View</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>System View</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Core.CHESS#getSystemView()
+	 * @see #getCHESS()
+	 * @generated
+	 */
+	EReference getCHESS_SystemView();
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.chessmlprofile.Core.CHGaResourcePlatform <em>CH Ga Resource Platform</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>CH Ga Resource Platform</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Core.CHGaResourcePlatform
+	 * @generated
+	 */
+	EClass getCHGaResourcePlatform();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.polarsys.chess.chessmlprofile.Core.CHGaResourcePlatform#getBase_InstanceSpecification <em>Base Instance Specification</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Base Instance Specification</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Core.CHGaResourcePlatform#getBase_InstanceSpecification()
+	 * @see #getCHGaResourcePlatform()
+	 * @generated
+	 */
+	EReference getCHGaResourcePlatform_Base_InstanceSpecification();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.polarsys.chess.chessmlprofile.Core.CHGaResourcePlatform#getBase_Package <em>Base Package</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Base Package</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Core.CHGaResourcePlatform#getBase_Package()
+	 * @see #getCHGaResourcePlatform()
+	 * @generated
+	 */
+	EReference getCHGaResourcePlatform_Base_Package();
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.chessmlprofile.Core.IdentifInstance <em>Identif Instance</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Identif Instance</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Core.IdentifInstance
+	 * @generated
+	 */
+	EClass getIdentifInstance();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.polarsys.chess.chessmlprofile.Core.IdentifInstance#getBase_InstanceSpecification <em>Base Instance Specification</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Base Instance Specification</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Core.IdentifInstance#getBase_InstanceSpecification()
+	 * @see #getIdentifInstance()
+	 * @generated
+	 */
+	EReference getIdentifInstance_Base_InstanceSpecification();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.Core.IdentifInstance#getId <em>Id</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Id</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Core.IdentifInstance#getId()
+	 * @see #getIdentifInstance()
+	 * @generated
+	 */
+	EAttribute getIdentifInstance_Id();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.polarsys.chess.chessmlprofile.Core.IdentifInstance#getSourceInstanceSpec <em>Source Instance Spec</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Source Instance Spec</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Core.IdentifInstance#getSourceInstanceSpec()
+	 * @see #getIdentifInstance()
+	 * @generated
+	 */
+	EReference getIdentifInstance_SourceInstanceSpec();
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.chessmlprofile.Core.IdentifSlot <em>Identif Slot</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Identif Slot</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Core.IdentifSlot
+	 * @generated
+	 */
+	EClass getIdentifSlot();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.polarsys.chess.chessmlprofile.Core.IdentifSlot#getBase_Slot <em>Base Slot</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Base Slot</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Core.IdentifSlot#getBase_Slot()
+	 * @see #getIdentifSlot()
+	 * @generated
+	 */
+	EReference getIdentifSlot_Base_Slot();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.Core.IdentifSlot#getId <em>Id</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Id</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Core.IdentifSlot#getId()
+	 * @see #getIdentifSlot()
+	 * @generated
+	 */
+	EAttribute getIdentifSlot_Id();
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.chessmlprofile.Core.MultiInstance <em>Multi Instance</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Multi Instance</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Core.MultiInstance
+	 * @generated
+	 */
+	EClass getMultiInstance();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.polarsys.chess.chessmlprofile.Core.MultiInstance#getBase_InstanceSpecification <em>Base Instance Specification</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Base Instance Specification</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Core.MultiInstance#getBase_InstanceSpecification()
+	 * @see #getMultiInstance()
+	 * @generated
+	 */
+	EReference getMultiInstance_Base_InstanceSpecification();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.Core.MultiInstance#getUpperBound <em>Upper Bound</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Upper Bound</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Core.MultiInstance#getUpperBound()
+	 * @see #getMultiInstance()
+	 * @generated
+	 */
+	EAttribute getMultiInstance_UpperBound();
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.chessmlprofile.Core.MultiSlot <em>Multi Slot</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Multi Slot</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Core.MultiSlot
+	 * @generated
+	 */
+	EClass getMultiSlot();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.polarsys.chess.chessmlprofile.Core.MultiSlot#getBase_Slot <em>Base Slot</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Base Slot</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Core.MultiSlot#getBase_Slot()
+	 * @see #getMultiSlot()
+	 * @generated
+	 */
+	EReference getMultiSlot_Base_Slot();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.Core.MultiSlot#getUpperBound <em>Upper Bound</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Upper Bound</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Core.MultiSlot#getUpperBound()
+	 * @see #getMultiSlot()
+	 * @generated
+	 */
+	EAttribute getMultiSlot_UpperBound();
+
+	/**
+	 * Returns the factory that creates the instances of the model.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the factory that creates the instances of the model.
+	 * @generated
+	 */
+	CoreFactory getCoreFactory();
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * Defines literals for the meta objects that represent
+	 * <ul>
+	 *   <li>each class,</li>
+	 *   <li>each feature of each class,</li>
+	 *   <li>each enum,</li>
+	 *   <li>and each data type</li>
+	 * </ul>
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	interface Literals {
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Core.impl.CHESSImpl <em>CHESS</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Core.impl.CHESSImpl
+		 * @see org.polarsys.chess.chessmlprofile.Core.impl.CorePackageImpl#getCHESS()
+		 * @generated
+		 */
+		EClass CHESS = eINSTANCE.getCHESS();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Model</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference CHESS__BASE_MODEL = eINSTANCE.getCHESS_Base_Model();
+
+		/**
+		 * The meta object literal for the '<em><b>Analysis View</b></em>' containment reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference CHESS__ANALYSIS_VIEW = eINSTANCE.getCHESS_AnalysisView();
+
+		/**
+		 * The meta object literal for the '<em><b>Deployment View</b></em>' containment reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference CHESS__DEPLOYMENT_VIEW = eINSTANCE.getCHESS_DeploymentView();
+
+		/**
+		 * The meta object literal for the '<em><b>Requirement View</b></em>' containment reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference CHESS__REQUIREMENT_VIEW = eINSTANCE.getCHESS_RequirementView();
+
+		/**
+		 * The meta object literal for the '<em><b>Component View</b></em>' containment reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference CHESS__COMPONENT_VIEW = eINSTANCE.getCHESS_ComponentView();
+
+		/**
+		 * The meta object literal for the '<em><b>System View</b></em>' containment reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference CHESS__SYSTEM_VIEW = eINSTANCE.getCHESS_SystemView();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Core.impl.CHGaResourcePlatformImpl <em>CH Ga Resource Platform</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Core.impl.CHGaResourcePlatformImpl
+		 * @see org.polarsys.chess.chessmlprofile.Core.impl.CorePackageImpl#getCHGaResourcePlatform()
+		 * @generated
+		 */
+		EClass CH_GA_RESOURCE_PLATFORM = eINSTANCE.getCHGaResourcePlatform();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Instance Specification</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference CH_GA_RESOURCE_PLATFORM__BASE_INSTANCE_SPECIFICATION = eINSTANCE.getCHGaResourcePlatform_Base_InstanceSpecification();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Package</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference CH_GA_RESOURCE_PLATFORM__BASE_PACKAGE = eINSTANCE.getCHGaResourcePlatform_Base_Package();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Core.impl.IdentifInstanceImpl <em>Identif Instance</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Core.impl.IdentifInstanceImpl
+		 * @see org.polarsys.chess.chessmlprofile.Core.impl.CorePackageImpl#getIdentifInstance()
+		 * @generated
+		 */
+		EClass IDENTIF_INSTANCE = eINSTANCE.getIdentifInstance();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Instance Specification</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference IDENTIF_INSTANCE__BASE_INSTANCE_SPECIFICATION = eINSTANCE.getIdentifInstance_Base_InstanceSpecification();
+
+		/**
+		 * The meta object literal for the '<em><b>Id</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute IDENTIF_INSTANCE__ID = eINSTANCE.getIdentifInstance_Id();
+
+		/**
+		 * The meta object literal for the '<em><b>Source Instance Spec</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference IDENTIF_INSTANCE__SOURCE_INSTANCE_SPEC = eINSTANCE.getIdentifInstance_SourceInstanceSpec();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Core.impl.IdentifSlotImpl <em>Identif Slot</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Core.impl.IdentifSlotImpl
+		 * @see org.polarsys.chess.chessmlprofile.Core.impl.CorePackageImpl#getIdentifSlot()
+		 * @generated
+		 */
+		EClass IDENTIF_SLOT = eINSTANCE.getIdentifSlot();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Slot</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference IDENTIF_SLOT__BASE_SLOT = eINSTANCE.getIdentifSlot_Base_Slot();
+
+		/**
+		 * The meta object literal for the '<em><b>Id</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute IDENTIF_SLOT__ID = eINSTANCE.getIdentifSlot_Id();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Core.impl.MultiInstanceImpl <em>Multi Instance</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Core.impl.MultiInstanceImpl
+		 * @see org.polarsys.chess.chessmlprofile.Core.impl.CorePackageImpl#getMultiInstance()
+		 * @generated
+		 */
+		EClass MULTI_INSTANCE = eINSTANCE.getMultiInstance();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Instance Specification</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference MULTI_INSTANCE__BASE_INSTANCE_SPECIFICATION = eINSTANCE.getMultiInstance_Base_InstanceSpecification();
+
+		/**
+		 * The meta object literal for the '<em><b>Upper Bound</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute MULTI_INSTANCE__UPPER_BOUND = eINSTANCE.getMultiInstance_UpperBound();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Core.impl.MultiSlotImpl <em>Multi Slot</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Core.impl.MultiSlotImpl
+		 * @see org.polarsys.chess.chessmlprofile.Core.impl.CorePackageImpl#getMultiSlot()
+		 * @generated
+		 */
+		EClass MULTI_SLOT = eINSTANCE.getMultiSlot();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Slot</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference MULTI_SLOT__BASE_SLOT = eINSTANCE.getMultiSlot_Base_Slot();
+
+		/**
+		 * The meta object literal for the '<em><b>Upper Bound</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute MULTI_SLOT__UPPER_BOUND = eINSTANCE.getMultiSlot_UpperBound();
+
+	}
+
+} //CorePackage
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/IdentifInstance.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/IdentifInstance.java
new file mode 100644
index 000000000..110dd6deb
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/IdentifInstance.java
@@ -0,0 +1,115 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Core;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.uml2.uml.InstanceSpecification;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Identif Instance</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Core.IdentifInstance#getBase_InstanceSpecification <em>Base Instance Specification</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Core.IdentifInstance#getId <em>Id</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Core.IdentifInstance#getSourceInstanceSpec <em>Source Instance Spec</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.polarsys.chess.chessmlprofile.Core.CorePackage#getIdentifInstance()
+ * @model
+ * @generated
+ */
+public interface IdentifInstance extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Base Instance Specification</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Instance Specification</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Base Instance Specification</em>' reference.
+	 * @see #setBase_InstanceSpecification(InstanceSpecification)
+	 * @see org.polarsys.chess.chessmlprofile.Core.CorePackage#getIdentifInstance_Base_InstanceSpecification()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	InstanceSpecification getBase_InstanceSpecification();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Core.IdentifInstance#getBase_InstanceSpecification <em>Base Instance Specification</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Base Instance Specification</em>' reference.
+	 * @see #getBase_InstanceSpecification()
+	 * @generated
+	 */
+	void setBase_InstanceSpecification(InstanceSpecification value);
+
+	/**
+	 * Returns the value of the '<em><b>Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Id</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Id</em>' attribute.
+	 * @see #setId(int)
+	 * @see org.polarsys.chess.chessmlprofile.Core.CorePackage#getIdentifInstance_Id()
+	 * @model dataType="org.eclipse.uml2.types.Integer" required="true" ordered="false"
+	 * @generated
+	 */
+	int getId();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Core.IdentifInstance#getId <em>Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Id</em>' attribute.
+	 * @see #getId()
+	 * @generated
+	 */
+	void setId(int value);
+
+	/**
+	 * Returns the value of the '<em><b>Source Instance Spec</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Source Instance Spec</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Source Instance Spec</em>' reference.
+	 * @see #setSourceInstanceSpec(InstanceSpecification)
+	 * @see org.polarsys.chess.chessmlprofile.Core.CorePackage#getIdentifInstance_SourceInstanceSpec()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	InstanceSpecification getSourceInstanceSpec();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Core.IdentifInstance#getSourceInstanceSpec <em>Source Instance Spec</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Source Instance Spec</em>' reference.
+	 * @see #getSourceInstanceSpec()
+	 * @generated
+	 */
+	void setSourceInstanceSpec(InstanceSpecification value);
+
+} // IdentifInstance
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/IdentifSlot.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/IdentifSlot.java
new file mode 100644
index 000000000..17ea05c3f
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/IdentifSlot.java
@@ -0,0 +1,88 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Core;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.uml2.uml.Slot;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Identif Slot</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Core.IdentifSlot#getBase_Slot <em>Base Slot</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Core.IdentifSlot#getId <em>Id</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.polarsys.chess.chessmlprofile.Core.CorePackage#getIdentifSlot()
+ * @model
+ * @generated
+ */
+public interface IdentifSlot extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Base Slot</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Slot</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Base Slot</em>' reference.
+	 * @see #setBase_Slot(Slot)
+	 * @see org.polarsys.chess.chessmlprofile.Core.CorePackage#getIdentifSlot_Base_Slot()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	Slot getBase_Slot();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Core.IdentifSlot#getBase_Slot <em>Base Slot</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Base Slot</em>' reference.
+	 * @see #getBase_Slot()
+	 * @generated
+	 */
+	void setBase_Slot(Slot value);
+
+	/**
+	 * Returns the value of the '<em><b>Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Id</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Id</em>' attribute.
+	 * @see #setId(int)
+	 * @see org.polarsys.chess.chessmlprofile.Core.CorePackage#getIdentifSlot_Id()
+	 * @model dataType="org.eclipse.uml2.types.Integer" required="true" ordered="false"
+	 * @generated
+	 */
+	int getId();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Core.IdentifSlot#getId <em>Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Id</em>' attribute.
+	 * @see #getId()
+	 * @generated
+	 */
+	void setId(int value);
+
+} // IdentifSlot
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/MultiInstance.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/MultiInstance.java
new file mode 100644
index 000000000..1d463da76
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/MultiInstance.java
@@ -0,0 +1,88 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Core;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.uml2.uml.InstanceSpecification;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Multi Instance</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Core.MultiInstance#getBase_InstanceSpecification <em>Base Instance Specification</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Core.MultiInstance#getUpperBound <em>Upper Bound</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.polarsys.chess.chessmlprofile.Core.CorePackage#getMultiInstance()
+ * @model
+ * @generated
+ */
+public interface MultiInstance extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Base Instance Specification</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Instance Specification</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Base Instance Specification</em>' reference.
+	 * @see #setBase_InstanceSpecification(InstanceSpecification)
+	 * @see org.polarsys.chess.chessmlprofile.Core.CorePackage#getMultiInstance_Base_InstanceSpecification()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	InstanceSpecification getBase_InstanceSpecification();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Core.MultiInstance#getBase_InstanceSpecification <em>Base Instance Specification</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Base Instance Specification</em>' reference.
+	 * @see #getBase_InstanceSpecification()
+	 * @generated
+	 */
+	void setBase_InstanceSpecification(InstanceSpecification value);
+
+	/**
+	 * Returns the value of the '<em><b>Upper Bound</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Upper Bound</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Upper Bound</em>' attribute.
+	 * @see #setUpperBound(int)
+	 * @see org.polarsys.chess.chessmlprofile.Core.CorePackage#getMultiInstance_UpperBound()
+	 * @model dataType="org.eclipse.uml2.types.Integer" required="true" ordered="false"
+	 * @generated
+	 */
+	int getUpperBound();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Core.MultiInstance#getUpperBound <em>Upper Bound</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Upper Bound</em>' attribute.
+	 * @see #getUpperBound()
+	 * @generated
+	 */
+	void setUpperBound(int value);
+
+} // MultiInstance
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/MultiSlot.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/MultiSlot.java
new file mode 100644
index 000000000..53ad227f5
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/MultiSlot.java
@@ -0,0 +1,88 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Core;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.uml2.uml.Slot;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Multi Slot</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Core.MultiSlot#getBase_Slot <em>Base Slot</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Core.MultiSlot#getUpperBound <em>Upper Bound</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.polarsys.chess.chessmlprofile.Core.CorePackage#getMultiSlot()
+ * @model
+ * @generated
+ */
+public interface MultiSlot extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Base Slot</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Slot</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Base Slot</em>' reference.
+	 * @see #setBase_Slot(Slot)
+	 * @see org.polarsys.chess.chessmlprofile.Core.CorePackage#getMultiSlot_Base_Slot()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	Slot getBase_Slot();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Core.MultiSlot#getBase_Slot <em>Base Slot</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Base Slot</em>' reference.
+	 * @see #getBase_Slot()
+	 * @generated
+	 */
+	void setBase_Slot(Slot value);
+
+	/**
+	 * Returns the value of the '<em><b>Upper Bound</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Upper Bound</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Upper Bound</em>' attribute.
+	 * @see #setUpperBound(int)
+	 * @see org.polarsys.chess.chessmlprofile.Core.CorePackage#getMultiSlot_UpperBound()
+	 * @model dataType="org.eclipse.uml2.types.Integer" required="true" ordered="false"
+	 * @generated
+	 */
+	int getUpperBound();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Core.MultiSlot#getUpperBound <em>Upper Bound</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Upper Bound</em>' attribute.
+	 * @see #getUpperBound()
+	 * @generated
+	 */
+	void setUpperBound(int value);
+
+} // MultiSlot
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/impl/CHESSImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/impl/CHESSImpl.java
new file mode 100644
index 000000000..07a59974b
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/impl/CHESSImpl.java
@@ -0,0 +1,511 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Core.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.uml2.uml.Model;
+import org.polarsys.chess.chessmlprofile.Core.CHESS;
+import org.polarsys.chess.chessmlprofile.Core.CorePackage;
+import org.polarsys.chess.chessmlprofile.Core.CHESSViews.AnalysisView;
+import org.polarsys.chess.chessmlprofile.Core.CHESSViews.ComponentView;
+import org.polarsys.chess.chessmlprofile.Core.CHESSViews.DeploymentView;
+import org.polarsys.chess.chessmlprofile.Core.CHESSViews.RequirementView;
+import org.polarsys.chess.chessmlprofile.Core.CHESSViews.SystemView;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>CHESS</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Core.impl.CHESSImpl#getBase_Model <em>Base Model</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Core.impl.CHESSImpl#getAnalysisView <em>Analysis View</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Core.impl.CHESSImpl#getDeploymentView <em>Deployment View</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Core.impl.CHESSImpl#getRequirementView <em>Requirement View</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Core.impl.CHESSImpl#getComponentView <em>Component View</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Core.impl.CHESSImpl#getSystemView <em>System View</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class CHESSImpl extends EObjectImpl implements CHESS {
+	/**
+	 * The cached value of the '{@link #getBase_Model() <em>Base Model</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBase_Model()
+	 * @generated
+	 * @ordered
+	 */
+	protected Model base_Model;
+
+	/**
+	 * The cached value of the '{@link #getAnalysisView() <em>Analysis View</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getAnalysisView()
+	 * @generated
+	 * @ordered
+	 */
+	protected AnalysisView analysisView;
+
+	/**
+	 * The cached value of the '{@link #getDeploymentView() <em>Deployment View</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDeploymentView()
+	 * @generated
+	 * @ordered
+	 */
+	protected DeploymentView deploymentView;
+
+	/**
+	 * The cached value of the '{@link #getRequirementView() <em>Requirement View</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getRequirementView()
+	 * @generated
+	 * @ordered
+	 */
+	protected RequirementView requirementView;
+
+	/**
+	 * The cached value of the '{@link #getComponentView() <em>Component View</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getComponentView()
+	 * @generated
+	 * @ordered
+	 */
+	protected ComponentView componentView;
+
+	/**
+	 * The cached value of the '{@link #getSystemView() <em>System View</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getSystemView()
+	 * @generated
+	 * @ordered
+	 */
+	protected SystemView systemView;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CHESSImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return CorePackage.Literals.CHESS;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Model getBase_Model() {
+		if (base_Model != null && base_Model.eIsProxy()) {
+			InternalEObject oldBase_Model = (InternalEObject)base_Model;
+			base_Model = (Model)eResolveProxy(oldBase_Model);
+			if (base_Model != oldBase_Model) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, CorePackage.CHESS__BASE_MODEL, oldBase_Model, base_Model));
+			}
+		}
+		return base_Model;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Model basicGetBase_Model() {
+		return base_Model;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setBase_Model(Model newBase_Model) {
+		Model oldBase_Model = base_Model;
+		base_Model = newBase_Model;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, CorePackage.CHESS__BASE_MODEL, oldBase_Model, base_Model));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public AnalysisView getAnalysisView() {
+		return analysisView;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetAnalysisView(AnalysisView newAnalysisView, NotificationChain msgs) {
+		AnalysisView oldAnalysisView = analysisView;
+		analysisView = newAnalysisView;
+		if (eNotificationRequired()) {
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, CorePackage.CHESS__ANALYSIS_VIEW, oldAnalysisView, newAnalysisView);
+			if (msgs == null) msgs = notification; else msgs.add(notification);
+		}
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setAnalysisView(AnalysisView newAnalysisView) {
+		if (newAnalysisView != analysisView) {
+			NotificationChain msgs = null;
+			if (analysisView != null)
+				msgs = ((InternalEObject)analysisView).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - CorePackage.CHESS__ANALYSIS_VIEW, null, msgs);
+			if (newAnalysisView != null)
+				msgs = ((InternalEObject)newAnalysisView).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - CorePackage.CHESS__ANALYSIS_VIEW, null, msgs);
+			msgs = basicSetAnalysisView(newAnalysisView, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, CorePackage.CHESS__ANALYSIS_VIEW, newAnalysisView, newAnalysisView));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public DeploymentView getDeploymentView() {
+		return deploymentView;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetDeploymentView(DeploymentView newDeploymentView, NotificationChain msgs) {
+		DeploymentView oldDeploymentView = deploymentView;
+		deploymentView = newDeploymentView;
+		if (eNotificationRequired()) {
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, CorePackage.CHESS__DEPLOYMENT_VIEW, oldDeploymentView, newDeploymentView);
+			if (msgs == null) msgs = notification; else msgs.add(notification);
+		}
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setDeploymentView(DeploymentView newDeploymentView) {
+		if (newDeploymentView != deploymentView) {
+			NotificationChain msgs = null;
+			if (deploymentView != null)
+				msgs = ((InternalEObject)deploymentView).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - CorePackage.CHESS__DEPLOYMENT_VIEW, null, msgs);
+			if (newDeploymentView != null)
+				msgs = ((InternalEObject)newDeploymentView).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - CorePackage.CHESS__DEPLOYMENT_VIEW, null, msgs);
+			msgs = basicSetDeploymentView(newDeploymentView, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, CorePackage.CHESS__DEPLOYMENT_VIEW, newDeploymentView, newDeploymentView));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public RequirementView getRequirementView() {
+		return requirementView;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetRequirementView(RequirementView newRequirementView, NotificationChain msgs) {
+		RequirementView oldRequirementView = requirementView;
+		requirementView = newRequirementView;
+		if (eNotificationRequired()) {
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, CorePackage.CHESS__REQUIREMENT_VIEW, oldRequirementView, newRequirementView);
+			if (msgs == null) msgs = notification; else msgs.add(notification);
+		}
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setRequirementView(RequirementView newRequirementView) {
+		if (newRequirementView != requirementView) {
+			NotificationChain msgs = null;
+			if (requirementView != null)
+				msgs = ((InternalEObject)requirementView).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - CorePackage.CHESS__REQUIREMENT_VIEW, null, msgs);
+			if (newRequirementView != null)
+				msgs = ((InternalEObject)newRequirementView).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - CorePackage.CHESS__REQUIREMENT_VIEW, null, msgs);
+			msgs = basicSetRequirementView(newRequirementView, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, CorePackage.CHESS__REQUIREMENT_VIEW, newRequirementView, newRequirementView));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ComponentView getComponentView() {
+		return componentView;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetComponentView(ComponentView newComponentView, NotificationChain msgs) {
+		ComponentView oldComponentView = componentView;
+		componentView = newComponentView;
+		if (eNotificationRequired()) {
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, CorePackage.CHESS__COMPONENT_VIEW, oldComponentView, newComponentView);
+			if (msgs == null) msgs = notification; else msgs.add(notification);
+		}
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setComponentView(ComponentView newComponentView) {
+		if (newComponentView != componentView) {
+			NotificationChain msgs = null;
+			if (componentView != null)
+				msgs = ((InternalEObject)componentView).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - CorePackage.CHESS__COMPONENT_VIEW, null, msgs);
+			if (newComponentView != null)
+				msgs = ((InternalEObject)newComponentView).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - CorePackage.CHESS__COMPONENT_VIEW, null, msgs);
+			msgs = basicSetComponentView(newComponentView, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, CorePackage.CHESS__COMPONENT_VIEW, newComponentView, newComponentView));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public SystemView getSystemView() {
+		return systemView;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetSystemView(SystemView newSystemView, NotificationChain msgs) {
+		SystemView oldSystemView = systemView;
+		systemView = newSystemView;
+		if (eNotificationRequired()) {
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, CorePackage.CHESS__SYSTEM_VIEW, oldSystemView, newSystemView);
+			if (msgs == null) msgs = notification; else msgs.add(notification);
+		}
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setSystemView(SystemView newSystemView) {
+		if (newSystemView != systemView) {
+			NotificationChain msgs = null;
+			if (systemView != null)
+				msgs = ((InternalEObject)systemView).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - CorePackage.CHESS__SYSTEM_VIEW, null, msgs);
+			if (newSystemView != null)
+				msgs = ((InternalEObject)newSystemView).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - CorePackage.CHESS__SYSTEM_VIEW, null, msgs);
+			msgs = basicSetSystemView(newSystemView, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, CorePackage.CHESS__SYSTEM_VIEW, newSystemView, newSystemView));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+			case CorePackage.CHESS__ANALYSIS_VIEW:
+				return basicSetAnalysisView(null, msgs);
+			case CorePackage.CHESS__DEPLOYMENT_VIEW:
+				return basicSetDeploymentView(null, msgs);
+			case CorePackage.CHESS__REQUIREMENT_VIEW:
+				return basicSetRequirementView(null, msgs);
+			case CorePackage.CHESS__COMPONENT_VIEW:
+				return basicSetComponentView(null, msgs);
+			case CorePackage.CHESS__SYSTEM_VIEW:
+				return basicSetSystemView(null, msgs);
+		}
+		return super.eInverseRemove(otherEnd, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case CorePackage.CHESS__BASE_MODEL:
+				if (resolve) return getBase_Model();
+				return basicGetBase_Model();
+			case CorePackage.CHESS__ANALYSIS_VIEW:
+				return getAnalysisView();
+			case CorePackage.CHESS__DEPLOYMENT_VIEW:
+				return getDeploymentView();
+			case CorePackage.CHESS__REQUIREMENT_VIEW:
+				return getRequirementView();
+			case CorePackage.CHESS__COMPONENT_VIEW:
+				return getComponentView();
+			case CorePackage.CHESS__SYSTEM_VIEW:
+				return getSystemView();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case CorePackage.CHESS__BASE_MODEL:
+				setBase_Model((Model)newValue);
+				return;
+			case CorePackage.CHESS__ANALYSIS_VIEW:
+				setAnalysisView((AnalysisView)newValue);
+				return;
+			case CorePackage.CHESS__DEPLOYMENT_VIEW:
+				setDeploymentView((DeploymentView)newValue);
+				return;
+			case CorePackage.CHESS__REQUIREMENT_VIEW:
+				setRequirementView((RequirementView)newValue);
+				return;
+			case CorePackage.CHESS__COMPONENT_VIEW:
+				setComponentView((ComponentView)newValue);
+				return;
+			case CorePackage.CHESS__SYSTEM_VIEW:
+				setSystemView((SystemView)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case CorePackage.CHESS__BASE_MODEL:
+				setBase_Model((Model)null);
+				return;
+			case CorePackage.CHESS__ANALYSIS_VIEW:
+				setAnalysisView((AnalysisView)null);
+				return;
+			case CorePackage.CHESS__DEPLOYMENT_VIEW:
+				setDeploymentView((DeploymentView)null);
+				return;
+			case CorePackage.CHESS__REQUIREMENT_VIEW:
+				setRequirementView((RequirementView)null);
+				return;
+			case CorePackage.CHESS__COMPONENT_VIEW:
+				setComponentView((ComponentView)null);
+				return;
+			case CorePackage.CHESS__SYSTEM_VIEW:
+				setSystemView((SystemView)null);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case CorePackage.CHESS__BASE_MODEL:
+				return base_Model != null;
+			case CorePackage.CHESS__ANALYSIS_VIEW:
+				return analysisView != null;
+			case CorePackage.CHESS__DEPLOYMENT_VIEW:
+				return deploymentView != null;
+			case CorePackage.CHESS__REQUIREMENT_VIEW:
+				return requirementView != null;
+			case CorePackage.CHESS__COMPONENT_VIEW:
+				return componentView != null;
+			case CorePackage.CHESS__SYSTEM_VIEW:
+				return systemView != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //CHESSImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/impl/CHGaResourcePlatformImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/impl/CHGaResourcePlatformImpl.java
new file mode 100644
index 000000000..23affca6b
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/impl/CHGaResourcePlatformImpl.java
@@ -0,0 +1,223 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Core.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.GQAM.impl.GaResourcesPlatformImpl;
+import org.eclipse.uml2.uml.InstanceSpecification;
+import org.polarsys.chess.chessmlprofile.Core.CHGaResourcePlatform;
+import org.polarsys.chess.chessmlprofile.Core.CorePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>CH Ga Resource Platform</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Core.impl.CHGaResourcePlatformImpl#getBase_InstanceSpecification <em>Base Instance Specification</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Core.impl.CHGaResourcePlatformImpl#getBase_Package <em>Base Package</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class CHGaResourcePlatformImpl extends GaResourcesPlatformImpl implements CHGaResourcePlatform {
+	/**
+	 * The cached value of the '{@link #getBase_InstanceSpecification() <em>Base Instance Specification</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBase_InstanceSpecification()
+	 * @generated
+	 * @ordered
+	 */
+	protected InstanceSpecification base_InstanceSpecification;
+
+	/**
+	 * The cached value of the '{@link #getBase_Package() <em>Base Package</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBase_Package()
+	 * @generated
+	 * @ordered
+	 */
+	protected org.eclipse.uml2.uml.Package base_Package;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CHGaResourcePlatformImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return CorePackage.Literals.CH_GA_RESOURCE_PLATFORM;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public InstanceSpecification getBase_InstanceSpecification() {
+		if (base_InstanceSpecification != null && base_InstanceSpecification.eIsProxy()) {
+			InternalEObject oldBase_InstanceSpecification = (InternalEObject)base_InstanceSpecification;
+			base_InstanceSpecification = (InstanceSpecification)eResolveProxy(oldBase_InstanceSpecification);
+			if (base_InstanceSpecification != oldBase_InstanceSpecification) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, CorePackage.CH_GA_RESOURCE_PLATFORM__BASE_INSTANCE_SPECIFICATION, oldBase_InstanceSpecification, base_InstanceSpecification));
+			}
+		}
+		return base_InstanceSpecification;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public InstanceSpecification basicGetBase_InstanceSpecification() {
+		return base_InstanceSpecification;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setBase_InstanceSpecification(InstanceSpecification newBase_InstanceSpecification) {
+		InstanceSpecification oldBase_InstanceSpecification = base_InstanceSpecification;
+		base_InstanceSpecification = newBase_InstanceSpecification;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, CorePackage.CH_GA_RESOURCE_PLATFORM__BASE_INSTANCE_SPECIFICATION, oldBase_InstanceSpecification, base_InstanceSpecification));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public org.eclipse.uml2.uml.Package getBase_Package() {
+		if (base_Package != null && base_Package.eIsProxy()) {
+			InternalEObject oldBase_Package = (InternalEObject)base_Package;
+			base_Package = (org.eclipse.uml2.uml.Package)eResolveProxy(oldBase_Package);
+			if (base_Package != oldBase_Package) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, CorePackage.CH_GA_RESOURCE_PLATFORM__BASE_PACKAGE, oldBase_Package, base_Package));
+			}
+		}
+		return base_Package;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public org.eclipse.uml2.uml.Package basicGetBase_Package() {
+		return base_Package;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setBase_Package(org.eclipse.uml2.uml.Package newBase_Package) {
+		org.eclipse.uml2.uml.Package oldBase_Package = base_Package;
+		base_Package = newBase_Package;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, CorePackage.CH_GA_RESOURCE_PLATFORM__BASE_PACKAGE, oldBase_Package, base_Package));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case CorePackage.CH_GA_RESOURCE_PLATFORM__BASE_INSTANCE_SPECIFICATION:
+				if (resolve) return getBase_InstanceSpecification();
+				return basicGetBase_InstanceSpecification();
+			case CorePackage.CH_GA_RESOURCE_PLATFORM__BASE_PACKAGE:
+				if (resolve) return getBase_Package();
+				return basicGetBase_Package();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case CorePackage.CH_GA_RESOURCE_PLATFORM__BASE_INSTANCE_SPECIFICATION:
+				setBase_InstanceSpecification((InstanceSpecification)newValue);
+				return;
+			case CorePackage.CH_GA_RESOURCE_PLATFORM__BASE_PACKAGE:
+				setBase_Package((org.eclipse.uml2.uml.Package)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case CorePackage.CH_GA_RESOURCE_PLATFORM__BASE_INSTANCE_SPECIFICATION:
+				setBase_InstanceSpecification((InstanceSpecification)null);
+				return;
+			case CorePackage.CH_GA_RESOURCE_PLATFORM__BASE_PACKAGE:
+				setBase_Package((org.eclipse.uml2.uml.Package)null);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case CorePackage.CH_GA_RESOURCE_PLATFORM__BASE_INSTANCE_SPECIFICATION:
+				return base_InstanceSpecification != null;
+			case CorePackage.CH_GA_RESOURCE_PLATFORM__BASE_PACKAGE:
+				return base_Package != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //CHGaResourcePlatformImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/impl/CoreFactoryImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/impl/CoreFactoryImpl.java
new file mode 100644
index 000000000..128a99d36
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/impl/CoreFactoryImpl.java
@@ -0,0 +1,156 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Core.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.polarsys.chess.chessmlprofile.Core.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CoreFactoryImpl extends EFactoryImpl implements CoreFactory {
+	/**
+	 * Creates the default factory implementation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static CoreFactory init() {
+		try {
+			CoreFactory theCoreFactory = (CoreFactory)EPackage.Registry.INSTANCE.getEFactory(CorePackage.eNS_URI);
+			if (theCoreFactory != null) {
+				return theCoreFactory;
+			}
+		}
+		catch (Exception exception) {
+			EcorePlugin.INSTANCE.log(exception);
+		}
+		return new CoreFactoryImpl();
+	}
+
+	/**
+	 * Creates an instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CoreFactoryImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EObject create(EClass eClass) {
+		switch (eClass.getClassifierID()) {
+			case CorePackage.CHESS: return createCHESS();
+			case CorePackage.CH_GA_RESOURCE_PLATFORM: return createCHGaResourcePlatform();
+			case CorePackage.IDENTIF_INSTANCE: return createIdentifInstance();
+			case CorePackage.IDENTIF_SLOT: return createIdentifSlot();
+			case CorePackage.MULTI_INSTANCE: return createMultiInstance();
+			case CorePackage.MULTI_SLOT: return createMultiSlot();
+			default:
+				throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CHESS createCHESS() {
+		CHESSImpl chess = new CHESSImpl();
+		return chess;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CHGaResourcePlatform createCHGaResourcePlatform() {
+		CHGaResourcePlatformImpl chGaResourcePlatform = new CHGaResourcePlatformImpl();
+		return chGaResourcePlatform;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public IdentifInstance createIdentifInstance() {
+		IdentifInstanceImpl identifInstance = new IdentifInstanceImpl();
+		return identifInstance;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public IdentifSlot createIdentifSlot() {
+		IdentifSlotImpl identifSlot = new IdentifSlotImpl();
+		return identifSlot;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public MultiInstance createMultiInstance() {
+		MultiInstanceImpl multiInstance = new MultiInstanceImpl();
+		return multiInstance;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public MultiSlot createMultiSlot() {
+		MultiSlotImpl multiSlot = new MultiSlotImpl();
+		return multiSlot;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CorePackage getCorePackage() {
+		return (CorePackage)getEPackage();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @deprecated
+	 * @generated
+	 */
+	@Deprecated
+	public static CorePackage getPackage() {
+		return CorePackage.eINSTANCE;
+	}
+
+} //CoreFactoryImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/impl/CorePackageImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/impl/CorePackageImpl.java
new file mode 100644
index 000000000..4f14edbeb
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/impl/CorePackageImpl.java
@@ -0,0 +1,608 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Core.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+import org.eclipse.papyrus.MARTE.MARTEPackage;
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.GQAM.GQAMPackage;
+import org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.BasicNFP_TypesPackage;
+import org.eclipse.papyrus.MARTE_Library.GRM_BasicTypes.GRM_BasicTypesPackage;
+import org.eclipse.papyrus.MARTE_Library.MARTE_DataTypes.MARTE_DataTypesPackage;
+import org.eclipse.papyrus.MARTE_Library.MARTE_PrimitivesTypes.MARTE_PrimitivesTypesPackage;
+import org.eclipse.papyrus.MARTE_Library.MeasurementUnits.MeasurementUnitsPackage;
+import org.eclipse.papyrus.MARTE_Library.RS_Library.RS_LibraryPackage;
+import org.eclipse.papyrus.MARTE_Library.TimeLibrary.TimeLibraryPackage;
+import org.eclipse.papyrus.MARTE_Library.TimeTypesLibrary.TimeTypesLibraryPackage;
+import org.eclipse.uml2.types.TypesPackage;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.polarsys.chess.chessmlprofile.chessmlprofilePackage;
+import org.polarsys.chess.chessmlprofile.ComponentModel.ComponentModelPackage;
+import org.polarsys.chess.chessmlprofile.ComponentModel.impl.ComponentModelPackageImpl;
+import org.polarsys.chess.chessmlprofile.Core.CHGaResourcePlatform;
+import org.polarsys.chess.chessmlprofile.Core.CoreFactory;
+import org.polarsys.chess.chessmlprofile.Core.CorePackage;
+import org.polarsys.chess.chessmlprofile.Core.IdentifInstance;
+import org.polarsys.chess.chessmlprofile.Core.IdentifSlot;
+import org.polarsys.chess.chessmlprofile.Core.MultiInstance;
+import org.polarsys.chess.chessmlprofile.Core.MultiSlot;
+import org.polarsys.chess.chessmlprofile.Core.CHESSViews.CHESSViewsPackage;
+import org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl.CHESSViewsPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.DataFlowCallGraph.DataFlowCallGraphPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.DataFlowCallGraph.impl.DataFlowCallGraphPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.DependableComponentPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.impl.DependableComponentPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEAPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEADataTypes.FMEADataTypesPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEADataTypes.impl.FMEADataTypesPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.impl.FMEAPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.FailurePropagationDataTypesPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.impl.FailurePropagationDataTypesPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl.FailurePropagationPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans.MitigationMeansPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans.impl.MitigationMeansPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.FaultTolerancePackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.impl.FaultTolerancePackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.MaintenanceMonitoringPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.impl.MaintenanceMonitoringPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.StateBasedAnalysisPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.impl.StateBasedAnalysisPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StateBasedComponentsPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.impl.StateBasedComponentsPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.StateBasedDataTypesPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.impl.StateBasedDataTypesPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatsPropagationPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.ThreatsPropagationPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.DeploymentConfAnalysisPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.impl.DeploymentConfAnalysisPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HardwareBaselinePackage;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.HardwareBaselinePackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTComponentModelPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.RTDataTypesPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.impl.RTDataTypesPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.impl.RTComponentModelPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingAnalysisPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.TimingConstraintsPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.impl.TimingConstraintsPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.impl.TimingAnalysisPackageImpl;
+import org.polarsys.chess.chessmlprofile.impl.chessmlprofilePackageImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CorePackageImpl extends EPackageImpl implements CorePackage {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass chessEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass chGaResourcePlatformEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass identifInstanceEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass identifSlotEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass multiInstanceEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass multiSlotEClass = null;
+
+	/**
+	 * Creates an instance of the model <b>Package</b>, registered with
+	 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+	 * package URI value.
+	 * <p>Note: the correct way to create the package is via the static
+	 * factory method {@link #init init()}, which also performs
+	 * initialization of the package, or returns the registered package,
+	 * if one already exists.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.emf.ecore.EPackage.Registry
+	 * @see org.polarsys.chess.chessmlprofile.Core.CorePackage#eNS_URI
+	 * @see #init()
+	 * @generated
+	 */
+	private CorePackageImpl() {
+		super(eNS_URI, CoreFactory.eINSTANCE);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static boolean isInited = false;
+
+	/**
+	 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+	 * 
+	 * <p>This method is used to initialize {@link CorePackage#eINSTANCE} when that field is accessed.
+	 * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #eNS_URI
+	 * @see #createPackageContents()
+	 * @see #initializePackageContents()
+	 * @generated
+	 */
+	public static CorePackage init() {
+		if (isInited) return (CorePackage)EPackage.Registry.INSTANCE.getEPackage(CorePackage.eNS_URI);
+
+		// Obtain or create and register package
+		CorePackageImpl theCorePackage = (CorePackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof CorePackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new CorePackageImpl());
+
+		isInited = true;
+
+		// Initialize simple dependencies
+		MARTEPackage.eINSTANCE.eClass();
+		MeasurementUnitsPackage.eINSTANCE.eClass();
+		GRM_BasicTypesPackage.eINSTANCE.eClass();
+		MARTE_DataTypesPackage.eINSTANCE.eClass();
+		BasicNFP_TypesPackage.eINSTANCE.eClass();
+		TimeTypesLibraryPackage.eINSTANCE.eClass();
+		TimeLibraryPackage.eINSTANCE.eClass();
+		RS_LibraryPackage.eINSTANCE.eClass();
+		MARTE_PrimitivesTypesPackage.eINSTANCE.eClass();
+		BasicNFP_TypesPackage.eINSTANCE.eClass();
+
+		// Obtain or create and register interdependencies
+		chessmlprofilePackageImpl thechessmlprofilePackage = (chessmlprofilePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(chessmlprofilePackage.eNS_URI) instanceof chessmlprofilePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(chessmlprofilePackage.eNS_URI) : chessmlprofilePackage.eINSTANCE);
+		CHESSViewsPackageImpl theCHESSViewsPackage = (CHESSViewsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(CHESSViewsPackage.eNS_URI) instanceof CHESSViewsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(CHESSViewsPackage.eNS_URI) : CHESSViewsPackage.eINSTANCE);
+		FailurePropagationPackageImpl theFailurePropagationPackage = (FailurePropagationPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FailurePropagationPackage.eNS_URI) instanceof FailurePropagationPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FailurePropagationPackage.eNS_URI) : FailurePropagationPackage.eINSTANCE);
+		FailurePropagationDataTypesPackageImpl theFailurePropagationDataTypesPackage = (FailurePropagationDataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FailurePropagationDataTypesPackage.eNS_URI) instanceof FailurePropagationDataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FailurePropagationDataTypesPackage.eNS_URI) : FailurePropagationDataTypesPackage.eINSTANCE);
+		DependableComponentPackageImpl theDependableComponentPackage = (DependableComponentPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DependableComponentPackage.eNS_URI) instanceof DependableComponentPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DependableComponentPackage.eNS_URI) : DependableComponentPackage.eINSTANCE);
+		ThreatsPropagationPackageImpl theThreatsPropagationPackage = (ThreatsPropagationPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ThreatsPropagationPackage.eNS_URI) instanceof ThreatsPropagationPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ThreatsPropagationPackage.eNS_URI) : ThreatsPropagationPackage.eINSTANCE);
+		DataFlowCallGraphPackageImpl theDataFlowCallGraphPackage = (DataFlowCallGraphPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DataFlowCallGraphPackage.eNS_URI) instanceof DataFlowCallGraphPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DataFlowCallGraphPackage.eNS_URI) : DataFlowCallGraphPackage.eINSTANCE);
+		StateBasedDataTypesPackageImpl theStateBasedDataTypesPackage = (StateBasedDataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(StateBasedDataTypesPackage.eNS_URI) instanceof StateBasedDataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(StateBasedDataTypesPackage.eNS_URI) : StateBasedDataTypesPackage.eINSTANCE);
+		StateBasedComponentsPackageImpl theStateBasedComponentsPackage = (StateBasedComponentsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(StateBasedComponentsPackage.eNS_URI) instanceof StateBasedComponentsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(StateBasedComponentsPackage.eNS_URI) : StateBasedComponentsPackage.eINSTANCE);
+		FaultTolerancePackageImpl theFaultTolerancePackage = (FaultTolerancePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FaultTolerancePackage.eNS_URI) instanceof FaultTolerancePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FaultTolerancePackage.eNS_URI) : FaultTolerancePackage.eINSTANCE);
+		MaintenanceMonitoringPackageImpl theMaintenanceMonitoringPackage = (MaintenanceMonitoringPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(MaintenanceMonitoringPackage.eNS_URI) instanceof MaintenanceMonitoringPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(MaintenanceMonitoringPackage.eNS_URI) : MaintenanceMonitoringPackage.eINSTANCE);
+		StateBasedAnalysisPackageImpl theStateBasedAnalysisPackage = (StateBasedAnalysisPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(StateBasedAnalysisPackage.eNS_URI) instanceof StateBasedAnalysisPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(StateBasedAnalysisPackage.eNS_URI) : StateBasedAnalysisPackage.eINSTANCE);
+		FMEAPackageImpl theFMEAPackage = (FMEAPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FMEAPackage.eNS_URI) instanceof FMEAPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FMEAPackage.eNS_URI) : FMEAPackage.eINSTANCE);
+		FMEADataTypesPackageImpl theFMEADataTypesPackage = (FMEADataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FMEADataTypesPackage.eNS_URI) instanceof FMEADataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FMEADataTypesPackage.eNS_URI) : FMEADataTypesPackage.eINSTANCE);
+		MitigationMeansPackageImpl theMitigationMeansPackage = (MitigationMeansPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(MitigationMeansPackage.eNS_URI) instanceof MitigationMeansPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(MitigationMeansPackage.eNS_URI) : MitigationMeansPackage.eINSTANCE);
+		TimingAnalysisPackageImpl theTimingAnalysisPackage = (TimingAnalysisPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimingAnalysisPackage.eNS_URI) instanceof TimingAnalysisPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimingAnalysisPackage.eNS_URI) : TimingAnalysisPackage.eINSTANCE);
+		TimingConstraintsPackageImpl theTimingConstraintsPackage = (TimingConstraintsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimingConstraintsPackage.eNS_URI) instanceof TimingConstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimingConstraintsPackage.eNS_URI) : TimingConstraintsPackage.eINSTANCE);
+		HardwareBaselinePackageImpl theHardwareBaselinePackage = (HardwareBaselinePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HardwareBaselinePackage.eNS_URI) instanceof HardwareBaselinePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HardwareBaselinePackage.eNS_URI) : HardwareBaselinePackage.eINSTANCE);
+		DeploymentConfAnalysisPackageImpl theDeploymentConfAnalysisPackage = (DeploymentConfAnalysisPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DeploymentConfAnalysisPackage.eNS_URI) instanceof DeploymentConfAnalysisPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DeploymentConfAnalysisPackage.eNS_URI) : DeploymentConfAnalysisPackage.eINSTANCE);
+		RTComponentModelPackageImpl theRTComponentModelPackage = (RTComponentModelPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RTComponentModelPackage.eNS_URI) instanceof RTComponentModelPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RTComponentModelPackage.eNS_URI) : RTComponentModelPackage.eINSTANCE);
+		RTDataTypesPackageImpl theRTDataTypesPackage = (RTDataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RTDataTypesPackage.eNS_URI) instanceof RTDataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RTDataTypesPackage.eNS_URI) : RTDataTypesPackage.eINSTANCE);
+		ComponentModelPackageImpl theComponentModelPackage = (ComponentModelPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ComponentModelPackage.eNS_URI) instanceof ComponentModelPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ComponentModelPackage.eNS_URI) : ComponentModelPackage.eINSTANCE);
+
+		// Create package meta-data objects
+		theCorePackage.createPackageContents();
+		thechessmlprofilePackage.createPackageContents();
+		theCHESSViewsPackage.createPackageContents();
+		theFailurePropagationPackage.createPackageContents();
+		theFailurePropagationDataTypesPackage.createPackageContents();
+		theDependableComponentPackage.createPackageContents();
+		theThreatsPropagationPackage.createPackageContents();
+		theDataFlowCallGraphPackage.createPackageContents();
+		theStateBasedDataTypesPackage.createPackageContents();
+		theStateBasedComponentsPackage.createPackageContents();
+		theFaultTolerancePackage.createPackageContents();
+		theMaintenanceMonitoringPackage.createPackageContents();
+		theStateBasedAnalysisPackage.createPackageContents();
+		theFMEAPackage.createPackageContents();
+		theFMEADataTypesPackage.createPackageContents();
+		theMitigationMeansPackage.createPackageContents();
+		theTimingAnalysisPackage.createPackageContents();
+		theTimingConstraintsPackage.createPackageContents();
+		theHardwareBaselinePackage.createPackageContents();
+		theDeploymentConfAnalysisPackage.createPackageContents();
+		theRTComponentModelPackage.createPackageContents();
+		theRTDataTypesPackage.createPackageContents();
+		theComponentModelPackage.createPackageContents();
+
+		// Initialize created meta-data
+		theCorePackage.initializePackageContents();
+		thechessmlprofilePackage.initializePackageContents();
+		theCHESSViewsPackage.initializePackageContents();
+		theFailurePropagationPackage.initializePackageContents();
+		theFailurePropagationDataTypesPackage.initializePackageContents();
+		theDependableComponentPackage.initializePackageContents();
+		theThreatsPropagationPackage.initializePackageContents();
+		theDataFlowCallGraphPackage.initializePackageContents();
+		theStateBasedDataTypesPackage.initializePackageContents();
+		theStateBasedComponentsPackage.initializePackageContents();
+		theFaultTolerancePackage.initializePackageContents();
+		theMaintenanceMonitoringPackage.initializePackageContents();
+		theStateBasedAnalysisPackage.initializePackageContents();
+		theFMEAPackage.initializePackageContents();
+		theFMEADataTypesPackage.initializePackageContents();
+		theMitigationMeansPackage.initializePackageContents();
+		theTimingAnalysisPackage.initializePackageContents();
+		theTimingConstraintsPackage.initializePackageContents();
+		theHardwareBaselinePackage.initializePackageContents();
+		theDeploymentConfAnalysisPackage.initializePackageContents();
+		theRTComponentModelPackage.initializePackageContents();
+		theRTDataTypesPackage.initializePackageContents();
+		theComponentModelPackage.initializePackageContents();
+
+		// Mark meta-data to indicate it can't be changed
+		theCorePackage.freeze();
+
+  
+		// Update the registry and return the package
+		EPackage.Registry.INSTANCE.put(CorePackage.eNS_URI, theCorePackage);
+		return theCorePackage;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getCHESS() {
+		return chessEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getCHESS_Base_Model() {
+		return (EReference)chessEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getCHESS_AnalysisView() {
+		return (EReference)chessEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getCHESS_DeploymentView() {
+		return (EReference)chessEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getCHESS_RequirementView() {
+		return (EReference)chessEClass.getEStructuralFeatures().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getCHESS_ComponentView() {
+		return (EReference)chessEClass.getEStructuralFeatures().get(4);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getCHESS_SystemView() {
+		return (EReference)chessEClass.getEStructuralFeatures().get(5);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getCHGaResourcePlatform() {
+		return chGaResourcePlatformEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getCHGaResourcePlatform_Base_InstanceSpecification() {
+		return (EReference)chGaResourcePlatformEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getCHGaResourcePlatform_Base_Package() {
+		return (EReference)chGaResourcePlatformEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getIdentifInstance() {
+		return identifInstanceEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getIdentifInstance_Base_InstanceSpecification() {
+		return (EReference)identifInstanceEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getIdentifInstance_Id() {
+		return (EAttribute)identifInstanceEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getIdentifInstance_SourceInstanceSpec() {
+		return (EReference)identifInstanceEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getIdentifSlot() {
+		return identifSlotEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getIdentifSlot_Base_Slot() {
+		return (EReference)identifSlotEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getIdentifSlot_Id() {
+		return (EAttribute)identifSlotEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getMultiInstance() {
+		return multiInstanceEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getMultiInstance_Base_InstanceSpecification() {
+		return (EReference)multiInstanceEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getMultiInstance_UpperBound() {
+		return (EAttribute)multiInstanceEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getMultiSlot() {
+		return multiSlotEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getMultiSlot_Base_Slot() {
+		return (EReference)multiSlotEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getMultiSlot_UpperBound() {
+		return (EAttribute)multiSlotEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CoreFactory getCoreFactory() {
+		return (CoreFactory)getEFactoryInstance();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isCreated = false;
+
+	/**
+	 * Creates the meta-model objects for the package.  This method is
+	 * guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void createPackageContents() {
+		if (isCreated) return;
+		isCreated = true;
+
+		// Create classes and their features
+		chessEClass = createEClass(CHESS);
+		createEReference(chessEClass, CHESS__BASE_MODEL);
+		createEReference(chessEClass, CHESS__ANALYSIS_VIEW);
+		createEReference(chessEClass, CHESS__DEPLOYMENT_VIEW);
+		createEReference(chessEClass, CHESS__REQUIREMENT_VIEW);
+		createEReference(chessEClass, CHESS__COMPONENT_VIEW);
+		createEReference(chessEClass, CHESS__SYSTEM_VIEW);
+
+		chGaResourcePlatformEClass = createEClass(CH_GA_RESOURCE_PLATFORM);
+		createEReference(chGaResourcePlatformEClass, CH_GA_RESOURCE_PLATFORM__BASE_INSTANCE_SPECIFICATION);
+		createEReference(chGaResourcePlatformEClass, CH_GA_RESOURCE_PLATFORM__BASE_PACKAGE);
+
+		identifInstanceEClass = createEClass(IDENTIF_INSTANCE);
+		createEReference(identifInstanceEClass, IDENTIF_INSTANCE__BASE_INSTANCE_SPECIFICATION);
+		createEAttribute(identifInstanceEClass, IDENTIF_INSTANCE__ID);
+		createEReference(identifInstanceEClass, IDENTIF_INSTANCE__SOURCE_INSTANCE_SPEC);
+
+		identifSlotEClass = createEClass(IDENTIF_SLOT);
+		createEReference(identifSlotEClass, IDENTIF_SLOT__BASE_SLOT);
+		createEAttribute(identifSlotEClass, IDENTIF_SLOT__ID);
+
+		multiInstanceEClass = createEClass(MULTI_INSTANCE);
+		createEReference(multiInstanceEClass, MULTI_INSTANCE__BASE_INSTANCE_SPECIFICATION);
+		createEAttribute(multiInstanceEClass, MULTI_INSTANCE__UPPER_BOUND);
+
+		multiSlotEClass = createEClass(MULTI_SLOT);
+		createEReference(multiSlotEClass, MULTI_SLOT__BASE_SLOT);
+		createEAttribute(multiSlotEClass, MULTI_SLOT__UPPER_BOUND);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isInitialized = false;
+
+	/**
+	 * Complete the initialization of the package and its meta-model.  This
+	 * method is guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void initializePackageContents() {
+		if (isInitialized) return;
+		isInitialized = true;
+
+		// Initialize package
+		setName(eNAME);
+		setNsPrefix(eNS_PREFIX);
+		setNsURI(eNS_URI);
+
+		// Obtain other dependent packages
+		CHESSViewsPackage theCHESSViewsPackage = (CHESSViewsPackage)EPackage.Registry.INSTANCE.getEPackage(CHESSViewsPackage.eNS_URI);
+		UMLPackage theUMLPackage = (UMLPackage)EPackage.Registry.INSTANCE.getEPackage(UMLPackage.eNS_URI);
+		GQAMPackage theGQAMPackage = (GQAMPackage)EPackage.Registry.INSTANCE.getEPackage(GQAMPackage.eNS_URI);
+		TypesPackage theTypesPackage = (TypesPackage)EPackage.Registry.INSTANCE.getEPackage(TypesPackage.eNS_URI);
+
+		// Add subpackages
+		getESubpackages().add(theCHESSViewsPackage);
+
+		// Create type parameters
+
+		// Set bounds for type parameters
+
+		// Add supertypes to classes
+		chGaResourcePlatformEClass.getESuperTypes().add(theGQAMPackage.getGaResourcesPlatform());
+
+		// Initialize classes and features; add operations and parameters
+		initEClass(chessEClass, org.polarsys.chess.chessmlprofile.Core.CHESS.class, "CHESS", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getCHESS_Base_Model(), theUMLPackage.getModel(), null, "base_Model", null, 1, 1, org.polarsys.chess.chessmlprofile.Core.CHESS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEReference(getCHESS_AnalysisView(), theCHESSViewsPackage.getAnalysisView(), null, "analysisView", null, 1, 1, org.polarsys.chess.chessmlprofile.Core.CHESS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEReference(getCHESS_DeploymentView(), theCHESSViewsPackage.getDeploymentView(), null, "deploymentView", null, 1, 1, org.polarsys.chess.chessmlprofile.Core.CHESS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEReference(getCHESS_RequirementView(), theCHESSViewsPackage.getRequirementView(), null, "requirementView", null, 1, 1, org.polarsys.chess.chessmlprofile.Core.CHESS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEReference(getCHESS_ComponentView(), theCHESSViewsPackage.getComponentView(), null, "componentView", null, 1, 1, org.polarsys.chess.chessmlprofile.Core.CHESS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEReference(getCHESS_SystemView(), theCHESSViewsPackage.getSystemView(), null, "systemView", null, 1, 1, org.polarsys.chess.chessmlprofile.Core.CHESS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+		initEClass(chGaResourcePlatformEClass, CHGaResourcePlatform.class, "CHGaResourcePlatform", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getCHGaResourcePlatform_Base_InstanceSpecification(), theUMLPackage.getInstanceSpecification(), null, "base_InstanceSpecification", null, 1, 1, CHGaResourcePlatform.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEReference(getCHGaResourcePlatform_Base_Package(), theUMLPackage.getPackage(), null, "base_Package", null, 1, 1, CHGaResourcePlatform.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+		initEClass(identifInstanceEClass, IdentifInstance.class, "IdentifInstance", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getIdentifInstance_Base_InstanceSpecification(), theUMLPackage.getInstanceSpecification(), null, "base_InstanceSpecification", null, 1, 1, IdentifInstance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getIdentifInstance_Id(), theTypesPackage.getInteger(), "id", null, 1, 1, IdentifInstance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEReference(getIdentifInstance_SourceInstanceSpec(), theUMLPackage.getInstanceSpecification(), null, "sourceInstanceSpec", null, 0, 1, IdentifInstance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+		initEClass(identifSlotEClass, IdentifSlot.class, "IdentifSlot", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getIdentifSlot_Base_Slot(), theUMLPackage.getSlot(), null, "base_Slot", null, 1, 1, IdentifSlot.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getIdentifSlot_Id(), theTypesPackage.getInteger(), "id", null, 1, 1, IdentifSlot.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+		initEClass(multiInstanceEClass, MultiInstance.class, "MultiInstance", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getMultiInstance_Base_InstanceSpecification(), theUMLPackage.getInstanceSpecification(), null, "base_InstanceSpecification", null, 1, 1, MultiInstance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getMultiInstance_UpperBound(), theTypesPackage.getInteger(), "upperBound", null, 1, 1, MultiInstance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+		initEClass(multiSlotEClass, MultiSlot.class, "MultiSlot", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getMultiSlot_Base_Slot(), theUMLPackage.getSlot(), null, "base_Slot", null, 1, 1, MultiSlot.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getMultiSlot_UpperBound(), theTypesPackage.getInteger(), "upperBound", null, 1, 1, MultiSlot.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+	}
+
+} //CorePackageImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/impl/IdentifInstanceImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/impl/IdentifInstanceImpl.java
new file mode 100644
index 000000000..052ad0e0b
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/impl/IdentifInstanceImpl.java
@@ -0,0 +1,291 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Core.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.uml2.uml.InstanceSpecification;
+import org.polarsys.chess.chessmlprofile.Core.CorePackage;
+import org.polarsys.chess.chessmlprofile.Core.IdentifInstance;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Identif Instance</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Core.impl.IdentifInstanceImpl#getBase_InstanceSpecification <em>Base Instance Specification</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Core.impl.IdentifInstanceImpl#getId <em>Id</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Core.impl.IdentifInstanceImpl#getSourceInstanceSpec <em>Source Instance Spec</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class IdentifInstanceImpl extends EObjectImpl implements IdentifInstance {
+	/**
+	 * The cached value of the '{@link #getBase_InstanceSpecification() <em>Base Instance Specification</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBase_InstanceSpecification()
+	 * @generated
+	 * @ordered
+	 */
+	protected InstanceSpecification base_InstanceSpecification;
+
+	/**
+	 * The default value of the '{@link #getId() <em>Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getId()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int ID_EDEFAULT = 0;
+
+	/**
+	 * The cached value of the '{@link #getId() <em>Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getId()
+	 * @generated
+	 * @ordered
+	 */
+	protected int id = ID_EDEFAULT;
+
+	/**
+	 * The cached value of the '{@link #getSourceInstanceSpec() <em>Source Instance Spec</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getSourceInstanceSpec()
+	 * @generated
+	 * @ordered
+	 */
+	protected InstanceSpecification sourceInstanceSpec;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IdentifInstanceImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return CorePackage.Literals.IDENTIF_INSTANCE;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public InstanceSpecification getBase_InstanceSpecification() {
+		if (base_InstanceSpecification != null && base_InstanceSpecification.eIsProxy()) {
+			InternalEObject oldBase_InstanceSpecification = (InternalEObject)base_InstanceSpecification;
+			base_InstanceSpecification = (InstanceSpecification)eResolveProxy(oldBase_InstanceSpecification);
+			if (base_InstanceSpecification != oldBase_InstanceSpecification) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, CorePackage.IDENTIF_INSTANCE__BASE_INSTANCE_SPECIFICATION, oldBase_InstanceSpecification, base_InstanceSpecification));
+			}
+		}
+		return base_InstanceSpecification;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public InstanceSpecification basicGetBase_InstanceSpecification() {
+		return base_InstanceSpecification;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setBase_InstanceSpecification(InstanceSpecification newBase_InstanceSpecification) {
+		InstanceSpecification oldBase_InstanceSpecification = base_InstanceSpecification;
+		base_InstanceSpecification = newBase_InstanceSpecification;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, CorePackage.IDENTIF_INSTANCE__BASE_INSTANCE_SPECIFICATION, oldBase_InstanceSpecification, base_InstanceSpecification));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public int getId() {
+		return id;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setId(int newId) {
+		int oldId = id;
+		id = newId;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, CorePackage.IDENTIF_INSTANCE__ID, oldId, id));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public InstanceSpecification getSourceInstanceSpec() {
+		if (sourceInstanceSpec != null && sourceInstanceSpec.eIsProxy()) {
+			InternalEObject oldSourceInstanceSpec = (InternalEObject)sourceInstanceSpec;
+			sourceInstanceSpec = (InstanceSpecification)eResolveProxy(oldSourceInstanceSpec);
+			if (sourceInstanceSpec != oldSourceInstanceSpec) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, CorePackage.IDENTIF_INSTANCE__SOURCE_INSTANCE_SPEC, oldSourceInstanceSpec, sourceInstanceSpec));
+			}
+		}
+		return sourceInstanceSpec;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public InstanceSpecification basicGetSourceInstanceSpec() {
+		return sourceInstanceSpec;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setSourceInstanceSpec(InstanceSpecification newSourceInstanceSpec) {
+		InstanceSpecification oldSourceInstanceSpec = sourceInstanceSpec;
+		sourceInstanceSpec = newSourceInstanceSpec;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, CorePackage.IDENTIF_INSTANCE__SOURCE_INSTANCE_SPEC, oldSourceInstanceSpec, sourceInstanceSpec));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case CorePackage.IDENTIF_INSTANCE__BASE_INSTANCE_SPECIFICATION:
+				if (resolve) return getBase_InstanceSpecification();
+				return basicGetBase_InstanceSpecification();
+			case CorePackage.IDENTIF_INSTANCE__ID:
+				return getId();
+			case CorePackage.IDENTIF_INSTANCE__SOURCE_INSTANCE_SPEC:
+				if (resolve) return getSourceInstanceSpec();
+				return basicGetSourceInstanceSpec();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case CorePackage.IDENTIF_INSTANCE__BASE_INSTANCE_SPECIFICATION:
+				setBase_InstanceSpecification((InstanceSpecification)newValue);
+				return;
+			case CorePackage.IDENTIF_INSTANCE__ID:
+				setId((Integer)newValue);
+				return;
+			case CorePackage.IDENTIF_INSTANCE__SOURCE_INSTANCE_SPEC:
+				setSourceInstanceSpec((InstanceSpecification)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case CorePackage.IDENTIF_INSTANCE__BASE_INSTANCE_SPECIFICATION:
+				setBase_InstanceSpecification((InstanceSpecification)null);
+				return;
+			case CorePackage.IDENTIF_INSTANCE__ID:
+				setId(ID_EDEFAULT);
+				return;
+			case CorePackage.IDENTIF_INSTANCE__SOURCE_INSTANCE_SPEC:
+				setSourceInstanceSpec((InstanceSpecification)null);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case CorePackage.IDENTIF_INSTANCE__BASE_INSTANCE_SPECIFICATION:
+				return base_InstanceSpecification != null;
+			case CorePackage.IDENTIF_INSTANCE__ID:
+				return id != ID_EDEFAULT;
+			case CorePackage.IDENTIF_INSTANCE__SOURCE_INSTANCE_SPEC:
+				return sourceInstanceSpec != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (id: ");
+		result.append(id);
+		result.append(')');
+		return result.toString();
+	}
+
+} //IdentifInstanceImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/impl/IdentifSlotImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/impl/IdentifSlotImpl.java
new file mode 100644
index 000000000..c4dd85865
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/impl/IdentifSlotImpl.java
@@ -0,0 +1,231 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Core.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.uml2.uml.Slot;
+import org.polarsys.chess.chessmlprofile.Core.CorePackage;
+import org.polarsys.chess.chessmlprofile.Core.IdentifSlot;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Identif Slot</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Core.impl.IdentifSlotImpl#getBase_Slot <em>Base Slot</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Core.impl.IdentifSlotImpl#getId <em>Id</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class IdentifSlotImpl extends EObjectImpl implements IdentifSlot {
+	/**
+	 * The cached value of the '{@link #getBase_Slot() <em>Base Slot</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBase_Slot()
+	 * @generated
+	 * @ordered
+	 */
+	protected Slot base_Slot;
+
+	/**
+	 * The default value of the '{@link #getId() <em>Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getId()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int ID_EDEFAULT = 0;
+
+	/**
+	 * The cached value of the '{@link #getId() <em>Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getId()
+	 * @generated
+	 * @ordered
+	 */
+	protected int id = ID_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IdentifSlotImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return CorePackage.Literals.IDENTIF_SLOT;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Slot getBase_Slot() {
+		if (base_Slot != null && base_Slot.eIsProxy()) {
+			InternalEObject oldBase_Slot = (InternalEObject)base_Slot;
+			base_Slot = (Slot)eResolveProxy(oldBase_Slot);
+			if (base_Slot != oldBase_Slot) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, CorePackage.IDENTIF_SLOT__BASE_SLOT, oldBase_Slot, base_Slot));
+			}
+		}
+		return base_Slot;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Slot basicGetBase_Slot() {
+		return base_Slot;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setBase_Slot(Slot newBase_Slot) {
+		Slot oldBase_Slot = base_Slot;
+		base_Slot = newBase_Slot;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, CorePackage.IDENTIF_SLOT__BASE_SLOT, oldBase_Slot, base_Slot));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public int getId() {
+		return id;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setId(int newId) {
+		int oldId = id;
+		id = newId;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, CorePackage.IDENTIF_SLOT__ID, oldId, id));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case CorePackage.IDENTIF_SLOT__BASE_SLOT:
+				if (resolve) return getBase_Slot();
+				return basicGetBase_Slot();
+			case CorePackage.IDENTIF_SLOT__ID:
+				return getId();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case CorePackage.IDENTIF_SLOT__BASE_SLOT:
+				setBase_Slot((Slot)newValue);
+				return;
+			case CorePackage.IDENTIF_SLOT__ID:
+				setId((Integer)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case CorePackage.IDENTIF_SLOT__BASE_SLOT:
+				setBase_Slot((Slot)null);
+				return;
+			case CorePackage.IDENTIF_SLOT__ID:
+				setId(ID_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case CorePackage.IDENTIF_SLOT__BASE_SLOT:
+				return base_Slot != null;
+			case CorePackage.IDENTIF_SLOT__ID:
+				return id != ID_EDEFAULT;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (id: ");
+		result.append(id);
+		result.append(')');
+		return result.toString();
+	}
+
+} //IdentifSlotImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/impl/MultiInstanceImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/impl/MultiInstanceImpl.java
new file mode 100644
index 000000000..daa383c1a
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/impl/MultiInstanceImpl.java
@@ -0,0 +1,231 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Core.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.uml2.uml.InstanceSpecification;
+import org.polarsys.chess.chessmlprofile.Core.CorePackage;
+import org.polarsys.chess.chessmlprofile.Core.MultiInstance;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Multi Instance</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Core.impl.MultiInstanceImpl#getBase_InstanceSpecification <em>Base Instance Specification</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Core.impl.MultiInstanceImpl#getUpperBound <em>Upper Bound</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class MultiInstanceImpl extends EObjectImpl implements MultiInstance {
+	/**
+	 * The cached value of the '{@link #getBase_InstanceSpecification() <em>Base Instance Specification</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBase_InstanceSpecification()
+	 * @generated
+	 * @ordered
+	 */
+	protected InstanceSpecification base_InstanceSpecification;
+
+	/**
+	 * The default value of the '{@link #getUpperBound() <em>Upper Bound</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getUpperBound()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int UPPER_BOUND_EDEFAULT = 0;
+
+	/**
+	 * The cached value of the '{@link #getUpperBound() <em>Upper Bound</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getUpperBound()
+	 * @generated
+	 * @ordered
+	 */
+	protected int upperBound = UPPER_BOUND_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected MultiInstanceImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return CorePackage.Literals.MULTI_INSTANCE;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public InstanceSpecification getBase_InstanceSpecification() {
+		if (base_InstanceSpecification != null && base_InstanceSpecification.eIsProxy()) {
+			InternalEObject oldBase_InstanceSpecification = (InternalEObject)base_InstanceSpecification;
+			base_InstanceSpecification = (InstanceSpecification)eResolveProxy(oldBase_InstanceSpecification);
+			if (base_InstanceSpecification != oldBase_InstanceSpecification) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, CorePackage.MULTI_INSTANCE__BASE_INSTANCE_SPECIFICATION, oldBase_InstanceSpecification, base_InstanceSpecification));
+			}
+		}
+		return base_InstanceSpecification;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public InstanceSpecification basicGetBase_InstanceSpecification() {
+		return base_InstanceSpecification;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setBase_InstanceSpecification(InstanceSpecification newBase_InstanceSpecification) {
+		InstanceSpecification oldBase_InstanceSpecification = base_InstanceSpecification;
+		base_InstanceSpecification = newBase_InstanceSpecification;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, CorePackage.MULTI_INSTANCE__BASE_INSTANCE_SPECIFICATION, oldBase_InstanceSpecification, base_InstanceSpecification));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public int getUpperBound() {
+		return upperBound;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setUpperBound(int newUpperBound) {
+		int oldUpperBound = upperBound;
+		upperBound = newUpperBound;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, CorePackage.MULTI_INSTANCE__UPPER_BOUND, oldUpperBound, upperBound));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case CorePackage.MULTI_INSTANCE__BASE_INSTANCE_SPECIFICATION:
+				if (resolve) return getBase_InstanceSpecification();
+				return basicGetBase_InstanceSpecification();
+			case CorePackage.MULTI_INSTANCE__UPPER_BOUND:
+				return getUpperBound();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case CorePackage.MULTI_INSTANCE__BASE_INSTANCE_SPECIFICATION:
+				setBase_InstanceSpecification((InstanceSpecification)newValue);
+				return;
+			case CorePackage.MULTI_INSTANCE__UPPER_BOUND:
+				setUpperBound((Integer)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case CorePackage.MULTI_INSTANCE__BASE_INSTANCE_SPECIFICATION:
+				setBase_InstanceSpecification((InstanceSpecification)null);
+				return;
+			case CorePackage.MULTI_INSTANCE__UPPER_BOUND:
+				setUpperBound(UPPER_BOUND_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case CorePackage.MULTI_INSTANCE__BASE_INSTANCE_SPECIFICATION:
+				return base_InstanceSpecification != null;
+			case CorePackage.MULTI_INSTANCE__UPPER_BOUND:
+				return upperBound != UPPER_BOUND_EDEFAULT;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (upperBound: ");
+		result.append(upperBound);
+		result.append(')');
+		return result.toString();
+	}
+
+} //MultiInstanceImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/impl/MultiSlotImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/impl/MultiSlotImpl.java
new file mode 100644
index 000000000..e4288ffd8
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/impl/MultiSlotImpl.java
@@ -0,0 +1,231 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Core.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.uml2.uml.Slot;
+import org.polarsys.chess.chessmlprofile.Core.CorePackage;
+import org.polarsys.chess.chessmlprofile.Core.MultiSlot;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Multi Slot</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Core.impl.MultiSlotImpl#getBase_Slot <em>Base Slot</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Core.impl.MultiSlotImpl#getUpperBound <em>Upper Bound</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class MultiSlotImpl extends EObjectImpl implements MultiSlot {
+	/**
+	 * The cached value of the '{@link #getBase_Slot() <em>Base Slot</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBase_Slot()
+	 * @generated
+	 * @ordered
+	 */
+	protected Slot base_Slot;
+
+	/**
+	 * The default value of the '{@link #getUpperBound() <em>Upper Bound</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getUpperBound()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int UPPER_BOUND_EDEFAULT = 0;
+
+	/**
+	 * The cached value of the '{@link #getUpperBound() <em>Upper Bound</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getUpperBound()
+	 * @generated
+	 * @ordered
+	 */
+	protected int upperBound = UPPER_BOUND_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected MultiSlotImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return CorePackage.Literals.MULTI_SLOT;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Slot getBase_Slot() {
+		if (base_Slot != null && base_Slot.eIsProxy()) {
+			InternalEObject oldBase_Slot = (InternalEObject)base_Slot;
+			base_Slot = (Slot)eResolveProxy(oldBase_Slot);
+			if (base_Slot != oldBase_Slot) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, CorePackage.MULTI_SLOT__BASE_SLOT, oldBase_Slot, base_Slot));
+			}
+		}
+		return base_Slot;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Slot basicGetBase_Slot() {
+		return base_Slot;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setBase_Slot(Slot newBase_Slot) {
+		Slot oldBase_Slot = base_Slot;
+		base_Slot = newBase_Slot;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, CorePackage.MULTI_SLOT__BASE_SLOT, oldBase_Slot, base_Slot));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public int getUpperBound() {
+		return upperBound;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setUpperBound(int newUpperBound) {
+		int oldUpperBound = upperBound;
+		upperBound = newUpperBound;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, CorePackage.MULTI_SLOT__UPPER_BOUND, oldUpperBound, upperBound));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case CorePackage.MULTI_SLOT__BASE_SLOT:
+				if (resolve) return getBase_Slot();
+				return basicGetBase_Slot();
+			case CorePackage.MULTI_SLOT__UPPER_BOUND:
+				return getUpperBound();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case CorePackage.MULTI_SLOT__BASE_SLOT:
+				setBase_Slot((Slot)newValue);
+				return;
+			case CorePackage.MULTI_SLOT__UPPER_BOUND:
+				setUpperBound((Integer)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case CorePackage.MULTI_SLOT__BASE_SLOT:
+				setBase_Slot((Slot)null);
+				return;
+			case CorePackage.MULTI_SLOT__UPPER_BOUND:
+				setUpperBound(UPPER_BOUND_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case CorePackage.MULTI_SLOT__BASE_SLOT:
+				return base_Slot != null;
+			case CorePackage.MULTI_SLOT__UPPER_BOUND:
+				return upperBound != UPPER_BOUND_EDEFAULT;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (upperBound: ");
+		result.append(upperBound);
+		result.append(')');
+		return result.toString();
+	}
+
+} //MultiSlotImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/util/CoreAdapterFactory.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/util/CoreAdapterFactory.java
new file mode 100644
index 000000000..fe8013210
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/util/CoreAdapterFactory.java
@@ -0,0 +1,235 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Core.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.GQAM.GaResourcesPlatform;
+import org.polarsys.chess.chessmlprofile.Core.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Core.CorePackage
+ * @generated
+ */
+public class CoreAdapterFactory extends AdapterFactoryImpl {
+	/**
+	 * The cached model package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static CorePackage modelPackage;
+
+	/**
+	 * Creates an instance of the adapter factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CoreAdapterFactory() {
+		if (modelPackage == null) {
+			modelPackage = CorePackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Returns whether this factory is applicable for the type of the object.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+	 * <!-- end-user-doc -->
+	 * @return whether this factory is applicable for the type of the object.
+	 * @generated
+	 */
+	@Override
+	public boolean isFactoryForType(Object object) {
+		if (object == modelPackage) {
+			return true;
+		}
+		if (object instanceof EObject) {
+			return ((EObject)object).eClass().getEPackage() == modelPackage;
+		}
+		return false;
+	}
+
+	/**
+	 * The switch that delegates to the <code>createXXX</code> methods.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CoreSwitch<Adapter> modelSwitch =
+		new CoreSwitch<Adapter>() {
+			@Override
+			public Adapter caseCHESS(CHESS object) {
+				return createCHESSAdapter();
+			}
+			@Override
+			public Adapter caseCHGaResourcePlatform(CHGaResourcePlatform object) {
+				return createCHGaResourcePlatformAdapter();
+			}
+			@Override
+			public Adapter caseIdentifInstance(IdentifInstance object) {
+				return createIdentifInstanceAdapter();
+			}
+			@Override
+			public Adapter caseIdentifSlot(IdentifSlot object) {
+				return createIdentifSlotAdapter();
+			}
+			@Override
+			public Adapter caseMultiInstance(MultiInstance object) {
+				return createMultiInstanceAdapter();
+			}
+			@Override
+			public Adapter caseMultiSlot(MultiSlot object) {
+				return createMultiSlotAdapter();
+			}
+			@Override
+			public Adapter caseGaResourcesPlatform(GaResourcesPlatform object) {
+				return createGaResourcesPlatformAdapter();
+			}
+			@Override
+			public Adapter defaultCase(EObject object) {
+				return createEObjectAdapter();
+			}
+		};
+
+	/**
+	 * Creates an adapter for the <code>target</code>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param target the object to adapt.
+	 * @return the adapter for the <code>target</code>.
+	 * @generated
+	 */
+	@Override
+	public Adapter createAdapter(Notifier target) {
+		return modelSwitch.doSwitch((EObject)target);
+	}
+
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.Core.CHESS <em>CHESS</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.Core.CHESS
+	 * @generated
+	 */
+	public Adapter createCHESSAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.Core.CHGaResourcePlatform <em>CH Ga Resource Platform</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.Core.CHGaResourcePlatform
+	 * @generated
+	 */
+	public Adapter createCHGaResourcePlatformAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.Core.IdentifInstance <em>Identif Instance</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.Core.IdentifInstance
+	 * @generated
+	 */
+	public Adapter createIdentifInstanceAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.Core.IdentifSlot <em>Identif Slot</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.Core.IdentifSlot
+	 * @generated
+	 */
+	public Adapter createIdentifSlotAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.Core.MultiInstance <em>Multi Instance</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.Core.MultiInstance
+	 * @generated
+	 */
+	public Adapter createMultiInstanceAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.Core.MultiSlot <em>Multi Slot</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.Core.MultiSlot
+	 * @generated
+	 */
+	public Adapter createMultiSlotAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.GQAM.GaResourcesPlatform <em>Ga Resources Platform</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.GQAM.GaResourcesPlatform
+	 * @generated
+	 */
+	public Adapter createGaResourcesPlatformAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for the default case.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @generated
+	 */
+	public Adapter createEObjectAdapter() {
+		return null;
+	}
+
+} //CoreAdapterFactory
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/util/CoreResourceFactoryImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/util/CoreResourceFactoryImpl.java
new file mode 100644
index 000000000..3d18bda73
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/util/CoreResourceFactoryImpl.java
@@ -0,0 +1,61 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Core.util;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.resource.impl.ResourceFactoryImpl;
+
+import org.eclipse.emf.ecore.xmi.XMLResource;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource Factory</b> associated with the package.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Core.util.CoreResourceImpl
+ * @generated
+ */
+public class CoreResourceFactoryImpl extends ResourceFactoryImpl {
+	/**
+	 * Creates an instance of the resource factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CoreResourceFactoryImpl() {
+		super();
+	}
+
+	/**
+	 * Creates an instance of the resource.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Resource createResource(URI uri) {
+		XMLResource result = new CoreResourceImpl(uri);
+		result.getDefaultSaveOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
+		result.getDefaultLoadOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
+
+		result.getDefaultSaveOptions().put(XMLResource.OPTION_SCHEMA_LOCATION, Boolean.TRUE);
+
+		result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+		result.getDefaultSaveOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+
+		result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_LEXICAL_HANDLER, Boolean.TRUE);
+		return result;
+	}
+
+} //CoreResourceFactoryImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/util/CoreResourceImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/util/CoreResourceImpl.java
new file mode 100644
index 000000000..457c4690c
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/util/CoreResourceImpl.java
@@ -0,0 +1,37 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Core.util;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource </b> associated with the package.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Core.util.CoreResourceFactoryImpl
+ * @generated
+ */
+public class CoreResourceImpl extends XMLResourceImpl {
+	/**
+	 * Creates an instance of the resource.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param uri the URI of the new resource.
+	 * @generated
+	 */
+	public CoreResourceImpl(URI uri) {
+		super(uri);
+	}
+
+} //CoreResourceImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/util/CoreSwitch.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/util/CoreSwitch.java
new file mode 100644
index 000000000..1991a9ad9
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/util/CoreSwitch.java
@@ -0,0 +1,239 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Core.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.util.Switch;
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.GQAM.GaResourcesPlatform;
+import org.polarsys.chess.chessmlprofile.Core.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Core.CorePackage
+ * @generated
+ */
+public class CoreSwitch<T> extends Switch<T> {
+	/**
+	 * The cached model package
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static CorePackage modelPackage;
+
+	/**
+	 * Creates an instance of the switch.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CoreSwitch() {
+		if (modelPackage == null) {
+			modelPackage = CorePackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Checks whether this is a switch for the given package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @parameter ePackage the package in question.
+	 * @return whether this is a switch for the given package.
+	 * @generated
+	 */
+	@Override
+	protected boolean isSwitchFor(EPackage ePackage) {
+		return ePackage == modelPackage;
+	}
+
+	/**
+	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the first non-null result returned by a <code>caseXXX</code> call.
+	 * @generated
+	 */
+	@Override
+	protected T doSwitch(int classifierID, EObject theEObject) {
+		switch (classifierID) {
+			case CorePackage.CHESS: {
+				CHESS chess = (CHESS)theEObject;
+				T result = caseCHESS(chess);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case CorePackage.CH_GA_RESOURCE_PLATFORM: {
+				CHGaResourcePlatform chGaResourcePlatform = (CHGaResourcePlatform)theEObject;
+				T result = caseCHGaResourcePlatform(chGaResourcePlatform);
+				if (result == null) result = caseGaResourcesPlatform(chGaResourcePlatform);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case CorePackage.IDENTIF_INSTANCE: {
+				IdentifInstance identifInstance = (IdentifInstance)theEObject;
+				T result = caseIdentifInstance(identifInstance);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case CorePackage.IDENTIF_SLOT: {
+				IdentifSlot identifSlot = (IdentifSlot)theEObject;
+				T result = caseIdentifSlot(identifSlot);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case CorePackage.MULTI_INSTANCE: {
+				MultiInstance multiInstance = (MultiInstance)theEObject;
+				T result = caseMultiInstance(multiInstance);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case CorePackage.MULTI_SLOT: {
+				MultiSlot multiSlot = (MultiSlot)theEObject;
+				T result = caseMultiSlot(multiSlot);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			default: return defaultCase(theEObject);
+		}
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>CHESS</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>CHESS</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseCHESS(CHESS object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>CH Ga Resource Platform</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>CH Ga Resource Platform</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseCHGaResourcePlatform(CHGaResourcePlatform object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Identif Instance</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Identif Instance</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseIdentifInstance(IdentifInstance object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Identif Slot</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Identif Slot</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseIdentifSlot(IdentifSlot object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Multi Instance</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Multi Instance</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseMultiInstance(MultiInstance object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Multi Slot</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Multi Slot</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseMultiSlot(MultiSlot object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Ga Resources Platform</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Ga Resources Platform</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseGaResourcesPlatform(GaResourcesPlatform object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch, but this is the last case anyway.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+	 * @generated
+	 */
+	@Override
+	public T defaultCase(EObject object) {
+		return null;
+	}
+
+} //CoreSwitch
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/util/CoreXMLProcessor.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/util/CoreXMLProcessor.java
new file mode 100644
index 000000000..59c43db76
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Core/util/CoreXMLProcessor.java
@@ -0,0 +1,56 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Core.util;
+
+import java.util.Map;
+
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.xmi.util.XMLProcessor;
+import org.polarsys.chess.chessmlprofile.Core.CorePackage;
+
+/**
+ * This class contains helper methods to serialize and deserialize XML documents
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CoreXMLProcessor extends XMLProcessor {
+
+	/**
+	 * Public constructor to instantiate the helper.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CoreXMLProcessor() {
+		super((EPackage.Registry.INSTANCE));
+		CorePackage.eINSTANCE.eClass();
+	}
+	
+	/**
+	 * Register for "*" and "xml" file extensions the CoreResourceFactoryImpl factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected Map<String, Resource.Factory> getRegistrations() {
+		if (registrations == null) {
+			super.getRegistrations();
+			registrations.put(XML_EXTENSION, new CoreResourceFactoryImpl());
+			registrations.put(STAR_EXTENSION, new CoreResourceFactoryImpl());
+		}
+		return registrations;
+	}
+
+} //CoreXMLProcessor
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/DataFlowCallGraph/DataFlowCallGraphAnalysis.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/DataFlowCallGraph/DataFlowCallGraphAnalysis.java
new file mode 100644
index 000000000..9935e585d
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/DataFlowCallGraph/DataFlowCallGraphAnalysis.java
@@ -0,0 +1,82 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.DataFlowCallGraph;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.GQAM.GaAnalysisContext;
+
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Type;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Analysis</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.DataFlowCallGraph.DataFlowCallGraphAnalysis#getResult <em>Result</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.polarsys.chess.chessmlprofile.Dependability.DataFlowCallGraph.DataFlowCallGraphPackage#getDataFlowCallGraphAnalysis()
+ * @model
+ * @generated
+ */
+public interface DataFlowCallGraphAnalysis extends GaAnalysisContext {
+	/**
+	 * Returns the value of the '<em><b>Result</b></em>' reference list.
+	 * The list contents are of type {@link org.eclipse.uml2.uml.Property}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Result</em>' reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Result</em>' reference list.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.DataFlowCallGraph.DataFlowCallGraphPackage#getDataFlowCallGraphAnalysis_Result()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	EList<Property> getResult();
+
+	/**
+	 * Retrieves the first {@link org.eclipse.uml2.uml.Property} with the specified '<em><b>Name</b></em>', and '<em><b>Type</b></em>' from the '<em><b>Result</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param name The '<em><b>Name</b></em>' of the {@link org.eclipse.uml2.uml.Property} to retrieve, or <code>null</code>.
+	 * @param type The '<em><b>Type</b></em>' of the {@link org.eclipse.uml2.uml.Property} to retrieve, or <code>null</code>.
+	 * @return The first {@link org.eclipse.uml2.uml.Property} with the specified '<em><b>Name</b></em>', and '<em><b>Type</b></em>', or <code>null</code>.
+	 * @see #getResult()
+	 * @generated
+	 */
+	Property getResult(String name, Type type);
+
+	/**
+	 * Retrieves the first {@link org.eclipse.uml2.uml.Property} with the specified '<em><b>Name</b></em>', and '<em><b>Type</b></em>' from the '<em><b>Result</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param name The '<em><b>Name</b></em>' of the {@link org.eclipse.uml2.uml.Property} to retrieve, or <code>null</code>.
+	 * @param type The '<em><b>Type</b></em>' of the {@link org.eclipse.uml2.uml.Property} to retrieve, or <code>null</code>.
+	 * @param ignoreCase Whether to ignore case in {@link java.lang.String} comparisons.
+	 * @param eClass The Ecore class of the {@link org.eclipse.uml2.uml.Property} to retrieve, or <code>null</code>.
+	 * @return The first {@link org.eclipse.uml2.uml.Property} with the specified '<em><b>Name</b></em>', and '<em><b>Type</b></em>', or <code>null</code>.
+	 * @see #getResult()
+	 * @generated
+	 */
+	Property getResult(String name, Type type, boolean ignoreCase, EClass eClass);
+
+} // DataFlowCallGraphAnalysis
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/DataFlowCallGraph/DataFlowCallGraphFactory.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/DataFlowCallGraph/DataFlowCallGraphFactory.java
new file mode 100644
index 000000000..9a42cc7b0
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/DataFlowCallGraph/DataFlowCallGraphFactory.java
@@ -0,0 +1,51 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.DataFlowCallGraph;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Dependability.DataFlowCallGraph.DataFlowCallGraphPackage
+ * @generated
+ */
+public interface DataFlowCallGraphFactory extends EFactory {
+	/**
+	 * The singleton instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	DataFlowCallGraphFactory eINSTANCE = org.polarsys.chess.chessmlprofile.Dependability.DataFlowCallGraph.impl.DataFlowCallGraphFactoryImpl.init();
+
+	/**
+	 * Returns a new object of class '<em>Analysis</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Analysis</em>'.
+	 * @generated
+	 */
+	DataFlowCallGraphAnalysis createDataFlowCallGraphAnalysis();
+
+	/**
+	 * Returns the package supported by this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the package supported by this factory.
+	 * @generated
+	 */
+	DataFlowCallGraphPackage getDataFlowCallGraphPackage();
+
+} //DataFlowCallGraphFactory
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/DataFlowCallGraph/DataFlowCallGraphPackage.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/DataFlowCallGraph/DataFlowCallGraphPackage.java
new file mode 100644
index 000000000..bec077c08
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/DataFlowCallGraph/DataFlowCallGraphPackage.java
@@ -0,0 +1,223 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.DataFlowCallGraph;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.GQAM.GQAMPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ *   <li>each class,</li>
+ *   <li>each feature of each class,</li>
+ *   <li>each enum,</li>
+ *   <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Dependability.DataFlowCallGraph.DataFlowCallGraphFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface DataFlowCallGraphPackage extends EPackage {
+	/**
+	 * The package name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNAME = "DataFlowCallGraph";
+
+	/**
+	 * The package namespace URI.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_URI = "http://CHESS.DependabilitySecurity/schemas/DataFlowCallGraph/_QB3mMMe6Ed-7etIj5eTw0Q/8";
+
+	/**
+	 * The package namespace name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_PREFIX = "DataFlowCallGraph";
+
+	/**
+	 * The singleton instance of the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	DataFlowCallGraphPackage eINSTANCE = org.polarsys.chess.chessmlprofile.Dependability.DataFlowCallGraph.impl.DataFlowCallGraphPackageImpl.init();
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Dependability.DataFlowCallGraph.impl.DataFlowCallGraphAnalysisImpl <em>Analysis</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.DataFlowCallGraph.impl.DataFlowCallGraphAnalysisImpl
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.DataFlowCallGraph.impl.DataFlowCallGraphPackageImpl#getDataFlowCallGraphAnalysis()
+	 * @generated
+	 */
+	int DATA_FLOW_CALL_GRAPH_ANALYSIS = 0;
+
+	/**
+	 * The feature id for the '<em><b>Base Structured Classifier</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_FLOW_CALL_GRAPH_ANALYSIS__BASE_STRUCTURED_CLASSIFIER = GQAMPackage.GA_ANALYSIS_CONTEXT__BASE_STRUCTURED_CLASSIFIER;
+
+	/**
+	 * The feature id for the '<em><b>Base Package</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_FLOW_CALL_GRAPH_ANALYSIS__BASE_PACKAGE = GQAMPackage.GA_ANALYSIS_CONTEXT__BASE_PACKAGE;
+
+	/**
+	 * The feature id for the '<em><b>Mode</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_FLOW_CALL_GRAPH_ANALYSIS__MODE = GQAMPackage.GA_ANALYSIS_CONTEXT__MODE;
+
+	/**
+	 * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_FLOW_CALL_GRAPH_ANALYSIS__BASE_NAMED_ELEMENT = GQAMPackage.GA_ANALYSIS_CONTEXT__BASE_NAMED_ELEMENT;
+
+	/**
+	 * The feature id for the '<em><b>Context</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_FLOW_CALL_GRAPH_ANALYSIS__CONTEXT = GQAMPackage.GA_ANALYSIS_CONTEXT__CONTEXT;
+
+	/**
+	 * The feature id for the '<em><b>Workload</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_FLOW_CALL_GRAPH_ANALYSIS__WORKLOAD = GQAMPackage.GA_ANALYSIS_CONTEXT__WORKLOAD;
+
+	/**
+	 * The feature id for the '<em><b>Platform</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_FLOW_CALL_GRAPH_ANALYSIS__PLATFORM = GQAMPackage.GA_ANALYSIS_CONTEXT__PLATFORM;
+
+	/**
+	 * The feature id for the '<em><b>Result</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_FLOW_CALL_GRAPH_ANALYSIS__RESULT = GQAMPackage.GA_ANALYSIS_CONTEXT_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of structural features of the '<em>Analysis</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_FLOW_CALL_GRAPH_ANALYSIS_FEATURE_COUNT = GQAMPackage.GA_ANALYSIS_CONTEXT_FEATURE_COUNT + 1;
+
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.chessmlprofile.Dependability.DataFlowCallGraph.DataFlowCallGraphAnalysis <em>Analysis</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Analysis</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.DataFlowCallGraph.DataFlowCallGraphAnalysis
+	 * @generated
+	 */
+	EClass getDataFlowCallGraphAnalysis();
+
+	/**
+	 * Returns the meta object for the reference list '{@link org.polarsys.chess.chessmlprofile.Dependability.DataFlowCallGraph.DataFlowCallGraphAnalysis#getResult <em>Result</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference list '<em>Result</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.DataFlowCallGraph.DataFlowCallGraphAnalysis#getResult()
+	 * @see #getDataFlowCallGraphAnalysis()
+	 * @generated
+	 */
+	EReference getDataFlowCallGraphAnalysis_Result();
+
+	/**
+	 * Returns the factory that creates the instances of the model.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the factory that creates the instances of the model.
+	 * @generated
+	 */
+	DataFlowCallGraphFactory getDataFlowCallGraphFactory();
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * Defines literals for the meta objects that represent
+	 * <ul>
+	 *   <li>each class,</li>
+	 *   <li>each feature of each class,</li>
+	 *   <li>each enum,</li>
+	 *   <li>and each data type</li>
+	 * </ul>
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	interface Literals {
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Dependability.DataFlowCallGraph.impl.DataFlowCallGraphAnalysisImpl <em>Analysis</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.DataFlowCallGraph.impl.DataFlowCallGraphAnalysisImpl
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.DataFlowCallGraph.impl.DataFlowCallGraphPackageImpl#getDataFlowCallGraphAnalysis()
+		 * @generated
+		 */
+		EClass DATA_FLOW_CALL_GRAPH_ANALYSIS = eINSTANCE.getDataFlowCallGraphAnalysis();
+
+		/**
+		 * The meta object literal for the '<em><b>Result</b></em>' reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference DATA_FLOW_CALL_GRAPH_ANALYSIS__RESULT = eINSTANCE.getDataFlowCallGraphAnalysis_Result();
+
+	}
+
+} //DataFlowCallGraphPackage
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/DataFlowCallGraph/impl/DataFlowCallGraphAnalysisImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/DataFlowCallGraph/impl/DataFlowCallGraphAnalysisImpl.java
new file mode 100644
index 000000000..95ebebe46
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/DataFlowCallGraph/impl/DataFlowCallGraphAnalysisImpl.java
@@ -0,0 +1,167 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.DataFlowCallGraph.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.GQAM.impl.GaAnalysisContextImpl;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Type;
+import org.polarsys.chess.chessmlprofile.Dependability.DataFlowCallGraph.DataFlowCallGraphAnalysis;
+import org.polarsys.chess.chessmlprofile.Dependability.DataFlowCallGraph.DataFlowCallGraphPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Analysis</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.DataFlowCallGraph.impl.DataFlowCallGraphAnalysisImpl#getResult <em>Result</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class DataFlowCallGraphAnalysisImpl extends GaAnalysisContextImpl implements DataFlowCallGraphAnalysis {
+	/**
+	 * The cached value of the '{@link #getResult() <em>Result</em>}' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getResult()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<Property> result;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected DataFlowCallGraphAnalysisImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return DataFlowCallGraphPackage.Literals.DATA_FLOW_CALL_GRAPH_ANALYSIS;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<Property> getResult() {
+		if (result == null) {
+			result = new EObjectResolvingEList<Property>(Property.class, this, DataFlowCallGraphPackage.DATA_FLOW_CALL_GRAPH_ANALYSIS__RESULT);
+		}
+		return result;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Property getResult(String name, Type type) {
+		return getResult(name, type, false, null);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Property getResult(String name, Type type, boolean ignoreCase, EClass eClass) {
+		resultLoop: for (Property result : getResult()) {
+			if (eClass != null && !eClass.isInstance(result))
+				continue resultLoop;
+			if (name != null && !(ignoreCase ? name.equalsIgnoreCase(result.getName()) : name.equals(result.getName())))
+				continue resultLoop;
+			if (type != null && !type.equals(result.getType()))
+				continue resultLoop;
+			return result;
+		}
+		return null;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case DataFlowCallGraphPackage.DATA_FLOW_CALL_GRAPH_ANALYSIS__RESULT:
+				return getResult();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case DataFlowCallGraphPackage.DATA_FLOW_CALL_GRAPH_ANALYSIS__RESULT:
+				getResult().clear();
+				getResult().addAll((Collection<? extends Property>)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case DataFlowCallGraphPackage.DATA_FLOW_CALL_GRAPH_ANALYSIS__RESULT:
+				getResult().clear();
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case DataFlowCallGraphPackage.DATA_FLOW_CALL_GRAPH_ANALYSIS__RESULT:
+				return result != null && !result.isEmpty();
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //DataFlowCallGraphAnalysisImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/DataFlowCallGraph/impl/DataFlowCallGraphFactoryImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/DataFlowCallGraph/impl/DataFlowCallGraphFactoryImpl.java
new file mode 100644
index 000000000..03fe48f72
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/DataFlowCallGraph/impl/DataFlowCallGraphFactoryImpl.java
@@ -0,0 +1,101 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.DataFlowCallGraph.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.polarsys.chess.chessmlprofile.Dependability.DataFlowCallGraph.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class DataFlowCallGraphFactoryImpl extends EFactoryImpl implements DataFlowCallGraphFactory {
+	/**
+	 * Creates the default factory implementation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static DataFlowCallGraphFactory init() {
+		try {
+			DataFlowCallGraphFactory theDataFlowCallGraphFactory = (DataFlowCallGraphFactory)EPackage.Registry.INSTANCE.getEFactory(DataFlowCallGraphPackage.eNS_URI);
+			if (theDataFlowCallGraphFactory != null) {
+				return theDataFlowCallGraphFactory;
+			}
+		}
+		catch (Exception exception) {
+			EcorePlugin.INSTANCE.log(exception);
+		}
+		return new DataFlowCallGraphFactoryImpl();
+	}
+
+	/**
+	 * Creates an instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public DataFlowCallGraphFactoryImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EObject create(EClass eClass) {
+		switch (eClass.getClassifierID()) {
+			case DataFlowCallGraphPackage.DATA_FLOW_CALL_GRAPH_ANALYSIS: return createDataFlowCallGraphAnalysis();
+			default:
+				throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public DataFlowCallGraphAnalysis createDataFlowCallGraphAnalysis() {
+		DataFlowCallGraphAnalysisImpl dataFlowCallGraphAnalysis = new DataFlowCallGraphAnalysisImpl();
+		return dataFlowCallGraphAnalysis;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public DataFlowCallGraphPackage getDataFlowCallGraphPackage() {
+		return (DataFlowCallGraphPackage)getEPackage();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @deprecated
+	 * @generated
+	 */
+	@Deprecated
+	public static DataFlowCallGraphPackage getPackage() {
+		return DataFlowCallGraphPackage.eINSTANCE;
+	}
+
+} //DataFlowCallGraphFactoryImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/DataFlowCallGraph/impl/DataFlowCallGraphPackageImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/DataFlowCallGraph/impl/DataFlowCallGraphPackageImpl.java
new file mode 100644
index 000000000..1a753c824
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/DataFlowCallGraph/impl/DataFlowCallGraphPackageImpl.java
@@ -0,0 +1,321 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.DataFlowCallGraph.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+import org.eclipse.papyrus.MARTE.MARTEPackage;
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.GQAM.GQAMPackage;
+import org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.BasicNFP_TypesPackage;
+import org.eclipse.papyrus.MARTE_Library.GRM_BasicTypes.GRM_BasicTypesPackage;
+import org.eclipse.papyrus.MARTE_Library.MARTE_DataTypes.MARTE_DataTypesPackage;
+import org.eclipse.papyrus.MARTE_Library.MARTE_PrimitivesTypes.MARTE_PrimitivesTypesPackage;
+import org.eclipse.papyrus.MARTE_Library.MeasurementUnits.MeasurementUnitsPackage;
+import org.eclipse.papyrus.MARTE_Library.RS_Library.RS_LibraryPackage;
+import org.eclipse.papyrus.MARTE_Library.TimeLibrary.TimeLibraryPackage;
+import org.eclipse.papyrus.MARTE_Library.TimeTypesLibrary.TimeTypesLibraryPackage;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.polarsys.chess.chessmlprofile.chessmlprofilePackage;
+import org.polarsys.chess.chessmlprofile.ComponentModel.ComponentModelPackage;
+import org.polarsys.chess.chessmlprofile.ComponentModel.impl.ComponentModelPackageImpl;
+import org.polarsys.chess.chessmlprofile.Core.CorePackage;
+import org.polarsys.chess.chessmlprofile.Core.CHESSViews.CHESSViewsPackage;
+import org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl.CHESSViewsPackageImpl;
+import org.polarsys.chess.chessmlprofile.Core.impl.CorePackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.DataFlowCallGraph.DataFlowCallGraphAnalysis;
+import org.polarsys.chess.chessmlprofile.Dependability.DataFlowCallGraph.DataFlowCallGraphFactory;
+import org.polarsys.chess.chessmlprofile.Dependability.DataFlowCallGraph.DataFlowCallGraphPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.DependableComponentPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.impl.DependableComponentPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEAPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEADataTypes.FMEADataTypesPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEADataTypes.impl.FMEADataTypesPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.impl.FMEAPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.FailurePropagationDataTypesPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.impl.FailurePropagationDataTypesPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl.FailurePropagationPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans.MitigationMeansPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans.impl.MitigationMeansPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.FaultTolerancePackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.impl.FaultTolerancePackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.MaintenanceMonitoringPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.impl.MaintenanceMonitoringPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.StateBasedAnalysisPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.impl.StateBasedAnalysisPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StateBasedComponentsPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.impl.StateBasedComponentsPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.StateBasedDataTypesPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.impl.StateBasedDataTypesPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatsPropagationPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.ThreatsPropagationPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.DeploymentConfAnalysisPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.impl.DeploymentConfAnalysisPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HardwareBaselinePackage;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.HardwareBaselinePackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTComponentModelPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.RTDataTypesPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.impl.RTDataTypesPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.impl.RTComponentModelPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingAnalysisPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.TimingConstraintsPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.impl.TimingConstraintsPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.impl.TimingAnalysisPackageImpl;
+import org.polarsys.chess.chessmlprofile.impl.chessmlprofilePackageImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class DataFlowCallGraphPackageImpl extends EPackageImpl implements DataFlowCallGraphPackage {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass dataFlowCallGraphAnalysisEClass = null;
+
+	/**
+	 * Creates an instance of the model <b>Package</b>, registered with
+	 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+	 * package URI value.
+	 * <p>Note: the correct way to create the package is via the static
+	 * factory method {@link #init init()}, which also performs
+	 * initialization of the package, or returns the registered package,
+	 * if one already exists.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.emf.ecore.EPackage.Registry
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.DataFlowCallGraph.DataFlowCallGraphPackage#eNS_URI
+	 * @see #init()
+	 * @generated
+	 */
+	private DataFlowCallGraphPackageImpl() {
+		super(eNS_URI, DataFlowCallGraphFactory.eINSTANCE);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static boolean isInited = false;
+
+	/**
+	 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+	 * 
+	 * <p>This method is used to initialize {@link DataFlowCallGraphPackage#eINSTANCE} when that field is accessed.
+	 * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #eNS_URI
+	 * @see #createPackageContents()
+	 * @see #initializePackageContents()
+	 * @generated
+	 */
+	public static DataFlowCallGraphPackage init() {
+		if (isInited) return (DataFlowCallGraphPackage)EPackage.Registry.INSTANCE.getEPackage(DataFlowCallGraphPackage.eNS_URI);
+
+		// Obtain or create and register package
+		DataFlowCallGraphPackageImpl theDataFlowCallGraphPackage = (DataFlowCallGraphPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof DataFlowCallGraphPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new DataFlowCallGraphPackageImpl());
+
+		isInited = true;
+
+		// Initialize simple dependencies
+		MARTEPackage.eINSTANCE.eClass();
+		MeasurementUnitsPackage.eINSTANCE.eClass();
+		GRM_BasicTypesPackage.eINSTANCE.eClass();
+		MARTE_DataTypesPackage.eINSTANCE.eClass();
+		BasicNFP_TypesPackage.eINSTANCE.eClass();
+		TimeTypesLibraryPackage.eINSTANCE.eClass();
+		TimeLibraryPackage.eINSTANCE.eClass();
+		RS_LibraryPackage.eINSTANCE.eClass();
+		MARTE_PrimitivesTypesPackage.eINSTANCE.eClass();
+		BasicNFP_TypesPackage.eINSTANCE.eClass();
+
+		// Obtain or create and register interdependencies
+		chessmlprofilePackageImpl thechessmlprofilePackage = (chessmlprofilePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(chessmlprofilePackage.eNS_URI) instanceof chessmlprofilePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(chessmlprofilePackage.eNS_URI) : chessmlprofilePackage.eINSTANCE);
+		CorePackageImpl theCorePackage = (CorePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(CorePackage.eNS_URI) instanceof CorePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(CorePackage.eNS_URI) : CorePackage.eINSTANCE);
+		CHESSViewsPackageImpl theCHESSViewsPackage = (CHESSViewsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(CHESSViewsPackage.eNS_URI) instanceof CHESSViewsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(CHESSViewsPackage.eNS_URI) : CHESSViewsPackage.eINSTANCE);
+		FailurePropagationPackageImpl theFailurePropagationPackage = (FailurePropagationPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FailurePropagationPackage.eNS_URI) instanceof FailurePropagationPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FailurePropagationPackage.eNS_URI) : FailurePropagationPackage.eINSTANCE);
+		FailurePropagationDataTypesPackageImpl theFailurePropagationDataTypesPackage = (FailurePropagationDataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FailurePropagationDataTypesPackage.eNS_URI) instanceof FailurePropagationDataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FailurePropagationDataTypesPackage.eNS_URI) : FailurePropagationDataTypesPackage.eINSTANCE);
+		DependableComponentPackageImpl theDependableComponentPackage = (DependableComponentPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DependableComponentPackage.eNS_URI) instanceof DependableComponentPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DependableComponentPackage.eNS_URI) : DependableComponentPackage.eINSTANCE);
+		ThreatsPropagationPackageImpl theThreatsPropagationPackage = (ThreatsPropagationPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ThreatsPropagationPackage.eNS_URI) instanceof ThreatsPropagationPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ThreatsPropagationPackage.eNS_URI) : ThreatsPropagationPackage.eINSTANCE);
+		StateBasedDataTypesPackageImpl theStateBasedDataTypesPackage = (StateBasedDataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(StateBasedDataTypesPackage.eNS_URI) instanceof StateBasedDataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(StateBasedDataTypesPackage.eNS_URI) : StateBasedDataTypesPackage.eINSTANCE);
+		StateBasedComponentsPackageImpl theStateBasedComponentsPackage = (StateBasedComponentsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(StateBasedComponentsPackage.eNS_URI) instanceof StateBasedComponentsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(StateBasedComponentsPackage.eNS_URI) : StateBasedComponentsPackage.eINSTANCE);
+		FaultTolerancePackageImpl theFaultTolerancePackage = (FaultTolerancePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FaultTolerancePackage.eNS_URI) instanceof FaultTolerancePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FaultTolerancePackage.eNS_URI) : FaultTolerancePackage.eINSTANCE);
+		MaintenanceMonitoringPackageImpl theMaintenanceMonitoringPackage = (MaintenanceMonitoringPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(MaintenanceMonitoringPackage.eNS_URI) instanceof MaintenanceMonitoringPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(MaintenanceMonitoringPackage.eNS_URI) : MaintenanceMonitoringPackage.eINSTANCE);
+		StateBasedAnalysisPackageImpl theStateBasedAnalysisPackage = (StateBasedAnalysisPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(StateBasedAnalysisPackage.eNS_URI) instanceof StateBasedAnalysisPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(StateBasedAnalysisPackage.eNS_URI) : StateBasedAnalysisPackage.eINSTANCE);
+		FMEAPackageImpl theFMEAPackage = (FMEAPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FMEAPackage.eNS_URI) instanceof FMEAPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FMEAPackage.eNS_URI) : FMEAPackage.eINSTANCE);
+		FMEADataTypesPackageImpl theFMEADataTypesPackage = (FMEADataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FMEADataTypesPackage.eNS_URI) instanceof FMEADataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FMEADataTypesPackage.eNS_URI) : FMEADataTypesPackage.eINSTANCE);
+		MitigationMeansPackageImpl theMitigationMeansPackage = (MitigationMeansPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(MitigationMeansPackage.eNS_URI) instanceof MitigationMeansPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(MitigationMeansPackage.eNS_URI) : MitigationMeansPackage.eINSTANCE);
+		TimingAnalysisPackageImpl theTimingAnalysisPackage = (TimingAnalysisPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimingAnalysisPackage.eNS_URI) instanceof TimingAnalysisPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimingAnalysisPackage.eNS_URI) : TimingAnalysisPackage.eINSTANCE);
+		TimingConstraintsPackageImpl theTimingConstraintsPackage = (TimingConstraintsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimingConstraintsPackage.eNS_URI) instanceof TimingConstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimingConstraintsPackage.eNS_URI) : TimingConstraintsPackage.eINSTANCE);
+		HardwareBaselinePackageImpl theHardwareBaselinePackage = (HardwareBaselinePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HardwareBaselinePackage.eNS_URI) instanceof HardwareBaselinePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HardwareBaselinePackage.eNS_URI) : HardwareBaselinePackage.eINSTANCE);
+		DeploymentConfAnalysisPackageImpl theDeploymentConfAnalysisPackage = (DeploymentConfAnalysisPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DeploymentConfAnalysisPackage.eNS_URI) instanceof DeploymentConfAnalysisPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DeploymentConfAnalysisPackage.eNS_URI) : DeploymentConfAnalysisPackage.eINSTANCE);
+		RTComponentModelPackageImpl theRTComponentModelPackage = (RTComponentModelPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RTComponentModelPackage.eNS_URI) instanceof RTComponentModelPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RTComponentModelPackage.eNS_URI) : RTComponentModelPackage.eINSTANCE);
+		RTDataTypesPackageImpl theRTDataTypesPackage = (RTDataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RTDataTypesPackage.eNS_URI) instanceof RTDataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RTDataTypesPackage.eNS_URI) : RTDataTypesPackage.eINSTANCE);
+		ComponentModelPackageImpl theComponentModelPackage = (ComponentModelPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ComponentModelPackage.eNS_URI) instanceof ComponentModelPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ComponentModelPackage.eNS_URI) : ComponentModelPackage.eINSTANCE);
+
+		// Create package meta-data objects
+		theDataFlowCallGraphPackage.createPackageContents();
+		thechessmlprofilePackage.createPackageContents();
+		theCorePackage.createPackageContents();
+		theCHESSViewsPackage.createPackageContents();
+		theFailurePropagationPackage.createPackageContents();
+		theFailurePropagationDataTypesPackage.createPackageContents();
+		theDependableComponentPackage.createPackageContents();
+		theThreatsPropagationPackage.createPackageContents();
+		theStateBasedDataTypesPackage.createPackageContents();
+		theStateBasedComponentsPackage.createPackageContents();
+		theFaultTolerancePackage.createPackageContents();
+		theMaintenanceMonitoringPackage.createPackageContents();
+		theStateBasedAnalysisPackage.createPackageContents();
+		theFMEAPackage.createPackageContents();
+		theFMEADataTypesPackage.createPackageContents();
+		theMitigationMeansPackage.createPackageContents();
+		theTimingAnalysisPackage.createPackageContents();
+		theTimingConstraintsPackage.createPackageContents();
+		theHardwareBaselinePackage.createPackageContents();
+		theDeploymentConfAnalysisPackage.createPackageContents();
+		theRTComponentModelPackage.createPackageContents();
+		theRTDataTypesPackage.createPackageContents();
+		theComponentModelPackage.createPackageContents();
+
+		// Initialize created meta-data
+		theDataFlowCallGraphPackage.initializePackageContents();
+		thechessmlprofilePackage.initializePackageContents();
+		theCorePackage.initializePackageContents();
+		theCHESSViewsPackage.initializePackageContents();
+		theFailurePropagationPackage.initializePackageContents();
+		theFailurePropagationDataTypesPackage.initializePackageContents();
+		theDependableComponentPackage.initializePackageContents();
+		theThreatsPropagationPackage.initializePackageContents();
+		theStateBasedDataTypesPackage.initializePackageContents();
+		theStateBasedComponentsPackage.initializePackageContents();
+		theFaultTolerancePackage.initializePackageContents();
+		theMaintenanceMonitoringPackage.initializePackageContents();
+		theStateBasedAnalysisPackage.initializePackageContents();
+		theFMEAPackage.initializePackageContents();
+		theFMEADataTypesPackage.initializePackageContents();
+		theMitigationMeansPackage.initializePackageContents();
+		theTimingAnalysisPackage.initializePackageContents();
+		theTimingConstraintsPackage.initializePackageContents();
+		theHardwareBaselinePackage.initializePackageContents();
+		theDeploymentConfAnalysisPackage.initializePackageContents();
+		theRTComponentModelPackage.initializePackageContents();
+		theRTDataTypesPackage.initializePackageContents();
+		theComponentModelPackage.initializePackageContents();
+
+		// Mark meta-data to indicate it can't be changed
+		theDataFlowCallGraphPackage.freeze();
+
+  
+		// Update the registry and return the package
+		EPackage.Registry.INSTANCE.put(DataFlowCallGraphPackage.eNS_URI, theDataFlowCallGraphPackage);
+		return theDataFlowCallGraphPackage;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getDataFlowCallGraphAnalysis() {
+		return dataFlowCallGraphAnalysisEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getDataFlowCallGraphAnalysis_Result() {
+		return (EReference)dataFlowCallGraphAnalysisEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public DataFlowCallGraphFactory getDataFlowCallGraphFactory() {
+		return (DataFlowCallGraphFactory)getEFactoryInstance();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isCreated = false;
+
+	/**
+	 * Creates the meta-model objects for the package.  This method is
+	 * guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void createPackageContents() {
+		if (isCreated) return;
+		isCreated = true;
+
+		// Create classes and their features
+		dataFlowCallGraphAnalysisEClass = createEClass(DATA_FLOW_CALL_GRAPH_ANALYSIS);
+		createEReference(dataFlowCallGraphAnalysisEClass, DATA_FLOW_CALL_GRAPH_ANALYSIS__RESULT);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isInitialized = false;
+
+	/**
+	 * Complete the initialization of the package and its meta-model.  This
+	 * method is guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void initializePackageContents() {
+		if (isInitialized) return;
+		isInitialized = true;
+
+		// Initialize package
+		setName(eNAME);
+		setNsPrefix(eNS_PREFIX);
+		setNsURI(eNS_URI);
+
+		// Obtain other dependent packages
+		GQAMPackage theGQAMPackage = (GQAMPackage)EPackage.Registry.INSTANCE.getEPackage(GQAMPackage.eNS_URI);
+		UMLPackage theUMLPackage = (UMLPackage)EPackage.Registry.INSTANCE.getEPackage(UMLPackage.eNS_URI);
+
+		// Create type parameters
+
+		// Set bounds for type parameters
+
+		// Add supertypes to classes
+		dataFlowCallGraphAnalysisEClass.getESuperTypes().add(theGQAMPackage.getGaAnalysisContext());
+
+		// Initialize classes and features; add operations and parameters
+		initEClass(dataFlowCallGraphAnalysisEClass, DataFlowCallGraphAnalysis.class, "DataFlowCallGraphAnalysis", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getDataFlowCallGraphAnalysis_Result(), theUMLPackage.getProperty(), null, "result", null, 0, -1, DataFlowCallGraphAnalysis.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+	}
+
+} //DataFlowCallGraphPackageImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/DataFlowCallGraph/util/DataFlowCallGraphAdapterFactory.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/DataFlowCallGraph/util/DataFlowCallGraphAdapterFactory.java
new file mode 100644
index 000000000..efd1aaa45
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/DataFlowCallGraph/util/DataFlowCallGraphAdapterFactory.java
@@ -0,0 +1,183 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.DataFlowCallGraph.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.GQAM.GaAnalysisContext;
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.ExpressionContext;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.CoreElements.Configuration;
+import org.polarsys.chess.chessmlprofile.Dependability.DataFlowCallGraph.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Dependability.DataFlowCallGraph.DataFlowCallGraphPackage
+ * @generated
+ */
+public class DataFlowCallGraphAdapterFactory extends AdapterFactoryImpl {
+	/**
+	 * The cached model package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static DataFlowCallGraphPackage modelPackage;
+
+	/**
+	 * Creates an instance of the adapter factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public DataFlowCallGraphAdapterFactory() {
+		if (modelPackage == null) {
+			modelPackage = DataFlowCallGraphPackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Returns whether this factory is applicable for the type of the object.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+	 * <!-- end-user-doc -->
+	 * @return whether this factory is applicable for the type of the object.
+	 * @generated
+	 */
+	@Override
+	public boolean isFactoryForType(Object object) {
+		if (object == modelPackage) {
+			return true;
+		}
+		if (object instanceof EObject) {
+			return ((EObject)object).eClass().getEPackage() == modelPackage;
+		}
+		return false;
+	}
+
+	/**
+	 * The switch that delegates to the <code>createXXX</code> methods.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected DataFlowCallGraphSwitch<Adapter> modelSwitch =
+		new DataFlowCallGraphSwitch<Adapter>() {
+			@Override
+			public Adapter caseDataFlowCallGraphAnalysis(DataFlowCallGraphAnalysis object) {
+				return createDataFlowCallGraphAnalysisAdapter();
+			}
+			@Override
+			public Adapter caseConfiguration(Configuration object) {
+				return createConfigurationAdapter();
+			}
+			@Override
+			public Adapter caseExpressionContext(ExpressionContext object) {
+				return createExpressionContextAdapter();
+			}
+			@Override
+			public Adapter caseGaAnalysisContext(GaAnalysisContext object) {
+				return createGaAnalysisContextAdapter();
+			}
+			@Override
+			public Adapter defaultCase(EObject object) {
+				return createEObjectAdapter();
+			}
+		};
+
+	/**
+	 * Creates an adapter for the <code>target</code>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param target the object to adapt.
+	 * @return the adapter for the <code>target</code>.
+	 * @generated
+	 */
+	@Override
+	public Adapter createAdapter(Notifier target) {
+		return modelSwitch.doSwitch((EObject)target);
+	}
+
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.Dependability.DataFlowCallGraph.DataFlowCallGraphAnalysis <em>Analysis</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.DataFlowCallGraph.DataFlowCallGraphAnalysis
+	 * @generated
+	 */
+	public Adapter createDataFlowCallGraphAnalysisAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_Foundations.CoreElements.Configuration <em>Configuration</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.papyrus.MARTE.MARTE_Foundations.CoreElements.Configuration
+	 * @generated
+	 */
+	public Adapter createConfigurationAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.ExpressionContext <em>Expression Context</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.ExpressionContext
+	 * @generated
+	 */
+	public Adapter createExpressionContextAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.GQAM.GaAnalysisContext <em>Ga Analysis Context</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.GQAM.GaAnalysisContext
+	 * @generated
+	 */
+	public Adapter createGaAnalysisContextAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for the default case.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @generated
+	 */
+	public Adapter createEObjectAdapter() {
+		return null;
+	}
+
+} //DataFlowCallGraphAdapterFactory
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/DataFlowCallGraph/util/DataFlowCallGraphResourceFactoryImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/DataFlowCallGraph/util/DataFlowCallGraphResourceFactoryImpl.java
new file mode 100644
index 000000000..387193600
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/DataFlowCallGraph/util/DataFlowCallGraphResourceFactoryImpl.java
@@ -0,0 +1,61 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.DataFlowCallGraph.util;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.resource.impl.ResourceFactoryImpl;
+
+import org.eclipse.emf.ecore.xmi.XMLResource;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource Factory</b> associated with the package.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Dependability.DataFlowCallGraph.util.DataFlowCallGraphResourceImpl
+ * @generated
+ */
+public class DataFlowCallGraphResourceFactoryImpl extends ResourceFactoryImpl {
+	/**
+	 * Creates an instance of the resource factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public DataFlowCallGraphResourceFactoryImpl() {
+		super();
+	}
+
+	/**
+	 * Creates an instance of the resource.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Resource createResource(URI uri) {
+		XMLResource result = new DataFlowCallGraphResourceImpl(uri);
+		result.getDefaultSaveOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
+		result.getDefaultLoadOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
+
+		result.getDefaultSaveOptions().put(XMLResource.OPTION_SCHEMA_LOCATION, Boolean.TRUE);
+
+		result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+		result.getDefaultSaveOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+
+		result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_LEXICAL_HANDLER, Boolean.TRUE);
+		return result;
+	}
+
+} //DataFlowCallGraphResourceFactoryImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/DataFlowCallGraph/util/DataFlowCallGraphResourceImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/DataFlowCallGraph/util/DataFlowCallGraphResourceImpl.java
new file mode 100644
index 000000000..5b5992453
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/DataFlowCallGraph/util/DataFlowCallGraphResourceImpl.java
@@ -0,0 +1,37 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.DataFlowCallGraph.util;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource </b> associated with the package.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Dependability.DataFlowCallGraph.util.DataFlowCallGraphResourceFactoryImpl
+ * @generated
+ */
+public class DataFlowCallGraphResourceImpl extends XMLResourceImpl {
+	/**
+	 * Creates an instance of the resource.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param uri the URI of the new resource.
+	 * @generated
+	 */
+	public DataFlowCallGraphResourceImpl(URI uri) {
+		super(uri);
+	}
+
+} //DataFlowCallGraphResourceImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/DataFlowCallGraph/util/DataFlowCallGraphSwitch.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/DataFlowCallGraph/util/DataFlowCallGraphSwitch.java
new file mode 100644
index 000000000..5759a78fb
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/DataFlowCallGraph/util/DataFlowCallGraphSwitch.java
@@ -0,0 +1,171 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.DataFlowCallGraph.util;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.util.Switch;
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.GQAM.GaAnalysisContext;
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.ExpressionContext;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.CoreElements.Configuration;
+import org.polarsys.chess.chessmlprofile.Dependability.DataFlowCallGraph.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Dependability.DataFlowCallGraph.DataFlowCallGraphPackage
+ * @generated
+ */
+public class DataFlowCallGraphSwitch<T> extends Switch<T> {
+	/**
+	 * The cached model package
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static DataFlowCallGraphPackage modelPackage;
+
+	/**
+	 * Creates an instance of the switch.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public DataFlowCallGraphSwitch() {
+		if (modelPackage == null) {
+			modelPackage = DataFlowCallGraphPackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Checks whether this is a switch for the given package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @parameter ePackage the package in question.
+	 * @return whether this is a switch for the given package.
+	 * @generated
+	 */
+	@Override
+	protected boolean isSwitchFor(EPackage ePackage) {
+		return ePackage == modelPackage;
+	}
+
+	/**
+	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the first non-null result returned by a <code>caseXXX</code> call.
+	 * @generated
+	 */
+	@Override
+	protected T doSwitch(int classifierID, EObject theEObject) {
+		switch (classifierID) {
+			case DataFlowCallGraphPackage.DATA_FLOW_CALL_GRAPH_ANALYSIS: {
+				DataFlowCallGraphAnalysis dataFlowCallGraphAnalysis = (DataFlowCallGraphAnalysis)theEObject;
+				T result = caseDataFlowCallGraphAnalysis(dataFlowCallGraphAnalysis);
+				if (result == null) result = caseGaAnalysisContext(dataFlowCallGraphAnalysis);
+				if (result == null) result = caseConfiguration(dataFlowCallGraphAnalysis);
+				if (result == null) result = caseExpressionContext(dataFlowCallGraphAnalysis);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			default: return defaultCase(theEObject);
+		}
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Analysis</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Analysis</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseDataFlowCallGraphAnalysis(DataFlowCallGraphAnalysis object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Configuration</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Configuration</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseConfiguration(Configuration object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Expression Context</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Expression Context</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseExpressionContext(ExpressionContext object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Ga Analysis Context</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Ga Analysis Context</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseGaAnalysisContext(GaAnalysisContext object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch, but this is the last case anyway.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+	 * @generated
+	 */
+	@Override
+	public T defaultCase(EObject object) {
+		return null;
+	}
+
+} //DataFlowCallGraphSwitch
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/DataFlowCallGraph/util/DataFlowCallGraphXMLProcessor.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/DataFlowCallGraph/util/DataFlowCallGraphXMLProcessor.java
new file mode 100644
index 000000000..88397c3d5
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/DataFlowCallGraph/util/DataFlowCallGraphXMLProcessor.java
@@ -0,0 +1,56 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.DataFlowCallGraph.util;
+
+import java.util.Map;
+
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.xmi.util.XMLProcessor;
+import org.polarsys.chess.chessmlprofile.Dependability.DataFlowCallGraph.DataFlowCallGraphPackage;
+
+/**
+ * This class contains helper methods to serialize and deserialize XML documents
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class DataFlowCallGraphXMLProcessor extends XMLProcessor {
+
+	/**
+	 * Public constructor to instantiate the helper.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public DataFlowCallGraphXMLProcessor() {
+		super((EPackage.Registry.INSTANCE));
+		DataFlowCallGraphPackage.eINSTANCE.eClass();
+	}
+	
+	/**
+	 * Register for "*" and "xml" file extensions the DataFlowCallGraphResourceFactoryImpl factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected Map<String, Resource.Factory> getRegistrations() {
+		if (registrations == null) {
+			super.getRegistrations();
+			registrations.put(XML_EXTENSION, new DataFlowCallGraphResourceFactoryImpl());
+			registrations.put(STAR_EXTENSION, new DataFlowCallGraphResourceFactoryImpl());
+		}
+		return registrations;
+	}
+
+} //DataFlowCallGraphXMLProcessor
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/DependableComponent/DependableComponent.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/DependableComponent/DependableComponent.java
new file mode 100644
index 000000000..a6a5705cc
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/DependableComponent/DependableComponent.java
@@ -0,0 +1,116 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.DependableComponent;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.Property;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ErrorModel;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Dependable Component</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.DependableComponent#getBase_Component <em>Base Component</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.DependableComponent#getErrorModel <em>Error Model</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.DependableComponent#getBase_Property <em>Base Property</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.DependableComponentPackage#getDependableComponent()
+ * @model
+ * @generated
+ */
+public interface DependableComponent extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Base Component</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Component</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Base Component</em>' reference.
+	 * @see #setBase_Component(Component)
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.DependableComponentPackage#getDependableComponent_Base_Component()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	Component getBase_Component();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.DependableComponent#getBase_Component <em>Base Component</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Base Component</em>' reference.
+	 * @see #getBase_Component()
+	 * @generated
+	 */
+	void setBase_Component(Component value);
+
+	/**
+	 * Returns the value of the '<em><b>Error Model</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Error Model</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Error Model</em>' reference.
+	 * @see #setErrorModel(ErrorModel)
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.DependableComponentPackage#getDependableComponent_ErrorModel()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	ErrorModel getErrorModel();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.DependableComponent#getErrorModel <em>Error Model</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Error Model</em>' reference.
+	 * @see #getErrorModel()
+	 * @generated
+	 */
+	void setErrorModel(ErrorModel value);
+
+	/**
+	 * Returns the value of the '<em><b>Base Property</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Property</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Base Property</em>' reference.
+	 * @see #setBase_Property(Property)
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.DependableComponentPackage#getDependableComponent_Base_Property()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	Property getBase_Property();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.DependableComponent#getBase_Property <em>Base Property</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Base Property</em>' reference.
+	 * @see #getBase_Property()
+	 * @generated
+	 */
+	void setBase_Property(Property value);
+
+} // DependableComponent
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/DependableComponent/DependableComponentFactory.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/DependableComponent/DependableComponentFactory.java
new file mode 100644
index 000000000..e13de9c73
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/DependableComponent/DependableComponentFactory.java
@@ -0,0 +1,60 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.DependableComponent;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.DependableComponentPackage
+ * @generated
+ */
+public interface DependableComponentFactory extends EFactory {
+	/**
+	 * The singleton instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	DependableComponentFactory eINSTANCE = org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.impl.DependableComponentFactoryImpl.init();
+
+	/**
+	 * Returns a new object of class '<em>Propagation</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Propagation</em>'.
+	 * @generated
+	 */
+	Propagation createPropagation();
+
+	/**
+	 * Returns a new object of class '<em>Dependable Component</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Dependable Component</em>'.
+	 * @generated
+	 */
+	DependableComponent createDependableComponent();
+
+	/**
+	 * Returns the package supported by this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the package supported by this factory.
+	 * @generated
+	 */
+	DependableComponentPackage getDependableComponentPackage();
+
+} //DependableComponentFactory
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/DependableComponent/DependableComponentPackage.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/DependableComponent/DependableComponentPackage.java
new file mode 100644
index 000000000..6fbf34ce9
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/DependableComponent/DependableComponentPackage.java
@@ -0,0 +1,506 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.DependableComponent;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ *   <li>each class,</li>
+ *   <li>each feature of each class,</li>
+ *   <li>each enum,</li>
+ *   <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.DependableComponentFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface DependableComponentPackage extends EPackage {
+	/**
+	 * The package name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNAME = "DependableComponent";
+
+	/**
+	 * The package namespace URI.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_URI = "http://CHESS/Dependability/DependableComponent";
+
+	/**
+	 * The package namespace name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_PREFIX = "DependableComponent";
+
+	/**
+	 * The singleton instance of the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	DependableComponentPackage eINSTANCE = org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.impl.DependableComponentPackageImpl.init();
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.impl.PropagationImpl <em>Propagation</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.impl.PropagationImpl
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.impl.DependableComponentPackageImpl#getPropagation()
+	 * @generated
+	 */
+	int PROPAGATION = 0;
+
+	/**
+	 * The feature id for the '<em><b>Prob</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPAGATION__PROB = 0;
+
+	/**
+	 * The feature id for the '<em><b>Prop Delay</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPAGATION__PROP_DELAY = 1;
+
+	/**
+	 * The feature id for the '<em><b>Base Abstraction</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPAGATION__BASE_ABSTRACTION = 2;
+
+	/**
+	 * The feature id for the '<em><b>Base Comment</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPAGATION__BASE_COMMENT = 3;
+
+	/**
+	 * The feature id for the '<em><b>Base Connector</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPAGATION__BASE_CONNECTOR = 4;
+
+	/**
+	 * The feature id for the '<em><b>Base Instance Specification</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPAGATION__BASE_INSTANCE_SPECIFICATION = 5;
+
+	/**
+	 * The feature id for the '<em><b>Transf Funct</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPAGATION__TRANSF_FUNCT = 6;
+
+	/**
+	 * The feature id for the '<em><b>Base Transition</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPAGATION__BASE_TRANSITION = 7;
+
+	/**
+	 * The feature id for the '<em><b>Weight</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPAGATION__WEIGHT = 8;
+
+	/**
+	 * The number of structural features of the '<em>Propagation</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPAGATION_FEATURE_COUNT = 9;
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.impl.DependableComponentImpl <em>Dependable Component</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.impl.DependableComponentImpl
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.impl.DependableComponentPackageImpl#getDependableComponent()
+	 * @generated
+	 */
+	int DEPENDABLE_COMPONENT = 1;
+
+	/**
+	 * The feature id for the '<em><b>Base Component</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DEPENDABLE_COMPONENT__BASE_COMPONENT = 0;
+
+	/**
+	 * The feature id for the '<em><b>Error Model</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DEPENDABLE_COMPONENT__ERROR_MODEL = 1;
+
+	/**
+	 * The feature id for the '<em><b>Base Property</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DEPENDABLE_COMPONENT__BASE_PROPERTY = 2;
+
+	/**
+	 * The number of structural features of the '<em>Dependable Component</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DEPENDABLE_COMPONENT_FEATURE_COUNT = 3;
+
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.Propagation <em>Propagation</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Propagation</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.Propagation
+	 * @generated
+	 */
+	EClass getPropagation();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.Propagation#getProb <em>Prob</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Prob</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.Propagation#getProb()
+	 * @see #getPropagation()
+	 * @generated
+	 */
+	EAttribute getPropagation_Prob();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.Propagation#getPropDelay <em>Prop Delay</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Prop Delay</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.Propagation#getPropDelay()
+	 * @see #getPropagation()
+	 * @generated
+	 */
+	EAttribute getPropagation_PropDelay();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.Propagation#getBase_Abstraction <em>Base Abstraction</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Base Abstraction</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.Propagation#getBase_Abstraction()
+	 * @see #getPropagation()
+	 * @generated
+	 */
+	EReference getPropagation_Base_Abstraction();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.Propagation#getBase_Comment <em>Base Comment</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Base Comment</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.Propagation#getBase_Comment()
+	 * @see #getPropagation()
+	 * @generated
+	 */
+	EReference getPropagation_Base_Comment();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.Propagation#getBase_Connector <em>Base Connector</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Base Connector</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.Propagation#getBase_Connector()
+	 * @see #getPropagation()
+	 * @generated
+	 */
+	EReference getPropagation_Base_Connector();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.Propagation#getBase_InstanceSpecification <em>Base Instance Specification</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Base Instance Specification</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.Propagation#getBase_InstanceSpecification()
+	 * @see #getPropagation()
+	 * @generated
+	 */
+	EReference getPropagation_Base_InstanceSpecification();
+
+	/**
+	 * Returns the meta object for the attribute list '{@link org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.Propagation#getTransfFunct <em>Transf Funct</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute list '<em>Transf Funct</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.Propagation#getTransfFunct()
+	 * @see #getPropagation()
+	 * @generated
+	 */
+	EAttribute getPropagation_TransfFunct();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.Propagation#getBase_Transition <em>Base Transition</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Base Transition</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.Propagation#getBase_Transition()
+	 * @see #getPropagation()
+	 * @generated
+	 */
+	EReference getPropagation_Base_Transition();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.Propagation#getWeight <em>Weight</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Weight</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.Propagation#getWeight()
+	 * @see #getPropagation()
+	 * @generated
+	 */
+	EAttribute getPropagation_Weight();
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.DependableComponent <em>Dependable Component</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Dependable Component</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.DependableComponent
+	 * @generated
+	 */
+	EClass getDependableComponent();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.DependableComponent#getBase_Component <em>Base Component</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Base Component</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.DependableComponent#getBase_Component()
+	 * @see #getDependableComponent()
+	 * @generated
+	 */
+	EReference getDependableComponent_Base_Component();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.DependableComponent#getErrorModel <em>Error Model</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Error Model</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.DependableComponent#getErrorModel()
+	 * @see #getDependableComponent()
+	 * @generated
+	 */
+	EReference getDependableComponent_ErrorModel();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.DependableComponent#getBase_Property <em>Base Property</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Base Property</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.DependableComponent#getBase_Property()
+	 * @see #getDependableComponent()
+	 * @generated
+	 */
+	EReference getDependableComponent_Base_Property();
+
+	/**
+	 * Returns the factory that creates the instances of the model.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the factory that creates the instances of the model.
+	 * @generated
+	 */
+	DependableComponentFactory getDependableComponentFactory();
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * Defines literals for the meta objects that represent
+	 * <ul>
+	 *   <li>each class,</li>
+	 *   <li>each feature of each class,</li>
+	 *   <li>each enum,</li>
+	 *   <li>and each data type</li>
+	 * </ul>
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	interface Literals {
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.impl.PropagationImpl <em>Propagation</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.impl.PropagationImpl
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.impl.DependableComponentPackageImpl#getPropagation()
+		 * @generated
+		 */
+		EClass PROPAGATION = eINSTANCE.getPropagation();
+
+		/**
+		 * The meta object literal for the '<em><b>Prob</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute PROPAGATION__PROB = eINSTANCE.getPropagation_Prob();
+
+		/**
+		 * The meta object literal for the '<em><b>Prop Delay</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute PROPAGATION__PROP_DELAY = eINSTANCE.getPropagation_PropDelay();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Abstraction</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference PROPAGATION__BASE_ABSTRACTION = eINSTANCE.getPropagation_Base_Abstraction();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Comment</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference PROPAGATION__BASE_COMMENT = eINSTANCE.getPropagation_Base_Comment();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Connector</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference PROPAGATION__BASE_CONNECTOR = eINSTANCE.getPropagation_Base_Connector();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Instance Specification</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference PROPAGATION__BASE_INSTANCE_SPECIFICATION = eINSTANCE.getPropagation_Base_InstanceSpecification();
+
+		/**
+		 * The meta object literal for the '<em><b>Transf Funct</b></em>' attribute list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute PROPAGATION__TRANSF_FUNCT = eINSTANCE.getPropagation_TransfFunct();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Transition</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference PROPAGATION__BASE_TRANSITION = eINSTANCE.getPropagation_Base_Transition();
+
+		/**
+		 * The meta object literal for the '<em><b>Weight</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute PROPAGATION__WEIGHT = eINSTANCE.getPropagation_Weight();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.impl.DependableComponentImpl <em>Dependable Component</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.impl.DependableComponentImpl
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.impl.DependableComponentPackageImpl#getDependableComponent()
+		 * @generated
+		 */
+		EClass DEPENDABLE_COMPONENT = eINSTANCE.getDependableComponent();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Component</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference DEPENDABLE_COMPONENT__BASE_COMPONENT = eINSTANCE.getDependableComponent_Base_Component();
+
+		/**
+		 * The meta object literal for the '<em><b>Error Model</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference DEPENDABLE_COMPONENT__ERROR_MODEL = eINSTANCE.getDependableComponent_ErrorModel();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Property</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference DEPENDABLE_COMPONENT__BASE_PROPERTY = eINSTANCE.getDependableComponent_Base_Property();
+
+	}
+
+} //DependableComponentPackage
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/DependableComponent/Propagation.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/DependableComponent/Propagation.java
new file mode 100644
index 000000000..d44dff0c3
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/DependableComponent/Propagation.java
@@ -0,0 +1,273 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.DependableComponent;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.uml2.uml.Abstraction;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.InstanceSpecification;
+import org.eclipse.uml2.uml.Transition;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Propagation</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.Propagation#getProb <em>Prob</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.Propagation#getPropDelay <em>Prop Delay</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.Propagation#getBase_Abstraction <em>Base Abstraction</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.Propagation#getBase_Comment <em>Base Comment</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.Propagation#getBase_Connector <em>Base Connector</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.Propagation#getBase_InstanceSpecification <em>Base Instance Specification</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.Propagation#getTransfFunct <em>Transf Funct</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.Propagation#getBase_Transition <em>Base Transition</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.Propagation#getWeight <em>Weight</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.DependableComponentPackage#getPropagation()
+ * @model
+ * @generated
+ */
+public interface Propagation extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Prob</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Prob</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Prob</em>' attribute.
+	 * @see #setProb(String)
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.DependableComponentPackage#getPropagation_Prob()
+	 * @model dataType="org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.NFP_Real" required="true" ordered="false"
+	 * @generated
+	 */
+	String getProb();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.Propagation#getProb <em>Prob</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Prob</em>' attribute.
+	 * @see #getProb()
+	 * @generated
+	 */
+	void setProb(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Prop Delay</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Prop Delay</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Prop Delay</em>' attribute.
+	 * @see #setPropDelay(String)
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.DependableComponentPackage#getPropagation_PropDelay()
+	 * @model dataType="org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.NFP_Duration" required="true" ordered="false"
+	 * @generated
+	 */
+	String getPropDelay();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.Propagation#getPropDelay <em>Prop Delay</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Prop Delay</em>' attribute.
+	 * @see #getPropDelay()
+	 * @generated
+	 */
+	void setPropDelay(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Base Abstraction</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Abstraction</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Base Abstraction</em>' reference.
+	 * @see #setBase_Abstraction(Abstraction)
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.DependableComponentPackage#getPropagation_Base_Abstraction()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	Abstraction getBase_Abstraction();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.Propagation#getBase_Abstraction <em>Base Abstraction</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Base Abstraction</em>' reference.
+	 * @see #getBase_Abstraction()
+	 * @generated
+	 */
+	void setBase_Abstraction(Abstraction value);
+
+	/**
+	 * Returns the value of the '<em><b>Base Comment</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Comment</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Base Comment</em>' reference.
+	 * @see #setBase_Comment(Comment)
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.DependableComponentPackage#getPropagation_Base_Comment()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	Comment getBase_Comment();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.Propagation#getBase_Comment <em>Base Comment</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Base Comment</em>' reference.
+	 * @see #getBase_Comment()
+	 * @generated
+	 */
+	void setBase_Comment(Comment value);
+
+	/**
+	 * Returns the value of the '<em><b>Base Connector</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Connector</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Base Connector</em>' reference.
+	 * @see #setBase_Connector(Connector)
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.DependableComponentPackage#getPropagation_Base_Connector()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	Connector getBase_Connector();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.Propagation#getBase_Connector <em>Base Connector</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Base Connector</em>' reference.
+	 * @see #getBase_Connector()
+	 * @generated
+	 */
+	void setBase_Connector(Connector value);
+
+	/**
+	 * Returns the value of the '<em><b>Base Instance Specification</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Instance Specification</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Base Instance Specification</em>' reference.
+	 * @see #setBase_InstanceSpecification(InstanceSpecification)
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.DependableComponentPackage#getPropagation_Base_InstanceSpecification()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	InstanceSpecification getBase_InstanceSpecification();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.Propagation#getBase_InstanceSpecification <em>Base Instance Specification</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Base Instance Specification</em>' reference.
+	 * @see #getBase_InstanceSpecification()
+	 * @generated
+	 */
+	void setBase_InstanceSpecification(InstanceSpecification value);
+
+	/**
+	 * Returns the value of the '<em><b>Transf Funct</b></em>' attribute list.
+	 * The list contents are of type {@link java.lang.String}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Transf Funct</em>' attribute list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Transf Funct</em>' attribute list.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.DependableComponentPackage#getPropagation_TransfFunct()
+	 * @model dataType="org.eclipse.uml2.types.String" ordered="false"
+	 * @generated
+	 */
+	EList<String> getTransfFunct();
+
+	/**
+	 * Returns the value of the '<em><b>Base Transition</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Transition</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Base Transition</em>' reference.
+	 * @see #setBase_Transition(Transition)
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.DependableComponentPackage#getPropagation_Base_Transition()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	Transition getBase_Transition();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.Propagation#getBase_Transition <em>Base Transition</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Base Transition</em>' reference.
+	 * @see #getBase_Transition()
+	 * @generated
+	 */
+	void setBase_Transition(Transition value);
+
+	/**
+	 * Returns the value of the '<em><b>Weight</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Weight</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Weight</em>' attribute.
+	 * @see #setWeight(String)
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.DependableComponentPackage#getPropagation_Weight()
+	 * @model dataType="org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.NFP_Real" ordered="false"
+	 * @generated
+	 */
+	String getWeight();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.Propagation#getWeight <em>Weight</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Weight</em>' attribute.
+	 * @see #getWeight()
+	 * @generated
+	 */
+	void setWeight(String value);
+
+} // Propagation
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/DependableComponent/impl/DependableComponentFactoryImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/DependableComponent/impl/DependableComponentFactoryImpl.java
new file mode 100644
index 000000000..ef97f6680
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/DependableComponent/impl/DependableComponentFactoryImpl.java
@@ -0,0 +1,112 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class DependableComponentFactoryImpl extends EFactoryImpl implements DependableComponentFactory {
+	/**
+	 * Creates the default factory implementation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static DependableComponentFactory init() {
+		try {
+			DependableComponentFactory theDependableComponentFactory = (DependableComponentFactory)EPackage.Registry.INSTANCE.getEFactory(DependableComponentPackage.eNS_URI);
+			if (theDependableComponentFactory != null) {
+				return theDependableComponentFactory;
+			}
+		}
+		catch (Exception exception) {
+			EcorePlugin.INSTANCE.log(exception);
+		}
+		return new DependableComponentFactoryImpl();
+	}
+
+	/**
+	 * Creates an instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public DependableComponentFactoryImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EObject create(EClass eClass) {
+		switch (eClass.getClassifierID()) {
+			case DependableComponentPackage.PROPAGATION: return createPropagation();
+			case DependableComponentPackage.DEPENDABLE_COMPONENT: return createDependableComponent();
+			default:
+				throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Propagation createPropagation() {
+		PropagationImpl propagation = new PropagationImpl();
+		return propagation;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public DependableComponent createDependableComponent() {
+		DependableComponentImpl dependableComponent = new DependableComponentImpl();
+		return dependableComponent;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public DependableComponentPackage getDependableComponentPackage() {
+		return (DependableComponentPackage)getEPackage();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @deprecated
+	 * @generated
+	 */
+	@Deprecated
+	public static DependableComponentPackage getPackage() {
+		return DependableComponentPackage.eINSTANCE;
+	}
+
+} //DependableComponentFactoryImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/DependableComponent/impl/DependableComponentImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/DependableComponent/impl/DependableComponentImpl.java
new file mode 100644
index 000000000..e08cfc300
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/DependableComponent/impl/DependableComponentImpl.java
@@ -0,0 +1,285 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.Property;
+import org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.DependableComponent;
+import org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.DependableComponentPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ErrorModel;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Dependable Component</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.impl.DependableComponentImpl#getBase_Component <em>Base Component</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.impl.DependableComponentImpl#getErrorModel <em>Error Model</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.impl.DependableComponentImpl#getBase_Property <em>Base Property</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class DependableComponentImpl extends EObjectImpl implements DependableComponent {
+	/**
+	 * The cached value of the '{@link #getBase_Component() <em>Base Component</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBase_Component()
+	 * @generated
+	 * @ordered
+	 */
+	protected Component base_Component;
+
+	/**
+	 * The cached value of the '{@link #getErrorModel() <em>Error Model</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getErrorModel()
+	 * @generated
+	 * @ordered
+	 */
+	protected ErrorModel errorModel;
+
+	/**
+	 * The cached value of the '{@link #getBase_Property() <em>Base Property</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBase_Property()
+	 * @generated
+	 * @ordered
+	 */
+	protected Property base_Property;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected DependableComponentImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return DependableComponentPackage.Literals.DEPENDABLE_COMPONENT;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Component getBase_Component() {
+		if (base_Component != null && base_Component.eIsProxy()) {
+			InternalEObject oldBase_Component = (InternalEObject)base_Component;
+			base_Component = (Component)eResolveProxy(oldBase_Component);
+			if (base_Component != oldBase_Component) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, DependableComponentPackage.DEPENDABLE_COMPONENT__BASE_COMPONENT, oldBase_Component, base_Component));
+			}
+		}
+		return base_Component;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Component basicGetBase_Component() {
+		return base_Component;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setBase_Component(Component newBase_Component) {
+		Component oldBase_Component = base_Component;
+		base_Component = newBase_Component;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, DependableComponentPackage.DEPENDABLE_COMPONENT__BASE_COMPONENT, oldBase_Component, base_Component));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ErrorModel getErrorModel() {
+		if (errorModel != null && errorModel.eIsProxy()) {
+			InternalEObject oldErrorModel = (InternalEObject)errorModel;
+			errorModel = (ErrorModel)eResolveProxy(oldErrorModel);
+			if (errorModel != oldErrorModel) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, DependableComponentPackage.DEPENDABLE_COMPONENT__ERROR_MODEL, oldErrorModel, errorModel));
+			}
+		}
+		return errorModel;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ErrorModel basicGetErrorModel() {
+		return errorModel;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setErrorModel(ErrorModel newErrorModel) {
+		ErrorModel oldErrorModel = errorModel;
+		errorModel = newErrorModel;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, DependableComponentPackage.DEPENDABLE_COMPONENT__ERROR_MODEL, oldErrorModel, errorModel));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Property getBase_Property() {
+		if (base_Property != null && base_Property.eIsProxy()) {
+			InternalEObject oldBase_Property = (InternalEObject)base_Property;
+			base_Property = (Property)eResolveProxy(oldBase_Property);
+			if (base_Property != oldBase_Property) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, DependableComponentPackage.DEPENDABLE_COMPONENT__BASE_PROPERTY, oldBase_Property, base_Property));
+			}
+		}
+		return base_Property;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Property basicGetBase_Property() {
+		return base_Property;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setBase_Property(Property newBase_Property) {
+		Property oldBase_Property = base_Property;
+		base_Property = newBase_Property;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, DependableComponentPackage.DEPENDABLE_COMPONENT__BASE_PROPERTY, oldBase_Property, base_Property));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case DependableComponentPackage.DEPENDABLE_COMPONENT__BASE_COMPONENT:
+				if (resolve) return getBase_Component();
+				return basicGetBase_Component();
+			case DependableComponentPackage.DEPENDABLE_COMPONENT__ERROR_MODEL:
+				if (resolve) return getErrorModel();
+				return basicGetErrorModel();
+			case DependableComponentPackage.DEPENDABLE_COMPONENT__BASE_PROPERTY:
+				if (resolve) return getBase_Property();
+				return basicGetBase_Property();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case DependableComponentPackage.DEPENDABLE_COMPONENT__BASE_COMPONENT:
+				setBase_Component((Component)newValue);
+				return;
+			case DependableComponentPackage.DEPENDABLE_COMPONENT__ERROR_MODEL:
+				setErrorModel((ErrorModel)newValue);
+				return;
+			case DependableComponentPackage.DEPENDABLE_COMPONENT__BASE_PROPERTY:
+				setBase_Property((Property)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case DependableComponentPackage.DEPENDABLE_COMPONENT__BASE_COMPONENT:
+				setBase_Component((Component)null);
+				return;
+			case DependableComponentPackage.DEPENDABLE_COMPONENT__ERROR_MODEL:
+				setErrorModel((ErrorModel)null);
+				return;
+			case DependableComponentPackage.DEPENDABLE_COMPONENT__BASE_PROPERTY:
+				setBase_Property((Property)null);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case DependableComponentPackage.DEPENDABLE_COMPONENT__BASE_COMPONENT:
+				return base_Component != null;
+			case DependableComponentPackage.DEPENDABLE_COMPONENT__ERROR_MODEL:
+				return errorModel != null;
+			case DependableComponentPackage.DEPENDABLE_COMPONENT__BASE_PROPERTY:
+				return base_Property != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //DependableComponentImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/DependableComponent/impl/DependableComponentPackageImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/DependableComponent/impl/DependableComponentPackageImpl.java
new file mode 100644
index 000000000..81fe90877
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/DependableComponent/impl/DependableComponentPackageImpl.java
@@ -0,0 +1,465 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+import org.eclipse.papyrus.MARTE.MARTEPackage;
+import org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.BasicNFP_TypesPackage;
+import org.eclipse.papyrus.MARTE_Library.GRM_BasicTypes.GRM_BasicTypesPackage;
+import org.eclipse.papyrus.MARTE_Library.MARTE_DataTypes.MARTE_DataTypesPackage;
+import org.eclipse.papyrus.MARTE_Library.MARTE_PrimitivesTypes.MARTE_PrimitivesTypesPackage;
+import org.eclipse.papyrus.MARTE_Library.MeasurementUnits.MeasurementUnitsPackage;
+import org.eclipse.papyrus.MARTE_Library.RS_Library.RS_LibraryPackage;
+import org.eclipse.papyrus.MARTE_Library.TimeLibrary.TimeLibraryPackage;
+import org.eclipse.papyrus.MARTE_Library.TimeTypesLibrary.TimeTypesLibraryPackage;
+import org.eclipse.uml2.types.TypesPackage;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.polarsys.chess.chessmlprofile.chessmlprofilePackage;
+import org.polarsys.chess.chessmlprofile.ComponentModel.ComponentModelPackage;
+import org.polarsys.chess.chessmlprofile.ComponentModel.impl.ComponentModelPackageImpl;
+import org.polarsys.chess.chessmlprofile.Core.CorePackage;
+import org.polarsys.chess.chessmlprofile.Core.CHESSViews.CHESSViewsPackage;
+import org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl.CHESSViewsPackageImpl;
+import org.polarsys.chess.chessmlprofile.Core.impl.CorePackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.DataFlowCallGraph.DataFlowCallGraphPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.DataFlowCallGraph.impl.DataFlowCallGraphPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.DependableComponent;
+import org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.DependableComponentFactory;
+import org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.DependableComponentPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.Propagation;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEAPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEADataTypes.FMEADataTypesPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEADataTypes.impl.FMEADataTypesPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.impl.FMEAPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.FailurePropagationDataTypesPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.impl.FailurePropagationDataTypesPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl.FailurePropagationPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans.MitigationMeansPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans.impl.MitigationMeansPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.FaultTolerancePackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.impl.FaultTolerancePackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.MaintenanceMonitoringPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.impl.MaintenanceMonitoringPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.StateBasedAnalysisPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.impl.StateBasedAnalysisPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StateBasedComponentsPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.impl.StateBasedComponentsPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.StateBasedDataTypesPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.impl.StateBasedDataTypesPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatsPropagationPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.ThreatsPropagationPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.DeploymentConfAnalysisPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.impl.DeploymentConfAnalysisPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HardwareBaselinePackage;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.HardwareBaselinePackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTComponentModelPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.RTDataTypesPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.impl.RTDataTypesPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.impl.RTComponentModelPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingAnalysisPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.TimingConstraintsPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.impl.TimingConstraintsPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.impl.TimingAnalysisPackageImpl;
+import org.polarsys.chess.chessmlprofile.impl.chessmlprofilePackageImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class DependableComponentPackageImpl extends EPackageImpl implements DependableComponentPackage {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass propagationEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass dependableComponentEClass = null;
+
+	/**
+	 * Creates an instance of the model <b>Package</b>, registered with
+	 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+	 * package URI value.
+	 * <p>Note: the correct way to create the package is via the static
+	 * factory method {@link #init init()}, which also performs
+	 * initialization of the package, or returns the registered package,
+	 * if one already exists.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.emf.ecore.EPackage.Registry
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.DependableComponentPackage#eNS_URI
+	 * @see #init()
+	 * @generated
+	 */
+	private DependableComponentPackageImpl() {
+		super(eNS_URI, DependableComponentFactory.eINSTANCE);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static boolean isInited = false;
+
+	/**
+	 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+	 * 
+	 * <p>This method is used to initialize {@link DependableComponentPackage#eINSTANCE} when that field is accessed.
+	 * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #eNS_URI
+	 * @see #createPackageContents()
+	 * @see #initializePackageContents()
+	 * @generated
+	 */
+	public static DependableComponentPackage init() {
+		if (isInited) return (DependableComponentPackage)EPackage.Registry.INSTANCE.getEPackage(DependableComponentPackage.eNS_URI);
+
+		// Obtain or create and register package
+		DependableComponentPackageImpl theDependableComponentPackage = (DependableComponentPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof DependableComponentPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new DependableComponentPackageImpl());
+
+		isInited = true;
+
+		// Initialize simple dependencies
+		MARTEPackage.eINSTANCE.eClass();
+		MeasurementUnitsPackage.eINSTANCE.eClass();
+		GRM_BasicTypesPackage.eINSTANCE.eClass();
+		MARTE_DataTypesPackage.eINSTANCE.eClass();
+		BasicNFP_TypesPackage.eINSTANCE.eClass();
+		TimeTypesLibraryPackage.eINSTANCE.eClass();
+		TimeLibraryPackage.eINSTANCE.eClass();
+		RS_LibraryPackage.eINSTANCE.eClass();
+		MARTE_PrimitivesTypesPackage.eINSTANCE.eClass();
+		BasicNFP_TypesPackage.eINSTANCE.eClass();
+
+		// Obtain or create and register interdependencies
+		chessmlprofilePackageImpl thechessmlprofilePackage = (chessmlprofilePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(chessmlprofilePackage.eNS_URI) instanceof chessmlprofilePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(chessmlprofilePackage.eNS_URI) : chessmlprofilePackage.eINSTANCE);
+		CorePackageImpl theCorePackage = (CorePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(CorePackage.eNS_URI) instanceof CorePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(CorePackage.eNS_URI) : CorePackage.eINSTANCE);
+		CHESSViewsPackageImpl theCHESSViewsPackage = (CHESSViewsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(CHESSViewsPackage.eNS_URI) instanceof CHESSViewsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(CHESSViewsPackage.eNS_URI) : CHESSViewsPackage.eINSTANCE);
+		FailurePropagationPackageImpl theFailurePropagationPackage = (FailurePropagationPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FailurePropagationPackage.eNS_URI) instanceof FailurePropagationPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FailurePropagationPackage.eNS_URI) : FailurePropagationPackage.eINSTANCE);
+		FailurePropagationDataTypesPackageImpl theFailurePropagationDataTypesPackage = (FailurePropagationDataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FailurePropagationDataTypesPackage.eNS_URI) instanceof FailurePropagationDataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FailurePropagationDataTypesPackage.eNS_URI) : FailurePropagationDataTypesPackage.eINSTANCE);
+		ThreatsPropagationPackageImpl theThreatsPropagationPackage = (ThreatsPropagationPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ThreatsPropagationPackage.eNS_URI) instanceof ThreatsPropagationPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ThreatsPropagationPackage.eNS_URI) : ThreatsPropagationPackage.eINSTANCE);
+		DataFlowCallGraphPackageImpl theDataFlowCallGraphPackage = (DataFlowCallGraphPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DataFlowCallGraphPackage.eNS_URI) instanceof DataFlowCallGraphPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DataFlowCallGraphPackage.eNS_URI) : DataFlowCallGraphPackage.eINSTANCE);
+		StateBasedDataTypesPackageImpl theStateBasedDataTypesPackage = (StateBasedDataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(StateBasedDataTypesPackage.eNS_URI) instanceof StateBasedDataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(StateBasedDataTypesPackage.eNS_URI) : StateBasedDataTypesPackage.eINSTANCE);
+		StateBasedComponentsPackageImpl theStateBasedComponentsPackage = (StateBasedComponentsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(StateBasedComponentsPackage.eNS_URI) instanceof StateBasedComponentsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(StateBasedComponentsPackage.eNS_URI) : StateBasedComponentsPackage.eINSTANCE);
+		FaultTolerancePackageImpl theFaultTolerancePackage = (FaultTolerancePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FaultTolerancePackage.eNS_URI) instanceof FaultTolerancePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FaultTolerancePackage.eNS_URI) : FaultTolerancePackage.eINSTANCE);
+		MaintenanceMonitoringPackageImpl theMaintenanceMonitoringPackage = (MaintenanceMonitoringPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(MaintenanceMonitoringPackage.eNS_URI) instanceof MaintenanceMonitoringPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(MaintenanceMonitoringPackage.eNS_URI) : MaintenanceMonitoringPackage.eINSTANCE);
+		StateBasedAnalysisPackageImpl theStateBasedAnalysisPackage = (StateBasedAnalysisPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(StateBasedAnalysisPackage.eNS_URI) instanceof StateBasedAnalysisPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(StateBasedAnalysisPackage.eNS_URI) : StateBasedAnalysisPackage.eINSTANCE);
+		FMEAPackageImpl theFMEAPackage = (FMEAPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FMEAPackage.eNS_URI) instanceof FMEAPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FMEAPackage.eNS_URI) : FMEAPackage.eINSTANCE);
+		FMEADataTypesPackageImpl theFMEADataTypesPackage = (FMEADataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FMEADataTypesPackage.eNS_URI) instanceof FMEADataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FMEADataTypesPackage.eNS_URI) : FMEADataTypesPackage.eINSTANCE);
+		MitigationMeansPackageImpl theMitigationMeansPackage = (MitigationMeansPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(MitigationMeansPackage.eNS_URI) instanceof MitigationMeansPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(MitigationMeansPackage.eNS_URI) : MitigationMeansPackage.eINSTANCE);
+		TimingAnalysisPackageImpl theTimingAnalysisPackage = (TimingAnalysisPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimingAnalysisPackage.eNS_URI) instanceof TimingAnalysisPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimingAnalysisPackage.eNS_URI) : TimingAnalysisPackage.eINSTANCE);
+		TimingConstraintsPackageImpl theTimingConstraintsPackage = (TimingConstraintsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimingConstraintsPackage.eNS_URI) instanceof TimingConstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimingConstraintsPackage.eNS_URI) : TimingConstraintsPackage.eINSTANCE);
+		HardwareBaselinePackageImpl theHardwareBaselinePackage = (HardwareBaselinePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HardwareBaselinePackage.eNS_URI) instanceof HardwareBaselinePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HardwareBaselinePackage.eNS_URI) : HardwareBaselinePackage.eINSTANCE);
+		DeploymentConfAnalysisPackageImpl theDeploymentConfAnalysisPackage = (DeploymentConfAnalysisPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DeploymentConfAnalysisPackage.eNS_URI) instanceof DeploymentConfAnalysisPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DeploymentConfAnalysisPackage.eNS_URI) : DeploymentConfAnalysisPackage.eINSTANCE);
+		RTComponentModelPackageImpl theRTComponentModelPackage = (RTComponentModelPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RTComponentModelPackage.eNS_URI) instanceof RTComponentModelPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RTComponentModelPackage.eNS_URI) : RTComponentModelPackage.eINSTANCE);
+		RTDataTypesPackageImpl theRTDataTypesPackage = (RTDataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RTDataTypesPackage.eNS_URI) instanceof RTDataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RTDataTypesPackage.eNS_URI) : RTDataTypesPackage.eINSTANCE);
+		ComponentModelPackageImpl theComponentModelPackage = (ComponentModelPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ComponentModelPackage.eNS_URI) instanceof ComponentModelPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ComponentModelPackage.eNS_URI) : ComponentModelPackage.eINSTANCE);
+
+		// Create package meta-data objects
+		theDependableComponentPackage.createPackageContents();
+		thechessmlprofilePackage.createPackageContents();
+		theCorePackage.createPackageContents();
+		theCHESSViewsPackage.createPackageContents();
+		theFailurePropagationPackage.createPackageContents();
+		theFailurePropagationDataTypesPackage.createPackageContents();
+		theThreatsPropagationPackage.createPackageContents();
+		theDataFlowCallGraphPackage.createPackageContents();
+		theStateBasedDataTypesPackage.createPackageContents();
+		theStateBasedComponentsPackage.createPackageContents();
+		theFaultTolerancePackage.createPackageContents();
+		theMaintenanceMonitoringPackage.createPackageContents();
+		theStateBasedAnalysisPackage.createPackageContents();
+		theFMEAPackage.createPackageContents();
+		theFMEADataTypesPackage.createPackageContents();
+		theMitigationMeansPackage.createPackageContents();
+		theTimingAnalysisPackage.createPackageContents();
+		theTimingConstraintsPackage.createPackageContents();
+		theHardwareBaselinePackage.createPackageContents();
+		theDeploymentConfAnalysisPackage.createPackageContents();
+		theRTComponentModelPackage.createPackageContents();
+		theRTDataTypesPackage.createPackageContents();
+		theComponentModelPackage.createPackageContents();
+
+		// Initialize created meta-data
+		theDependableComponentPackage.initializePackageContents();
+		thechessmlprofilePackage.initializePackageContents();
+		theCorePackage.initializePackageContents();
+		theCHESSViewsPackage.initializePackageContents();
+		theFailurePropagationPackage.initializePackageContents();
+		theFailurePropagationDataTypesPackage.initializePackageContents();
+		theThreatsPropagationPackage.initializePackageContents();
+		theDataFlowCallGraphPackage.initializePackageContents();
+		theStateBasedDataTypesPackage.initializePackageContents();
+		theStateBasedComponentsPackage.initializePackageContents();
+		theFaultTolerancePackage.initializePackageContents();
+		theMaintenanceMonitoringPackage.initializePackageContents();
+		theStateBasedAnalysisPackage.initializePackageContents();
+		theFMEAPackage.initializePackageContents();
+		theFMEADataTypesPackage.initializePackageContents();
+		theMitigationMeansPackage.initializePackageContents();
+		theTimingAnalysisPackage.initializePackageContents();
+		theTimingConstraintsPackage.initializePackageContents();
+		theHardwareBaselinePackage.initializePackageContents();
+		theDeploymentConfAnalysisPackage.initializePackageContents();
+		theRTComponentModelPackage.initializePackageContents();
+		theRTDataTypesPackage.initializePackageContents();
+		theComponentModelPackage.initializePackageContents();
+
+		// Mark meta-data to indicate it can't be changed
+		theDependableComponentPackage.freeze();
+
+  
+		// Update the registry and return the package
+		EPackage.Registry.INSTANCE.put(DependableComponentPackage.eNS_URI, theDependableComponentPackage);
+		return theDependableComponentPackage;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getPropagation() {
+		return propagationEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getPropagation_Prob() {
+		return (EAttribute)propagationEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getPropagation_PropDelay() {
+		return (EAttribute)propagationEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getPropagation_Base_Abstraction() {
+		return (EReference)propagationEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getPropagation_Base_Comment() {
+		return (EReference)propagationEClass.getEStructuralFeatures().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getPropagation_Base_Connector() {
+		return (EReference)propagationEClass.getEStructuralFeatures().get(4);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getPropagation_Base_InstanceSpecification() {
+		return (EReference)propagationEClass.getEStructuralFeatures().get(5);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getPropagation_TransfFunct() {
+		return (EAttribute)propagationEClass.getEStructuralFeatures().get(6);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getPropagation_Base_Transition() {
+		return (EReference)propagationEClass.getEStructuralFeatures().get(7);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getPropagation_Weight() {
+		return (EAttribute)propagationEClass.getEStructuralFeatures().get(8);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getDependableComponent() {
+		return dependableComponentEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getDependableComponent_Base_Component() {
+		return (EReference)dependableComponentEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getDependableComponent_ErrorModel() {
+		return (EReference)dependableComponentEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getDependableComponent_Base_Property() {
+		return (EReference)dependableComponentEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public DependableComponentFactory getDependableComponentFactory() {
+		return (DependableComponentFactory)getEFactoryInstance();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isCreated = false;
+
+	/**
+	 * Creates the meta-model objects for the package.  This method is
+	 * guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void createPackageContents() {
+		if (isCreated) return;
+		isCreated = true;
+
+		// Create classes and their features
+		propagationEClass = createEClass(PROPAGATION);
+		createEAttribute(propagationEClass, PROPAGATION__PROB);
+		createEAttribute(propagationEClass, PROPAGATION__PROP_DELAY);
+		createEReference(propagationEClass, PROPAGATION__BASE_ABSTRACTION);
+		createEReference(propagationEClass, PROPAGATION__BASE_COMMENT);
+		createEReference(propagationEClass, PROPAGATION__BASE_CONNECTOR);
+		createEReference(propagationEClass, PROPAGATION__BASE_INSTANCE_SPECIFICATION);
+		createEAttribute(propagationEClass, PROPAGATION__TRANSF_FUNCT);
+		createEReference(propagationEClass, PROPAGATION__BASE_TRANSITION);
+		createEAttribute(propagationEClass, PROPAGATION__WEIGHT);
+
+		dependableComponentEClass = createEClass(DEPENDABLE_COMPONENT);
+		createEReference(dependableComponentEClass, DEPENDABLE_COMPONENT__BASE_COMPONENT);
+		createEReference(dependableComponentEClass, DEPENDABLE_COMPONENT__ERROR_MODEL);
+		createEReference(dependableComponentEClass, DEPENDABLE_COMPONENT__BASE_PROPERTY);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isInitialized = false;
+
+	/**
+	 * Complete the initialization of the package and its meta-model.  This
+	 * method is guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void initializePackageContents() {
+		if (isInitialized) return;
+		isInitialized = true;
+
+		// Initialize package
+		setName(eNAME);
+		setNsPrefix(eNS_PREFIX);
+		setNsURI(eNS_URI);
+
+		// Obtain other dependent packages
+		BasicNFP_TypesPackage theBasicNFP_TypesPackage = (BasicNFP_TypesPackage)EPackage.Registry.INSTANCE.getEPackage(BasicNFP_TypesPackage.eNS_URI);
+		UMLPackage theUMLPackage = (UMLPackage)EPackage.Registry.INSTANCE.getEPackage(UMLPackage.eNS_URI);
+		TypesPackage theTypesPackage = (TypesPackage)EPackage.Registry.INSTANCE.getEPackage(TypesPackage.eNS_URI);
+		ThreatsPropagationPackage theThreatsPropagationPackage = (ThreatsPropagationPackage)EPackage.Registry.INSTANCE.getEPackage(ThreatsPropagationPackage.eNS_URI);
+
+		// Create type parameters
+
+		// Set bounds for type parameters
+
+		// Add supertypes to classes
+
+		// Initialize classes and features; add operations and parameters
+		initEClass(propagationEClass, Propagation.class, "Propagation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getPropagation_Prob(), theBasicNFP_TypesPackage.getNFP_Real(), "prob", null, 1, 1, Propagation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getPropagation_PropDelay(), theBasicNFP_TypesPackage.getNFP_Duration(), "propDelay", null, 1, 1, Propagation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEReference(getPropagation_Base_Abstraction(), theUMLPackage.getAbstraction(), null, "base_Abstraction", null, 1, 1, Propagation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEReference(getPropagation_Base_Comment(), theUMLPackage.getComment(), null, "base_Comment", null, 1, 1, Propagation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEReference(getPropagation_Base_Connector(), theUMLPackage.getConnector(), null, "base_Connector", null, 1, 1, Propagation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEReference(getPropagation_Base_InstanceSpecification(), theUMLPackage.getInstanceSpecification(), null, "base_InstanceSpecification", null, 1, 1, Propagation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getPropagation_TransfFunct(), theTypesPackage.getString(), "transfFunct", null, 0, -1, Propagation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEReference(getPropagation_Base_Transition(), theUMLPackage.getTransition(), null, "base_Transition", null, 1, 1, Propagation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getPropagation_Weight(), theBasicNFP_TypesPackage.getNFP_Real(), "weight", null, 0, 1, Propagation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+		initEClass(dependableComponentEClass, DependableComponent.class, "DependableComponent", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getDependableComponent_Base_Component(), theUMLPackage.getComponent(), null, "base_Component", null, 1, 1, DependableComponent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEReference(getDependableComponent_ErrorModel(), theThreatsPropagationPackage.getErrorModel(), null, "errorModel", null, 0, 1, DependableComponent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEReference(getDependableComponent_Base_Property(), theUMLPackage.getProperty(), null, "base_Property", null, 1, 1, DependableComponent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+	}
+
+} //DependableComponentPackageImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/DependableComponent/impl/PropagationImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/DependableComponent/impl/PropagationImpl.java
new file mode 100644
index 000000000..85b2d387c
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/DependableComponent/impl/PropagationImpl.java
@@ -0,0 +1,625 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.emf.ecore.util.EDataTypeUniqueEList;
+import org.eclipse.uml2.uml.Abstraction;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.InstanceSpecification;
+import org.eclipse.uml2.uml.Transition;
+import org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.DependableComponentPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.Propagation;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Propagation</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.impl.PropagationImpl#getProb <em>Prob</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.impl.PropagationImpl#getPropDelay <em>Prop Delay</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.impl.PropagationImpl#getBase_Abstraction <em>Base Abstraction</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.impl.PropagationImpl#getBase_Comment <em>Base Comment</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.impl.PropagationImpl#getBase_Connector <em>Base Connector</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.impl.PropagationImpl#getBase_InstanceSpecification <em>Base Instance Specification</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.impl.PropagationImpl#getTransfFunct <em>Transf Funct</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.impl.PropagationImpl#getBase_Transition <em>Base Transition</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.impl.PropagationImpl#getWeight <em>Weight</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class PropagationImpl extends EObjectImpl implements Propagation {
+	/**
+	 * The default value of the '{@link #getProb() <em>Prob</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getProb()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String PROB_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getProb() <em>Prob</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getProb()
+	 * @generated
+	 * @ordered
+	 */
+	protected String prob = PROB_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getPropDelay() <em>Prop Delay</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getPropDelay()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String PROP_DELAY_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getPropDelay() <em>Prop Delay</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getPropDelay()
+	 * @generated
+	 * @ordered
+	 */
+	protected String propDelay = PROP_DELAY_EDEFAULT;
+
+	/**
+	 * The cached value of the '{@link #getBase_Abstraction() <em>Base Abstraction</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBase_Abstraction()
+	 * @generated
+	 * @ordered
+	 */
+	protected Abstraction base_Abstraction;
+
+	/**
+	 * The cached value of the '{@link #getBase_Comment() <em>Base Comment</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBase_Comment()
+	 * @generated
+	 * @ordered
+	 */
+	protected Comment base_Comment;
+
+	/**
+	 * The cached value of the '{@link #getBase_Connector() <em>Base Connector</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBase_Connector()
+	 * @generated
+	 * @ordered
+	 */
+	protected Connector base_Connector;
+
+	/**
+	 * The cached value of the '{@link #getBase_InstanceSpecification() <em>Base Instance Specification</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBase_InstanceSpecification()
+	 * @generated
+	 * @ordered
+	 */
+	protected InstanceSpecification base_InstanceSpecification;
+
+	/**
+	 * The cached value of the '{@link #getTransfFunct() <em>Transf Funct</em>}' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getTransfFunct()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<String> transfFunct;
+
+	/**
+	 * The cached value of the '{@link #getBase_Transition() <em>Base Transition</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBase_Transition()
+	 * @generated
+	 * @ordered
+	 */
+	protected Transition base_Transition;
+
+	/**
+	 * The default value of the '{@link #getWeight() <em>Weight</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getWeight()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String WEIGHT_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getWeight() <em>Weight</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getWeight()
+	 * @generated
+	 * @ordered
+	 */
+	protected String weight = WEIGHT_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected PropagationImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return DependableComponentPackage.Literals.PROPAGATION;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getProb() {
+		return prob;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setProb(String newProb) {
+		String oldProb = prob;
+		prob = newProb;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, DependableComponentPackage.PROPAGATION__PROB, oldProb, prob));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getPropDelay() {
+		return propDelay;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setPropDelay(String newPropDelay) {
+		String oldPropDelay = propDelay;
+		propDelay = newPropDelay;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, DependableComponentPackage.PROPAGATION__PROP_DELAY, oldPropDelay, propDelay));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Abstraction getBase_Abstraction() {
+		if (base_Abstraction != null && base_Abstraction.eIsProxy()) {
+			InternalEObject oldBase_Abstraction = (InternalEObject)base_Abstraction;
+			base_Abstraction = (Abstraction)eResolveProxy(oldBase_Abstraction);
+			if (base_Abstraction != oldBase_Abstraction) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, DependableComponentPackage.PROPAGATION__BASE_ABSTRACTION, oldBase_Abstraction, base_Abstraction));
+			}
+		}
+		return base_Abstraction;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Abstraction basicGetBase_Abstraction() {
+		return base_Abstraction;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setBase_Abstraction(Abstraction newBase_Abstraction) {
+		Abstraction oldBase_Abstraction = base_Abstraction;
+		base_Abstraction = newBase_Abstraction;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, DependableComponentPackage.PROPAGATION__BASE_ABSTRACTION, oldBase_Abstraction, base_Abstraction));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Comment getBase_Comment() {
+		if (base_Comment != null && base_Comment.eIsProxy()) {
+			InternalEObject oldBase_Comment = (InternalEObject)base_Comment;
+			base_Comment = (Comment)eResolveProxy(oldBase_Comment);
+			if (base_Comment != oldBase_Comment) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, DependableComponentPackage.PROPAGATION__BASE_COMMENT, oldBase_Comment, base_Comment));
+			}
+		}
+		return base_Comment;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Comment basicGetBase_Comment() {
+		return base_Comment;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setBase_Comment(Comment newBase_Comment) {
+		Comment oldBase_Comment = base_Comment;
+		base_Comment = newBase_Comment;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, DependableComponentPackage.PROPAGATION__BASE_COMMENT, oldBase_Comment, base_Comment));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Connector getBase_Connector() {
+		if (base_Connector != null && base_Connector.eIsProxy()) {
+			InternalEObject oldBase_Connector = (InternalEObject)base_Connector;
+			base_Connector = (Connector)eResolveProxy(oldBase_Connector);
+			if (base_Connector != oldBase_Connector) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, DependableComponentPackage.PROPAGATION__BASE_CONNECTOR, oldBase_Connector, base_Connector));
+			}
+		}
+		return base_Connector;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Connector basicGetBase_Connector() {
+		return base_Connector;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setBase_Connector(Connector newBase_Connector) {
+		Connector oldBase_Connector = base_Connector;
+		base_Connector = newBase_Connector;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, DependableComponentPackage.PROPAGATION__BASE_CONNECTOR, oldBase_Connector, base_Connector));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public InstanceSpecification getBase_InstanceSpecification() {
+		if (base_InstanceSpecification != null && base_InstanceSpecification.eIsProxy()) {
+			InternalEObject oldBase_InstanceSpecification = (InternalEObject)base_InstanceSpecification;
+			base_InstanceSpecification = (InstanceSpecification)eResolveProxy(oldBase_InstanceSpecification);
+			if (base_InstanceSpecification != oldBase_InstanceSpecification) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, DependableComponentPackage.PROPAGATION__BASE_INSTANCE_SPECIFICATION, oldBase_InstanceSpecification, base_InstanceSpecification));
+			}
+		}
+		return base_InstanceSpecification;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public InstanceSpecification basicGetBase_InstanceSpecification() {
+		return base_InstanceSpecification;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setBase_InstanceSpecification(InstanceSpecification newBase_InstanceSpecification) {
+		InstanceSpecification oldBase_InstanceSpecification = base_InstanceSpecification;
+		base_InstanceSpecification = newBase_InstanceSpecification;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, DependableComponentPackage.PROPAGATION__BASE_INSTANCE_SPECIFICATION, oldBase_InstanceSpecification, base_InstanceSpecification));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<String> getTransfFunct() {
+		if (transfFunct == null) {
+			transfFunct = new EDataTypeUniqueEList<String>(String.class, this, DependableComponentPackage.PROPAGATION__TRANSF_FUNCT);
+		}
+		return transfFunct;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Transition getBase_Transition() {
+		if (base_Transition != null && base_Transition.eIsProxy()) {
+			InternalEObject oldBase_Transition = (InternalEObject)base_Transition;
+			base_Transition = (Transition)eResolveProxy(oldBase_Transition);
+			if (base_Transition != oldBase_Transition) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, DependableComponentPackage.PROPAGATION__BASE_TRANSITION, oldBase_Transition, base_Transition));
+			}
+		}
+		return base_Transition;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Transition basicGetBase_Transition() {
+		return base_Transition;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setBase_Transition(Transition newBase_Transition) {
+		Transition oldBase_Transition = base_Transition;
+		base_Transition = newBase_Transition;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, DependableComponentPackage.PROPAGATION__BASE_TRANSITION, oldBase_Transition, base_Transition));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getWeight() {
+		return weight;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setWeight(String newWeight) {
+		String oldWeight = weight;
+		weight = newWeight;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, DependableComponentPackage.PROPAGATION__WEIGHT, oldWeight, weight));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case DependableComponentPackage.PROPAGATION__PROB:
+				return getProb();
+			case DependableComponentPackage.PROPAGATION__PROP_DELAY:
+				return getPropDelay();
+			case DependableComponentPackage.PROPAGATION__BASE_ABSTRACTION:
+				if (resolve) return getBase_Abstraction();
+				return basicGetBase_Abstraction();
+			case DependableComponentPackage.PROPAGATION__BASE_COMMENT:
+				if (resolve) return getBase_Comment();
+				return basicGetBase_Comment();
+			case DependableComponentPackage.PROPAGATION__BASE_CONNECTOR:
+				if (resolve) return getBase_Connector();
+				return basicGetBase_Connector();
+			case DependableComponentPackage.PROPAGATION__BASE_INSTANCE_SPECIFICATION:
+				if (resolve) return getBase_InstanceSpecification();
+				return basicGetBase_InstanceSpecification();
+			case DependableComponentPackage.PROPAGATION__TRANSF_FUNCT:
+				return getTransfFunct();
+			case DependableComponentPackage.PROPAGATION__BASE_TRANSITION:
+				if (resolve) return getBase_Transition();
+				return basicGetBase_Transition();
+			case DependableComponentPackage.PROPAGATION__WEIGHT:
+				return getWeight();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case DependableComponentPackage.PROPAGATION__PROB:
+				setProb((String)newValue);
+				return;
+			case DependableComponentPackage.PROPAGATION__PROP_DELAY:
+				setPropDelay((String)newValue);
+				return;
+			case DependableComponentPackage.PROPAGATION__BASE_ABSTRACTION:
+				setBase_Abstraction((Abstraction)newValue);
+				return;
+			case DependableComponentPackage.PROPAGATION__BASE_COMMENT:
+				setBase_Comment((Comment)newValue);
+				return;
+			case DependableComponentPackage.PROPAGATION__BASE_CONNECTOR:
+				setBase_Connector((Connector)newValue);
+				return;
+			case DependableComponentPackage.PROPAGATION__BASE_INSTANCE_SPECIFICATION:
+				setBase_InstanceSpecification((InstanceSpecification)newValue);
+				return;
+			case DependableComponentPackage.PROPAGATION__TRANSF_FUNCT:
+				getTransfFunct().clear();
+				getTransfFunct().addAll((Collection<? extends String>)newValue);
+				return;
+			case DependableComponentPackage.PROPAGATION__BASE_TRANSITION:
+				setBase_Transition((Transition)newValue);
+				return;
+			case DependableComponentPackage.PROPAGATION__WEIGHT:
+				setWeight((String)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case DependableComponentPackage.PROPAGATION__PROB:
+				setProb(PROB_EDEFAULT);
+				return;
+			case DependableComponentPackage.PROPAGATION__PROP_DELAY:
+				setPropDelay(PROP_DELAY_EDEFAULT);
+				return;
+			case DependableComponentPackage.PROPAGATION__BASE_ABSTRACTION:
+				setBase_Abstraction((Abstraction)null);
+				return;
+			case DependableComponentPackage.PROPAGATION__BASE_COMMENT:
+				setBase_Comment((Comment)null);
+				return;
+			case DependableComponentPackage.PROPAGATION__BASE_CONNECTOR:
+				setBase_Connector((Connector)null);
+				return;
+			case DependableComponentPackage.PROPAGATION__BASE_INSTANCE_SPECIFICATION:
+				setBase_InstanceSpecification((InstanceSpecification)null);
+				return;
+			case DependableComponentPackage.PROPAGATION__TRANSF_FUNCT:
+				getTransfFunct().clear();
+				return;
+			case DependableComponentPackage.PROPAGATION__BASE_TRANSITION:
+				setBase_Transition((Transition)null);
+				return;
+			case DependableComponentPackage.PROPAGATION__WEIGHT:
+				setWeight(WEIGHT_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case DependableComponentPackage.PROPAGATION__PROB:
+				return PROB_EDEFAULT == null ? prob != null : !PROB_EDEFAULT.equals(prob);
+			case DependableComponentPackage.PROPAGATION__PROP_DELAY:
+				return PROP_DELAY_EDEFAULT == null ? propDelay != null : !PROP_DELAY_EDEFAULT.equals(propDelay);
+			case DependableComponentPackage.PROPAGATION__BASE_ABSTRACTION:
+				return base_Abstraction != null;
+			case DependableComponentPackage.PROPAGATION__BASE_COMMENT:
+				return base_Comment != null;
+			case DependableComponentPackage.PROPAGATION__BASE_CONNECTOR:
+				return base_Connector != null;
+			case DependableComponentPackage.PROPAGATION__BASE_INSTANCE_SPECIFICATION:
+				return base_InstanceSpecification != null;
+			case DependableComponentPackage.PROPAGATION__TRANSF_FUNCT:
+				return transfFunct != null && !transfFunct.isEmpty();
+			case DependableComponentPackage.PROPAGATION__BASE_TRANSITION:
+				return base_Transition != null;
+			case DependableComponentPackage.PROPAGATION__WEIGHT:
+				return WEIGHT_EDEFAULT == null ? weight != null : !WEIGHT_EDEFAULT.equals(weight);
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (prob: ");
+		result.append(prob);
+		result.append(", propDelay: ");
+		result.append(propDelay);
+		result.append(", transfFunct: ");
+		result.append(transfFunct);
+		result.append(", weight: ");
+		result.append(weight);
+		result.append(')');
+		return result.toString();
+	}
+
+} //PropagationImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/DependableComponent/util/DependableComponentAdapterFactory.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/DependableComponent/util/DependableComponentAdapterFactory.java
new file mode 100644
index 000000000..c4afa7652
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/DependableComponent/util/DependableComponentAdapterFactory.java
@@ -0,0 +1,144 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+import org.eclipse.emf.ecore.EObject;
+import org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.DependableComponentPackage
+ * @generated
+ */
+public class DependableComponentAdapterFactory extends AdapterFactoryImpl {
+	/**
+	 * The cached model package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static DependableComponentPackage modelPackage;
+
+	/**
+	 * Creates an instance of the adapter factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public DependableComponentAdapterFactory() {
+		if (modelPackage == null) {
+			modelPackage = DependableComponentPackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Returns whether this factory is applicable for the type of the object.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+	 * <!-- end-user-doc -->
+	 * @return whether this factory is applicable for the type of the object.
+	 * @generated
+	 */
+	@Override
+	public boolean isFactoryForType(Object object) {
+		if (object == modelPackage) {
+			return true;
+		}
+		if (object instanceof EObject) {
+			return ((EObject)object).eClass().getEPackage() == modelPackage;
+		}
+		return false;
+	}
+
+	/**
+	 * The switch that delegates to the <code>createXXX</code> methods.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected DependableComponentSwitch<Adapter> modelSwitch =
+		new DependableComponentSwitch<Adapter>() {
+			@Override
+			public Adapter casePropagation(Propagation object) {
+				return createPropagationAdapter();
+			}
+			@Override
+			public Adapter caseDependableComponent(DependableComponent object) {
+				return createDependableComponentAdapter();
+			}
+			@Override
+			public Adapter defaultCase(EObject object) {
+				return createEObjectAdapter();
+			}
+		};
+
+	/**
+	 * Creates an adapter for the <code>target</code>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param target the object to adapt.
+	 * @return the adapter for the <code>target</code>.
+	 * @generated
+	 */
+	@Override
+	public Adapter createAdapter(Notifier target) {
+		return modelSwitch.doSwitch((EObject)target);
+	}
+
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.Propagation <em>Propagation</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.Propagation
+	 * @generated
+	 */
+	public Adapter createPropagationAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.DependableComponent <em>Dependable Component</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.DependableComponent
+	 * @generated
+	 */
+	public Adapter createDependableComponentAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for the default case.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @generated
+	 */
+	public Adapter createEObjectAdapter() {
+		return null;
+	}
+
+} //DependableComponentAdapterFactory
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/DependableComponent/util/DependableComponentResourceFactoryImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/DependableComponent/util/DependableComponentResourceFactoryImpl.java
new file mode 100644
index 000000000..b91bdcbed
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/DependableComponent/util/DependableComponentResourceFactoryImpl.java
@@ -0,0 +1,61 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.util;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.resource.impl.ResourceFactoryImpl;
+
+import org.eclipse.emf.ecore.xmi.XMLResource;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource Factory</b> associated with the package.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.util.DependableComponentResourceImpl
+ * @generated
+ */
+public class DependableComponentResourceFactoryImpl extends ResourceFactoryImpl {
+	/**
+	 * Creates an instance of the resource factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public DependableComponentResourceFactoryImpl() {
+		super();
+	}
+
+	/**
+	 * Creates an instance of the resource.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Resource createResource(URI uri) {
+		XMLResource result = new DependableComponentResourceImpl(uri);
+		result.getDefaultSaveOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
+		result.getDefaultLoadOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
+
+		result.getDefaultSaveOptions().put(XMLResource.OPTION_SCHEMA_LOCATION, Boolean.TRUE);
+
+		result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+		result.getDefaultSaveOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+
+		result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_LEXICAL_HANDLER, Boolean.TRUE);
+		return result;
+	}
+
+} //DependableComponentResourceFactoryImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/DependableComponent/util/DependableComponentResourceImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/DependableComponent/util/DependableComponentResourceImpl.java
new file mode 100644
index 000000000..1fbb25423
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/DependableComponent/util/DependableComponentResourceImpl.java
@@ -0,0 +1,37 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.util;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource </b> associated with the package.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.util.DependableComponentResourceFactoryImpl
+ * @generated
+ */
+public class DependableComponentResourceImpl extends XMLResourceImpl {
+	/**
+	 * Creates an instance of the resource.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param uri the URI of the new resource.
+	 * @generated
+	 */
+	public DependableComponentResourceImpl(URI uri) {
+		super(uri);
+	}
+
+} //DependableComponentResourceImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/DependableComponent/util/DependableComponentSwitch.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/DependableComponent/util/DependableComponentSwitch.java
new file mode 100644
index 000000000..7231213d4
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/DependableComponent/util/DependableComponentSwitch.java
@@ -0,0 +1,141 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.util;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.util.Switch;
+import org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.DependableComponentPackage
+ * @generated
+ */
+public class DependableComponentSwitch<T> extends Switch<T> {
+	/**
+	 * The cached model package
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static DependableComponentPackage modelPackage;
+
+	/**
+	 * Creates an instance of the switch.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public DependableComponentSwitch() {
+		if (modelPackage == null) {
+			modelPackage = DependableComponentPackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Checks whether this is a switch for the given package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @parameter ePackage the package in question.
+	 * @return whether this is a switch for the given package.
+	 * @generated
+	 */
+	@Override
+	protected boolean isSwitchFor(EPackage ePackage) {
+		return ePackage == modelPackage;
+	}
+
+	/**
+	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the first non-null result returned by a <code>caseXXX</code> call.
+	 * @generated
+	 */
+	@Override
+	protected T doSwitch(int classifierID, EObject theEObject) {
+		switch (classifierID) {
+			case DependableComponentPackage.PROPAGATION: {
+				Propagation propagation = (Propagation)theEObject;
+				T result = casePropagation(propagation);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case DependableComponentPackage.DEPENDABLE_COMPONENT: {
+				DependableComponent dependableComponent = (DependableComponent)theEObject;
+				T result = caseDependableComponent(dependableComponent);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			default: return defaultCase(theEObject);
+		}
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Propagation</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Propagation</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T casePropagation(Propagation object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Dependable Component</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Dependable Component</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseDependableComponent(DependableComponent object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch, but this is the last case anyway.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+	 * @generated
+	 */
+	@Override
+	public T defaultCase(EObject object) {
+		return null;
+	}
+
+} //DependableComponentSwitch
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/DependableComponent/util/DependableComponentXMLProcessor.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/DependableComponent/util/DependableComponentXMLProcessor.java
new file mode 100644
index 000000000..d370e8837
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/DependableComponent/util/DependableComponentXMLProcessor.java
@@ -0,0 +1,56 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.util;
+
+import java.util.Map;
+
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.xmi.util.XMLProcessor;
+import org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.DependableComponentPackage;
+
+/**
+ * This class contains helper methods to serialize and deserialize XML documents
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class DependableComponentXMLProcessor extends XMLProcessor {
+
+	/**
+	 * Public constructor to instantiate the helper.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public DependableComponentXMLProcessor() {
+		super((EPackage.Registry.INSTANCE));
+		DependableComponentPackage.eINSTANCE.eClass();
+	}
+	
+	/**
+	 * Register for "*" and "xml" file extensions the DependableComponentResourceFactoryImpl factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected Map<String, Resource.Factory> getRegistrations() {
+		if (registrations == null) {
+			super.getRegistrations();
+			registrations.put(XML_EXTENSION, new DependableComponentResourceFactoryImpl());
+			registrations.put(STAR_EXTENSION, new DependableComponentResourceFactoryImpl());
+		}
+		return registrations;
+	}
+
+} //DependableComponentXMLProcessor
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FMEA/ErrorModelAssign.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FMEA/ErrorModelAssign.java
new file mode 100644
index 000000000..74ad826eb
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FMEA/ErrorModelAssign.java
@@ -0,0 +1,99 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.FMEA;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Slot;
+import org.eclipse.uml2.uml.StateMachine;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ErrorModel;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Error Model Assign</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.FMEA.ErrorModelAssign#getBase_Comment <em>Base Comment</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.FMEA.ErrorModelAssign#getFrom <em>From</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.FMEA.ErrorModelAssign#getTo <em>To</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEAPackage#getErrorModelAssign()
+ * @model
+ * @generated
+ */
+public interface ErrorModelAssign extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Base Comment</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Comment</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Base Comment</em>' reference.
+	 * @see #setBase_Comment(Comment)
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEAPackage#getErrorModelAssign_Base_Comment()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	Comment getBase_Comment();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Dependability.FMEA.ErrorModelAssign#getBase_Comment <em>Base Comment</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Base Comment</em>' reference.
+	 * @see #getBase_Comment()
+	 * @generated
+	 */
+	void setBase_Comment(Comment value);
+
+	/**
+	 * Returns the value of the '<em><b>From</b></em>' reference list.
+	 * The list contents are of type {@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ErrorModel}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>From</em>' reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>From</em>' reference list.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEAPackage#getErrorModelAssign_From()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	EList<ErrorModel> getFrom();
+
+	/**
+	 * Returns the value of the '<em><b>To</b></em>' reference list.
+	 * The list contents are of type {@link org.eclipse.uml2.uml.Slot}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>To</em>' reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>To</em>' reference list.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEAPackage#getErrorModelAssign_To()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	EList<Slot> getTo();
+
+} // ErrorModelAssign
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FMEA/FIBEX.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FMEA/FIBEX.java
new file mode 100644
index 000000000..8e1324a90
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FMEA/FIBEX.java
@@ -0,0 +1,88 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.FMEA;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.uml2.uml.Comment;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>FIBEX</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.FMEA.FIBEX#getBase_Comment <em>Base Comment</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.FMEA.FIBEX#getConfig <em>Config</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEAPackage#getFIBEX()
+ * @model
+ * @generated
+ */
+public interface FIBEX extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Base Comment</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Comment</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Base Comment</em>' reference.
+	 * @see #setBase_Comment(Comment)
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEAPackage#getFIBEX_Base_Comment()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	Comment getBase_Comment();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Dependability.FMEA.FIBEX#getBase_Comment <em>Base Comment</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Base Comment</em>' reference.
+	 * @see #getBase_Comment()
+	 * @generated
+	 */
+	void setBase_Comment(Comment value);
+
+	/**
+	 * Returns the value of the '<em><b>Config</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Config</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Config</em>' attribute.
+	 * @see #setConfig(String)
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEAPackage#getFIBEX_Config()
+	 * @model dataType="org.eclipse.uml2.types.String" required="true" ordered="false"
+	 * @generated
+	 */
+	String getConfig();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Dependability.FMEA.FIBEX#getConfig <em>Config</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Config</em>' attribute.
+	 * @see #getConfig()
+	 * @generated
+	 */
+	void setConfig(String value);
+
+} // FIBEX
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FMEA/FMEAAnalysis.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FMEA/FMEAAnalysis.java
new file mode 100644
index 000000000..bb2e664f3
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FMEA/FMEAAnalysis.java
@@ -0,0 +1,114 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.FMEA;
+
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.GQAM.GaAnalysisContext;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatState;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Analysis</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEAAnalysis#getErrorType <em>Error Type</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEAAnalysis#getSimulationRuns <em>Simulation Runs</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEAAnalysis#getAnalysisType <em>Analysis Type</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEAPackage#getFMEAAnalysis()
+ * @model
+ * @generated
+ */
+public interface FMEAAnalysis extends GaAnalysisContext {
+	/**
+	 * Returns the value of the '<em><b>Error Type</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Error Type</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Error Type</em>' reference.
+	 * @see #setErrorType(ThreatState)
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEAPackage#getFMEAAnalysis_ErrorType()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	ThreatState getErrorType();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEAAnalysis#getErrorType <em>Error Type</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Error Type</em>' reference.
+	 * @see #getErrorType()
+	 * @generated
+	 */
+	void setErrorType(ThreatState value);
+
+	/**
+	 * Returns the value of the '<em><b>Simulation Runs</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Simulation Runs</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Simulation Runs</em>' attribute.
+	 * @see #setSimulationRuns(int)
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEAPackage#getFMEAAnalysis_SimulationRuns()
+	 * @model dataType="org.eclipse.uml2.types.Integer" required="true" ordered="false"
+	 * @generated
+	 */
+	int getSimulationRuns();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEAAnalysis#getSimulationRuns <em>Simulation Runs</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Simulation Runs</em>' attribute.
+	 * @see #getSimulationRuns()
+	 * @generated
+	 */
+	void setSimulationRuns(int value);
+
+	/**
+	 * Returns the value of the '<em><b>Analysis Type</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Analysis Type</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Analysis Type</em>' attribute.
+	 * @see #setAnalysisType(String)
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEAPackage#getFMEAAnalysis_AnalysisType()
+	 * @model dataType="org.eclipse.uml2.types.String" required="true" ordered="false"
+	 * @generated
+	 */
+	String getAnalysisType();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEAAnalysis#getAnalysisType <em>Analysis Type</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Analysis Type</em>' attribute.
+	 * @see #getAnalysisType()
+	 * @generated
+	 */
+	void setAnalysisType(String value);
+
+} // FMEAAnalysis
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FMEA/FMEAAnalysisType.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FMEA/FMEAAnalysisType.java
new file mode 100644
index 000000000..1c6e39fb7
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FMEA/FMEAAnalysisType.java
@@ -0,0 +1,217 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.FMEA;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Analysis Type</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEAPackage#getFMEAAnalysisType()
+ * @model
+ * @generated
+ */
+public enum FMEAAnalysisType implements Enumerator {
+	/**
+	 * The '<em><b>Frame</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #FRAME_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	FRAME(0, "frame", "frame"),
+
+	/**
+	 * The '<em><b>System</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #SYSTEM_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	SYSTEM(1, "system", "system");
+
+	/**
+	 * The '<em><b>Frame</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>Frame</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #FRAME
+	 * @model name="frame"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int FRAME_VALUE = 0;
+
+	/**
+	 * The '<em><b>System</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>System</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #SYSTEM
+	 * @model name="system"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int SYSTEM_VALUE = 1;
+
+	/**
+	 * An array of all the '<em><b>Analysis Type</b></em>' enumerators.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static final FMEAAnalysisType[] VALUES_ARRAY =
+		new FMEAAnalysisType[] {
+			FRAME,
+			SYSTEM,
+		};
+
+	/**
+	 * A public read-only list of all the '<em><b>Analysis Type</b></em>' enumerators.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final List<FMEAAnalysisType> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+	/**
+	 * Returns the '<em><b>Analysis Type</b></em>' literal with the specified literal value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static FMEAAnalysisType get(String literal) {
+		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+			FMEAAnalysisType result = VALUES_ARRAY[i];
+			if (result.toString().equals(literal)) {
+				return result;
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Returns the '<em><b>Analysis Type</b></em>' literal with the specified name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static FMEAAnalysisType getByName(String name) {
+		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+			FMEAAnalysisType result = VALUES_ARRAY[i];
+			if (result.getName().equals(name)) {
+				return result;
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Returns the '<em><b>Analysis Type</b></em>' literal with the specified integer value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static FMEAAnalysisType get(int value) {
+		switch (value) {
+			case FRAME_VALUE: return FRAME;
+			case SYSTEM_VALUE: return SYSTEM;
+		}
+		return null;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final int value;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final String name;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final String literal;
+
+	/**
+	 * Only this class can construct instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private FMEAAnalysisType(int value, String name, String literal) {
+		this.value = value;
+		this.name = name;
+		this.literal = literal;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public int getValue() {
+	  return value;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getName() {
+	  return name;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getLiteral() {
+	  return literal;
+	}
+
+	/**
+	 * Returns the literal value of the enumerator, which is its string representation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		return literal;
+	}
+	
+} //FMEAAnalysisType
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FMEA/FMEADataTypes/FMEADataTypesFactory.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FMEA/FMEADataTypes/FMEADataTypesFactory.java
new file mode 100644
index 000000000..1b5e97689
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FMEA/FMEADataTypes/FMEADataTypesFactory.java
@@ -0,0 +1,42 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEADataTypes;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEADataTypes.FMEADataTypesPackage
+ * @generated
+ */
+public interface FMEADataTypesFactory extends EFactory {
+	/**
+	 * The singleton instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	FMEADataTypesFactory eINSTANCE = org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEADataTypes.impl.FMEADataTypesFactoryImpl.init();
+
+	/**
+	 * Returns the package supported by this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the package supported by this factory.
+	 * @generated
+	 */
+	FMEADataTypesPackage getFMEADataTypesPackage();
+
+} //FMEADataTypesFactory
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FMEA/FMEADataTypes/FMEADataTypesPackage.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FMEA/FMEADataTypes/FMEADataTypesPackage.java
new file mode 100644
index 000000000..8f32ea988
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FMEA/FMEADataTypes/FMEADataTypesPackage.java
@@ -0,0 +1,120 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEADataTypes;
+
+import org.eclipse.emf.ecore.EEnum;
+import org.eclipse.emf.ecore.EPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ *   <li>each class,</li>
+ *   <li>each feature of each class,</li>
+ *   <li>each enum,</li>
+ *   <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEADataTypes.FMEADataTypesFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface FMEADataTypesPackage extends EPackage {
+	/**
+	 * The package name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNAME = "FMEADataTypes";
+
+	/**
+	 * The package namespace URI.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_URI = "http:///CHESS/Dependability/FMEA/FMEADataTypes.ecore";
+
+	/**
+	 * The package namespace name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_PREFIX = "CHESS.Dependability.FMEA.FMEADataTypes";
+
+	/**
+	 * The singleton instance of the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	FMEADataTypesPackage eINSTANCE = org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEADataTypes.impl.FMEADataTypesPackageImpl.init();
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEADataTypes.Persistency <em>Persistency</em>}' enum.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEADataTypes.Persistency
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEADataTypes.impl.FMEADataTypesPackageImpl#getPersistency()
+	 * @generated
+	 */
+	int PERSISTENCY = 0;
+
+
+	/**
+	 * Returns the meta object for enum '{@link org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEADataTypes.Persistency <em>Persistency</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for enum '<em>Persistency</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEADataTypes.Persistency
+	 * @generated
+	 */
+	EEnum getPersistency();
+
+	/**
+	 * Returns the factory that creates the instances of the model.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the factory that creates the instances of the model.
+	 * @generated
+	 */
+	FMEADataTypesFactory getFMEADataTypesFactory();
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * Defines literals for the meta objects that represent
+	 * <ul>
+	 *   <li>each class,</li>
+	 *   <li>each feature of each class,</li>
+	 *   <li>each enum,</li>
+	 *   <li>and each data type</li>
+	 * </ul>
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	interface Literals {
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEADataTypes.Persistency <em>Persistency</em>}' enum.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEADataTypes.Persistency
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEADataTypes.impl.FMEADataTypesPackageImpl#getPersistency()
+		 * @generated
+		 */
+		EEnum PERSISTENCY = eINSTANCE.getPersistency();
+
+	}
+
+} //FMEADataTypesPackage
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FMEA/FMEADataTypes/Persistency.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FMEA/FMEADataTypes/Persistency.java
new file mode 100644
index 000000000..bd2ef6c32
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FMEA/FMEADataTypes/Persistency.java
@@ -0,0 +1,217 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEADataTypes;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Persistency</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEADataTypes.FMEADataTypesPackage#getPersistency()
+ * @model
+ * @generated
+ */
+public enum Persistency implements Enumerator {
+	/**
+	 * The '<em><b>Transient</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #TRANSIENT_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	TRANSIENT(0, "transient", "transient"),
+
+	/**
+	 * The '<em><b>Permanent</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #PERMANENT_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	PERMANENT(1, "permanent", "permanent");
+
+	/**
+	 * The '<em><b>Transient</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>Transient</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #TRANSIENT
+	 * @model name="transient"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int TRANSIENT_VALUE = 0;
+
+	/**
+	 * The '<em><b>Permanent</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>Permanent</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #PERMANENT
+	 * @model name="permanent"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int PERMANENT_VALUE = 1;
+
+	/**
+	 * An array of all the '<em><b>Persistency</b></em>' enumerators.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static final Persistency[] VALUES_ARRAY =
+		new Persistency[] {
+			TRANSIENT,
+			PERMANENT,
+		};
+
+	/**
+	 * A public read-only list of all the '<em><b>Persistency</b></em>' enumerators.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final List<Persistency> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+	/**
+	 * Returns the '<em><b>Persistency</b></em>' literal with the specified literal value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static Persistency get(String literal) {
+		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+			Persistency result = VALUES_ARRAY[i];
+			if (result.toString().equals(literal)) {
+				return result;
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Returns the '<em><b>Persistency</b></em>' literal with the specified name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static Persistency getByName(String name) {
+		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+			Persistency result = VALUES_ARRAY[i];
+			if (result.getName().equals(name)) {
+				return result;
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Returns the '<em><b>Persistency</b></em>' literal with the specified integer value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static Persistency get(int value) {
+		switch (value) {
+			case TRANSIENT_VALUE: return TRANSIENT;
+			case PERMANENT_VALUE: return PERMANENT;
+		}
+		return null;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final int value;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final String name;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final String literal;
+
+	/**
+	 * Only this class can construct instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private Persistency(int value, String name, String literal) {
+		this.value = value;
+		this.name = name;
+		this.literal = literal;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public int getValue() {
+	  return value;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getName() {
+	  return name;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getLiteral() {
+	  return literal;
+	}
+
+	/**
+	 * Returns the literal value of the enumerator, which is its string representation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		return literal;
+	}
+	
+} //Persistency
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FMEA/FMEADataTypes/impl/FMEADataTypesFactoryImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FMEA/FMEADataTypes/impl/FMEADataTypesFactoryImpl.java
new file mode 100644
index 000000000..6cfdb9249
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FMEA/FMEADataTypes/impl/FMEADataTypesFactoryImpl.java
@@ -0,0 +1,141 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEADataTypes.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEADataTypes.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class FMEADataTypesFactoryImpl extends EFactoryImpl implements FMEADataTypesFactory {
+	/**
+	 * Creates the default factory implementation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static FMEADataTypesFactory init() {
+		try {
+			FMEADataTypesFactory theFMEADataTypesFactory = (FMEADataTypesFactory)EPackage.Registry.INSTANCE.getEFactory(FMEADataTypesPackage.eNS_URI);
+			if (theFMEADataTypesFactory != null) {
+				return theFMEADataTypesFactory;
+			}
+		}
+		catch (Exception exception) {
+			EcorePlugin.INSTANCE.log(exception);
+		}
+		return new FMEADataTypesFactoryImpl();
+	}
+
+	/**
+	 * Creates an instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public FMEADataTypesFactoryImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EObject create(EClass eClass) {
+		switch (eClass.getClassifierID()) {
+			default:
+				throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object createFromString(EDataType eDataType, String initialValue) {
+		switch (eDataType.getClassifierID()) {
+			case FMEADataTypesPackage.PERSISTENCY:
+				return createPersistencyFromString(eDataType, initialValue);
+			default:
+				throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String convertToString(EDataType eDataType, Object instanceValue) {
+		switch (eDataType.getClassifierID()) {
+			case FMEADataTypesPackage.PERSISTENCY:
+				return convertPersistencyToString(eDataType, instanceValue);
+			default:
+				throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Persistency createPersistencyFromString(EDataType eDataType, String initialValue) {
+		Persistency result = Persistency.get(initialValue);
+		if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+		return result;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String convertPersistencyToString(EDataType eDataType, Object instanceValue) {
+		return instanceValue == null ? null : instanceValue.toString();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public FMEADataTypesPackage getFMEADataTypesPackage() {
+		return (FMEADataTypesPackage)getEPackage();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @deprecated
+	 * @generated
+	 */
+	@Deprecated
+	public static FMEADataTypesPackage getPackage() {
+		return FMEADataTypesPackage.eINSTANCE;
+	}
+
+} //FMEADataTypesFactoryImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FMEA/FMEADataTypes/impl/FMEADataTypesPackageImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FMEA/FMEADataTypes/impl/FMEADataTypesPackageImpl.java
new file mode 100644
index 000000000..3f07be19e
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FMEA/FMEADataTypes/impl/FMEADataTypesPackageImpl.java
@@ -0,0 +1,298 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEADataTypes.impl;
+
+import org.eclipse.emf.ecore.EEnum;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+import org.eclipse.papyrus.MARTE.MARTEPackage;
+import org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.BasicNFP_TypesPackage;
+import org.eclipse.papyrus.MARTE_Library.GRM_BasicTypes.GRM_BasicTypesPackage;
+import org.eclipse.papyrus.MARTE_Library.MARTE_DataTypes.MARTE_DataTypesPackage;
+import org.eclipse.papyrus.MARTE_Library.MARTE_PrimitivesTypes.MARTE_PrimitivesTypesPackage;
+import org.eclipse.papyrus.MARTE_Library.MeasurementUnits.MeasurementUnitsPackage;
+import org.eclipse.papyrus.MARTE_Library.RS_Library.RS_LibraryPackage;
+import org.eclipse.papyrus.MARTE_Library.TimeLibrary.TimeLibraryPackage;
+import org.eclipse.papyrus.MARTE_Library.TimeTypesLibrary.TimeTypesLibraryPackage;
+import org.polarsys.chess.chessmlprofile.chessmlprofilePackage;
+import org.polarsys.chess.chessmlprofile.ComponentModel.ComponentModelPackage;
+import org.polarsys.chess.chessmlprofile.ComponentModel.impl.ComponentModelPackageImpl;
+import org.polarsys.chess.chessmlprofile.Core.CorePackage;
+import org.polarsys.chess.chessmlprofile.Core.CHESSViews.CHESSViewsPackage;
+import org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl.CHESSViewsPackageImpl;
+import org.polarsys.chess.chessmlprofile.Core.impl.CorePackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.DataFlowCallGraph.DataFlowCallGraphPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.DataFlowCallGraph.impl.DataFlowCallGraphPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.DependableComponentPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.impl.DependableComponentPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEAPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEADataTypes.FMEADataTypesFactory;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEADataTypes.FMEADataTypesPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEADataTypes.Persistency;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.impl.FMEAPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.FailurePropagationDataTypesPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.impl.FailurePropagationDataTypesPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl.FailurePropagationPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans.MitigationMeansPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans.impl.MitigationMeansPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.FaultTolerancePackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.impl.FaultTolerancePackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.MaintenanceMonitoringPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.impl.MaintenanceMonitoringPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.StateBasedAnalysisPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.impl.StateBasedAnalysisPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StateBasedComponentsPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.impl.StateBasedComponentsPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.StateBasedDataTypesPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.impl.StateBasedDataTypesPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatsPropagationPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.ThreatsPropagationPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.DeploymentConfAnalysisPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.impl.DeploymentConfAnalysisPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HardwareBaselinePackage;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.HardwareBaselinePackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTComponentModelPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.RTDataTypesPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.impl.RTDataTypesPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.impl.RTComponentModelPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingAnalysisPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.TimingConstraintsPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.impl.TimingConstraintsPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.impl.TimingAnalysisPackageImpl;
+import org.polarsys.chess.chessmlprofile.impl.chessmlprofilePackageImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class FMEADataTypesPackageImpl extends EPackageImpl implements FMEADataTypesPackage {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EEnum persistencyEEnum = null;
+
+	/**
+	 * Creates an instance of the model <b>Package</b>, registered with
+	 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+	 * package URI value.
+	 * <p>Note: the correct way to create the package is via the static
+	 * factory method {@link #init init()}, which also performs
+	 * initialization of the package, or returns the registered package,
+	 * if one already exists.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.emf.ecore.EPackage.Registry
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEADataTypes.FMEADataTypesPackage#eNS_URI
+	 * @see #init()
+	 * @generated
+	 */
+	private FMEADataTypesPackageImpl() {
+		super(eNS_URI, FMEADataTypesFactory.eINSTANCE);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static boolean isInited = false;
+
+	/**
+	 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+	 * 
+	 * <p>This method is used to initialize {@link FMEADataTypesPackage#eINSTANCE} when that field is accessed.
+	 * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #eNS_URI
+	 * @see #createPackageContents()
+	 * @see #initializePackageContents()
+	 * @generated
+	 */
+	public static FMEADataTypesPackage init() {
+		if (isInited) return (FMEADataTypesPackage)EPackage.Registry.INSTANCE.getEPackage(FMEADataTypesPackage.eNS_URI);
+
+		// Obtain or create and register package
+		FMEADataTypesPackageImpl theFMEADataTypesPackage = (FMEADataTypesPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof FMEADataTypesPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new FMEADataTypesPackageImpl());
+
+		isInited = true;
+
+		// Initialize simple dependencies
+		MARTEPackage.eINSTANCE.eClass();
+		MeasurementUnitsPackage.eINSTANCE.eClass();
+		GRM_BasicTypesPackage.eINSTANCE.eClass();
+		MARTE_DataTypesPackage.eINSTANCE.eClass();
+		BasicNFP_TypesPackage.eINSTANCE.eClass();
+		TimeTypesLibraryPackage.eINSTANCE.eClass();
+		TimeLibraryPackage.eINSTANCE.eClass();
+		RS_LibraryPackage.eINSTANCE.eClass();
+		MARTE_PrimitivesTypesPackage.eINSTANCE.eClass();
+		BasicNFP_TypesPackage.eINSTANCE.eClass();
+
+		// Obtain or create and register interdependencies
+		chessmlprofilePackageImpl thechessmlprofilePackage = (chessmlprofilePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(chessmlprofilePackage.eNS_URI) instanceof chessmlprofilePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(chessmlprofilePackage.eNS_URI) : chessmlprofilePackage.eINSTANCE);
+		CorePackageImpl theCorePackage = (CorePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(CorePackage.eNS_URI) instanceof CorePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(CorePackage.eNS_URI) : CorePackage.eINSTANCE);
+		CHESSViewsPackageImpl theCHESSViewsPackage = (CHESSViewsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(CHESSViewsPackage.eNS_URI) instanceof CHESSViewsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(CHESSViewsPackage.eNS_URI) : CHESSViewsPackage.eINSTANCE);
+		FailurePropagationPackageImpl theFailurePropagationPackage = (FailurePropagationPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FailurePropagationPackage.eNS_URI) instanceof FailurePropagationPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FailurePropagationPackage.eNS_URI) : FailurePropagationPackage.eINSTANCE);
+		FailurePropagationDataTypesPackageImpl theFailurePropagationDataTypesPackage = (FailurePropagationDataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FailurePropagationDataTypesPackage.eNS_URI) instanceof FailurePropagationDataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FailurePropagationDataTypesPackage.eNS_URI) : FailurePropagationDataTypesPackage.eINSTANCE);
+		DependableComponentPackageImpl theDependableComponentPackage = (DependableComponentPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DependableComponentPackage.eNS_URI) instanceof DependableComponentPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DependableComponentPackage.eNS_URI) : DependableComponentPackage.eINSTANCE);
+		ThreatsPropagationPackageImpl theThreatsPropagationPackage = (ThreatsPropagationPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ThreatsPropagationPackage.eNS_URI) instanceof ThreatsPropagationPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ThreatsPropagationPackage.eNS_URI) : ThreatsPropagationPackage.eINSTANCE);
+		DataFlowCallGraphPackageImpl theDataFlowCallGraphPackage = (DataFlowCallGraphPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DataFlowCallGraphPackage.eNS_URI) instanceof DataFlowCallGraphPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DataFlowCallGraphPackage.eNS_URI) : DataFlowCallGraphPackage.eINSTANCE);
+		StateBasedDataTypesPackageImpl theStateBasedDataTypesPackage = (StateBasedDataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(StateBasedDataTypesPackage.eNS_URI) instanceof StateBasedDataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(StateBasedDataTypesPackage.eNS_URI) : StateBasedDataTypesPackage.eINSTANCE);
+		StateBasedComponentsPackageImpl theStateBasedComponentsPackage = (StateBasedComponentsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(StateBasedComponentsPackage.eNS_URI) instanceof StateBasedComponentsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(StateBasedComponentsPackage.eNS_URI) : StateBasedComponentsPackage.eINSTANCE);
+		FaultTolerancePackageImpl theFaultTolerancePackage = (FaultTolerancePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FaultTolerancePackage.eNS_URI) instanceof FaultTolerancePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FaultTolerancePackage.eNS_URI) : FaultTolerancePackage.eINSTANCE);
+		MaintenanceMonitoringPackageImpl theMaintenanceMonitoringPackage = (MaintenanceMonitoringPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(MaintenanceMonitoringPackage.eNS_URI) instanceof MaintenanceMonitoringPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(MaintenanceMonitoringPackage.eNS_URI) : MaintenanceMonitoringPackage.eINSTANCE);
+		StateBasedAnalysisPackageImpl theStateBasedAnalysisPackage = (StateBasedAnalysisPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(StateBasedAnalysisPackage.eNS_URI) instanceof StateBasedAnalysisPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(StateBasedAnalysisPackage.eNS_URI) : StateBasedAnalysisPackage.eINSTANCE);
+		FMEAPackageImpl theFMEAPackage = (FMEAPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FMEAPackage.eNS_URI) instanceof FMEAPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FMEAPackage.eNS_URI) : FMEAPackage.eINSTANCE);
+		MitigationMeansPackageImpl theMitigationMeansPackage = (MitigationMeansPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(MitigationMeansPackage.eNS_URI) instanceof MitigationMeansPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(MitigationMeansPackage.eNS_URI) : MitigationMeansPackage.eINSTANCE);
+		TimingAnalysisPackageImpl theTimingAnalysisPackage = (TimingAnalysisPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimingAnalysisPackage.eNS_URI) instanceof TimingAnalysisPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimingAnalysisPackage.eNS_URI) : TimingAnalysisPackage.eINSTANCE);
+		TimingConstraintsPackageImpl theTimingConstraintsPackage = (TimingConstraintsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimingConstraintsPackage.eNS_URI) instanceof TimingConstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimingConstraintsPackage.eNS_URI) : TimingConstraintsPackage.eINSTANCE);
+		HardwareBaselinePackageImpl theHardwareBaselinePackage = (HardwareBaselinePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HardwareBaselinePackage.eNS_URI) instanceof HardwareBaselinePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HardwareBaselinePackage.eNS_URI) : HardwareBaselinePackage.eINSTANCE);
+		DeploymentConfAnalysisPackageImpl theDeploymentConfAnalysisPackage = (DeploymentConfAnalysisPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DeploymentConfAnalysisPackage.eNS_URI) instanceof DeploymentConfAnalysisPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DeploymentConfAnalysisPackage.eNS_URI) : DeploymentConfAnalysisPackage.eINSTANCE);
+		RTComponentModelPackageImpl theRTComponentModelPackage = (RTComponentModelPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RTComponentModelPackage.eNS_URI) instanceof RTComponentModelPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RTComponentModelPackage.eNS_URI) : RTComponentModelPackage.eINSTANCE);
+		RTDataTypesPackageImpl theRTDataTypesPackage = (RTDataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RTDataTypesPackage.eNS_URI) instanceof RTDataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RTDataTypesPackage.eNS_URI) : RTDataTypesPackage.eINSTANCE);
+		ComponentModelPackageImpl theComponentModelPackage = (ComponentModelPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ComponentModelPackage.eNS_URI) instanceof ComponentModelPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ComponentModelPackage.eNS_URI) : ComponentModelPackage.eINSTANCE);
+
+		// Create package meta-data objects
+		theFMEADataTypesPackage.createPackageContents();
+		thechessmlprofilePackage.createPackageContents();
+		theCorePackage.createPackageContents();
+		theCHESSViewsPackage.createPackageContents();
+		theFailurePropagationPackage.createPackageContents();
+		theFailurePropagationDataTypesPackage.createPackageContents();
+		theDependableComponentPackage.createPackageContents();
+		theThreatsPropagationPackage.createPackageContents();
+		theDataFlowCallGraphPackage.createPackageContents();
+		theStateBasedDataTypesPackage.createPackageContents();
+		theStateBasedComponentsPackage.createPackageContents();
+		theFaultTolerancePackage.createPackageContents();
+		theMaintenanceMonitoringPackage.createPackageContents();
+		theStateBasedAnalysisPackage.createPackageContents();
+		theFMEAPackage.createPackageContents();
+		theMitigationMeansPackage.createPackageContents();
+		theTimingAnalysisPackage.createPackageContents();
+		theTimingConstraintsPackage.createPackageContents();
+		theHardwareBaselinePackage.createPackageContents();
+		theDeploymentConfAnalysisPackage.createPackageContents();
+		theRTComponentModelPackage.createPackageContents();
+		theRTDataTypesPackage.createPackageContents();
+		theComponentModelPackage.createPackageContents();
+
+		// Initialize created meta-data
+		theFMEADataTypesPackage.initializePackageContents();
+		thechessmlprofilePackage.initializePackageContents();
+		theCorePackage.initializePackageContents();
+		theCHESSViewsPackage.initializePackageContents();
+		theFailurePropagationPackage.initializePackageContents();
+		theFailurePropagationDataTypesPackage.initializePackageContents();
+		theDependableComponentPackage.initializePackageContents();
+		theThreatsPropagationPackage.initializePackageContents();
+		theDataFlowCallGraphPackage.initializePackageContents();
+		theStateBasedDataTypesPackage.initializePackageContents();
+		theStateBasedComponentsPackage.initializePackageContents();
+		theFaultTolerancePackage.initializePackageContents();
+		theMaintenanceMonitoringPackage.initializePackageContents();
+		theStateBasedAnalysisPackage.initializePackageContents();
+		theFMEAPackage.initializePackageContents();
+		theMitigationMeansPackage.initializePackageContents();
+		theTimingAnalysisPackage.initializePackageContents();
+		theTimingConstraintsPackage.initializePackageContents();
+		theHardwareBaselinePackage.initializePackageContents();
+		theDeploymentConfAnalysisPackage.initializePackageContents();
+		theRTComponentModelPackage.initializePackageContents();
+		theRTDataTypesPackage.initializePackageContents();
+		theComponentModelPackage.initializePackageContents();
+
+		// Mark meta-data to indicate it can't be changed
+		theFMEADataTypesPackage.freeze();
+
+  
+		// Update the registry and return the package
+		EPackage.Registry.INSTANCE.put(FMEADataTypesPackage.eNS_URI, theFMEADataTypesPackage);
+		return theFMEADataTypesPackage;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EEnum getPersistency() {
+		return persistencyEEnum;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public FMEADataTypesFactory getFMEADataTypesFactory() {
+		return (FMEADataTypesFactory)getEFactoryInstance();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isCreated = false;
+
+	/**
+	 * Creates the meta-model objects for the package.  This method is
+	 * guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void createPackageContents() {
+		if (isCreated) return;
+		isCreated = true;
+
+		// Create enums
+		persistencyEEnum = createEEnum(PERSISTENCY);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isInitialized = false;
+
+	/**
+	 * Complete the initialization of the package and its meta-model.  This
+	 * method is guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void initializePackageContents() {
+		if (isInitialized) return;
+		isInitialized = true;
+
+		// Initialize package
+		setName(eNAME);
+		setNsPrefix(eNS_PREFIX);
+		setNsURI(eNS_URI);
+
+		// Initialize enums and add enum literals
+		initEEnum(persistencyEEnum, Persistency.class, "Persistency");
+		addEEnumLiteral(persistencyEEnum, Persistency.TRANSIENT);
+		addEEnumLiteral(persistencyEEnum, Persistency.PERMANENT);
+	}
+
+} //FMEADataTypesPackageImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FMEA/FMEAFactory.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FMEA/FMEAFactory.java
new file mode 100644
index 000000000..611c11264
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FMEA/FMEAFactory.java
@@ -0,0 +1,69 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.FMEA;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEAPackage
+ * @generated
+ */
+public interface FMEAFactory extends EFactory {
+	/**
+	 * The singleton instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	FMEAFactory eINSTANCE = org.polarsys.chess.chessmlprofile.Dependability.FMEA.impl.FMEAFactoryImpl.init();
+
+	/**
+	 * Returns a new object of class '<em>FIBEX</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>FIBEX</em>'.
+	 * @generated
+	 */
+	FIBEX createFIBEX();
+
+	/**
+	 * Returns a new object of class '<em>Analysis</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Analysis</em>'.
+	 * @generated
+	 */
+	FMEAAnalysis createFMEAAnalysis();
+
+	/**
+	 * Returns a new object of class '<em>Error Model Assign</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Error Model Assign</em>'.
+	 * @generated
+	 */
+	ErrorModelAssign createErrorModelAssign();
+
+	/**
+	 * Returns the package supported by this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the package supported by this factory.
+	 * @generated
+	 */
+	FMEAPackage getFMEAPackage();
+
+} //FMEAFactory
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FMEA/FMEAPackage.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FMEA/FMEAPackage.java
new file mode 100644
index 000000000..047a5f179
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FMEA/FMEAPackage.java
@@ -0,0 +1,529 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.FMEA;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EEnum;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.GQAM.GQAMPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ *   <li>each class,</li>
+ *   <li>each feature of each class,</li>
+ *   <li>each enum,</li>
+ *   <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEAFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface FMEAPackage extends EPackage {
+	/**
+	 * The package name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNAME = "FMEA";
+
+	/**
+	 * The package namespace URI.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_URI = "http://CHESS.Dependability/schemas/FMEA/_wfALMFrLEeCvGuvlF-wh1g/9";
+
+	/**
+	 * The package namespace name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_PREFIX = "FMEA";
+
+	/**
+	 * The singleton instance of the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	FMEAPackage eINSTANCE = org.polarsys.chess.chessmlprofile.Dependability.FMEA.impl.FMEAPackageImpl.init();
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Dependability.FMEA.impl.FIBEXImpl <em>FIBEX</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FMEA.impl.FIBEXImpl
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FMEA.impl.FMEAPackageImpl#getFIBEX()
+	 * @generated
+	 */
+	int FIBEX = 0;
+
+	/**
+	 * The feature id for the '<em><b>Base Comment</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FIBEX__BASE_COMMENT = 0;
+
+	/**
+	 * The feature id for the '<em><b>Config</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FIBEX__CONFIG = 1;
+
+	/**
+	 * The number of structural features of the '<em>FIBEX</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FIBEX_FEATURE_COUNT = 2;
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Dependability.FMEA.impl.FMEAAnalysisImpl <em>Analysis</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FMEA.impl.FMEAAnalysisImpl
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FMEA.impl.FMEAPackageImpl#getFMEAAnalysis()
+	 * @generated
+	 */
+	int FMEA_ANALYSIS = 1;
+
+	/**
+	 * The feature id for the '<em><b>Base Structured Classifier</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FMEA_ANALYSIS__BASE_STRUCTURED_CLASSIFIER = GQAMPackage.GA_ANALYSIS_CONTEXT__BASE_STRUCTURED_CLASSIFIER;
+
+	/**
+	 * The feature id for the '<em><b>Base Package</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FMEA_ANALYSIS__BASE_PACKAGE = GQAMPackage.GA_ANALYSIS_CONTEXT__BASE_PACKAGE;
+
+	/**
+	 * The feature id for the '<em><b>Mode</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FMEA_ANALYSIS__MODE = GQAMPackage.GA_ANALYSIS_CONTEXT__MODE;
+
+	/**
+	 * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FMEA_ANALYSIS__BASE_NAMED_ELEMENT = GQAMPackage.GA_ANALYSIS_CONTEXT__BASE_NAMED_ELEMENT;
+
+	/**
+	 * The feature id for the '<em><b>Context</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FMEA_ANALYSIS__CONTEXT = GQAMPackage.GA_ANALYSIS_CONTEXT__CONTEXT;
+
+	/**
+	 * The feature id for the '<em><b>Workload</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FMEA_ANALYSIS__WORKLOAD = GQAMPackage.GA_ANALYSIS_CONTEXT__WORKLOAD;
+
+	/**
+	 * The feature id for the '<em><b>Platform</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FMEA_ANALYSIS__PLATFORM = GQAMPackage.GA_ANALYSIS_CONTEXT__PLATFORM;
+
+	/**
+	 * The feature id for the '<em><b>Error Type</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FMEA_ANALYSIS__ERROR_TYPE = GQAMPackage.GA_ANALYSIS_CONTEXT_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Simulation Runs</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FMEA_ANALYSIS__SIMULATION_RUNS = GQAMPackage.GA_ANALYSIS_CONTEXT_FEATURE_COUNT + 1;
+
+	/**
+	 * The feature id for the '<em><b>Analysis Type</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FMEA_ANALYSIS__ANALYSIS_TYPE = GQAMPackage.GA_ANALYSIS_CONTEXT_FEATURE_COUNT + 2;
+
+	/**
+	 * The number of structural features of the '<em>Analysis</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FMEA_ANALYSIS_FEATURE_COUNT = GQAMPackage.GA_ANALYSIS_CONTEXT_FEATURE_COUNT + 3;
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Dependability.FMEA.impl.ErrorModelAssignImpl <em>Error Model Assign</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FMEA.impl.ErrorModelAssignImpl
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FMEA.impl.FMEAPackageImpl#getErrorModelAssign()
+	 * @generated
+	 */
+	int ERROR_MODEL_ASSIGN = 2;
+
+	/**
+	 * The feature id for the '<em><b>Base Comment</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ERROR_MODEL_ASSIGN__BASE_COMMENT = 0;
+
+	/**
+	 * The feature id for the '<em><b>From</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ERROR_MODEL_ASSIGN__FROM = 1;
+
+	/**
+	 * The feature id for the '<em><b>To</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ERROR_MODEL_ASSIGN__TO = 2;
+
+	/**
+	 * The number of structural features of the '<em>Error Model Assign</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ERROR_MODEL_ASSIGN_FEATURE_COUNT = 3;
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEAAnalysisType <em>Analysis Type</em>}' enum.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEAAnalysisType
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FMEA.impl.FMEAPackageImpl#getFMEAAnalysisType()
+	 * @generated
+	 */
+	int FMEA_ANALYSIS_TYPE = 3;
+
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.chessmlprofile.Dependability.FMEA.FIBEX <em>FIBEX</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>FIBEX</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FMEA.FIBEX
+	 * @generated
+	 */
+	EClass getFIBEX();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.polarsys.chess.chessmlprofile.Dependability.FMEA.FIBEX#getBase_Comment <em>Base Comment</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Base Comment</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FMEA.FIBEX#getBase_Comment()
+	 * @see #getFIBEX()
+	 * @generated
+	 */
+	EReference getFIBEX_Base_Comment();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.Dependability.FMEA.FIBEX#getConfig <em>Config</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Config</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FMEA.FIBEX#getConfig()
+	 * @see #getFIBEX()
+	 * @generated
+	 */
+	EAttribute getFIBEX_Config();
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEAAnalysis <em>Analysis</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Analysis</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEAAnalysis
+	 * @generated
+	 */
+	EClass getFMEAAnalysis();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEAAnalysis#getErrorType <em>Error Type</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Error Type</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEAAnalysis#getErrorType()
+	 * @see #getFMEAAnalysis()
+	 * @generated
+	 */
+	EReference getFMEAAnalysis_ErrorType();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEAAnalysis#getSimulationRuns <em>Simulation Runs</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Simulation Runs</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEAAnalysis#getSimulationRuns()
+	 * @see #getFMEAAnalysis()
+	 * @generated
+	 */
+	EAttribute getFMEAAnalysis_SimulationRuns();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEAAnalysis#getAnalysisType <em>Analysis Type</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Analysis Type</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEAAnalysis#getAnalysisType()
+	 * @see #getFMEAAnalysis()
+	 * @generated
+	 */
+	EAttribute getFMEAAnalysis_AnalysisType();
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.chessmlprofile.Dependability.FMEA.ErrorModelAssign <em>Error Model Assign</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Error Model Assign</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FMEA.ErrorModelAssign
+	 * @generated
+	 */
+	EClass getErrorModelAssign();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.polarsys.chess.chessmlprofile.Dependability.FMEA.ErrorModelAssign#getBase_Comment <em>Base Comment</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Base Comment</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FMEA.ErrorModelAssign#getBase_Comment()
+	 * @see #getErrorModelAssign()
+	 * @generated
+	 */
+	EReference getErrorModelAssign_Base_Comment();
+
+	/**
+	 * Returns the meta object for the reference list '{@link org.polarsys.chess.chessmlprofile.Dependability.FMEA.ErrorModelAssign#getFrom <em>From</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference list '<em>From</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FMEA.ErrorModelAssign#getFrom()
+	 * @see #getErrorModelAssign()
+	 * @generated
+	 */
+	EReference getErrorModelAssign_From();
+
+	/**
+	 * Returns the meta object for the reference list '{@link org.polarsys.chess.chessmlprofile.Dependability.FMEA.ErrorModelAssign#getTo <em>To</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference list '<em>To</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FMEA.ErrorModelAssign#getTo()
+	 * @see #getErrorModelAssign()
+	 * @generated
+	 */
+	EReference getErrorModelAssign_To();
+
+	/**
+	 * Returns the meta object for enum '{@link org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEAAnalysisType <em>Analysis Type</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for enum '<em>Analysis Type</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEAAnalysisType
+	 * @generated
+	 */
+	EEnum getFMEAAnalysisType();
+
+	/**
+	 * Returns the factory that creates the instances of the model.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the factory that creates the instances of the model.
+	 * @generated
+	 */
+	FMEAFactory getFMEAFactory();
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * Defines literals for the meta objects that represent
+	 * <ul>
+	 *   <li>each class,</li>
+	 *   <li>each feature of each class,</li>
+	 *   <li>each enum,</li>
+	 *   <li>and each data type</li>
+	 * </ul>
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	interface Literals {
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Dependability.FMEA.impl.FIBEXImpl <em>FIBEX</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.FMEA.impl.FIBEXImpl
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.FMEA.impl.FMEAPackageImpl#getFIBEX()
+		 * @generated
+		 */
+		EClass FIBEX = eINSTANCE.getFIBEX();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Comment</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference FIBEX__BASE_COMMENT = eINSTANCE.getFIBEX_Base_Comment();
+
+		/**
+		 * The meta object literal for the '<em><b>Config</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute FIBEX__CONFIG = eINSTANCE.getFIBEX_Config();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Dependability.FMEA.impl.FMEAAnalysisImpl <em>Analysis</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.FMEA.impl.FMEAAnalysisImpl
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.FMEA.impl.FMEAPackageImpl#getFMEAAnalysis()
+		 * @generated
+		 */
+		EClass FMEA_ANALYSIS = eINSTANCE.getFMEAAnalysis();
+
+		/**
+		 * The meta object literal for the '<em><b>Error Type</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference FMEA_ANALYSIS__ERROR_TYPE = eINSTANCE.getFMEAAnalysis_ErrorType();
+
+		/**
+		 * The meta object literal for the '<em><b>Simulation Runs</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute FMEA_ANALYSIS__SIMULATION_RUNS = eINSTANCE.getFMEAAnalysis_SimulationRuns();
+
+		/**
+		 * The meta object literal for the '<em><b>Analysis Type</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute FMEA_ANALYSIS__ANALYSIS_TYPE = eINSTANCE.getFMEAAnalysis_AnalysisType();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Dependability.FMEA.impl.ErrorModelAssignImpl <em>Error Model Assign</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.FMEA.impl.ErrorModelAssignImpl
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.FMEA.impl.FMEAPackageImpl#getErrorModelAssign()
+		 * @generated
+		 */
+		EClass ERROR_MODEL_ASSIGN = eINSTANCE.getErrorModelAssign();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Comment</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ERROR_MODEL_ASSIGN__BASE_COMMENT = eINSTANCE.getErrorModelAssign_Base_Comment();
+
+		/**
+		 * The meta object literal for the '<em><b>From</b></em>' reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ERROR_MODEL_ASSIGN__FROM = eINSTANCE.getErrorModelAssign_From();
+
+		/**
+		 * The meta object literal for the '<em><b>To</b></em>' reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ERROR_MODEL_ASSIGN__TO = eINSTANCE.getErrorModelAssign_To();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEAAnalysisType <em>Analysis Type</em>}' enum.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEAAnalysisType
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.FMEA.impl.FMEAPackageImpl#getFMEAAnalysisType()
+		 * @generated
+		 */
+		EEnum FMEA_ANALYSIS_TYPE = eINSTANCE.getFMEAAnalysisType();
+
+	}
+
+} //FMEAPackage
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FMEA/impl/ErrorModelAssignImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FMEA/impl/ErrorModelAssignImpl.java
new file mode 100644
index 000000000..f6dc55834
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FMEA/impl/ErrorModelAssignImpl.java
@@ -0,0 +1,239 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.FMEA.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Slot;
+import org.eclipse.uml2.uml.StateMachine;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.ErrorModelAssign;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEAPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ErrorModel;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Error Model Assign</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.FMEA.impl.ErrorModelAssignImpl#getBase_Comment <em>Base Comment</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.FMEA.impl.ErrorModelAssignImpl#getFrom <em>From</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.FMEA.impl.ErrorModelAssignImpl#getTo <em>To</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ErrorModelAssignImpl extends EObjectImpl implements ErrorModelAssign {
+	/**
+	 * The cached value of the '{@link #getBase_Comment() <em>Base Comment</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBase_Comment()
+	 * @generated
+	 * @ordered
+	 */
+	protected Comment base_Comment;
+
+	/**
+	 * The cached value of the '{@link #getFrom() <em>From</em>}' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getFrom()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<ErrorModel> from;
+
+	/**
+	 * The cached value of the '{@link #getTo() <em>To</em>}' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getTo()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<Slot> to;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ErrorModelAssignImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return FMEAPackage.Literals.ERROR_MODEL_ASSIGN;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Comment getBase_Comment() {
+		if (base_Comment != null && base_Comment.eIsProxy()) {
+			InternalEObject oldBase_Comment = (InternalEObject)base_Comment;
+			base_Comment = (Comment)eResolveProxy(oldBase_Comment);
+			if (base_Comment != oldBase_Comment) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, FMEAPackage.ERROR_MODEL_ASSIGN__BASE_COMMENT, oldBase_Comment, base_Comment));
+			}
+		}
+		return base_Comment;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Comment basicGetBase_Comment() {
+		return base_Comment;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setBase_Comment(Comment newBase_Comment) {
+		Comment oldBase_Comment = base_Comment;
+		base_Comment = newBase_Comment;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, FMEAPackage.ERROR_MODEL_ASSIGN__BASE_COMMENT, oldBase_Comment, base_Comment));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<ErrorModel> getFrom() {
+		if (from == null) {
+			from = new EObjectResolvingEList<ErrorModel>(ErrorModel.class, this, FMEAPackage.ERROR_MODEL_ASSIGN__FROM);
+		}
+		return from;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<Slot> getTo() {
+		if (to == null) {
+			to = new EObjectResolvingEList<Slot>(Slot.class, this, FMEAPackage.ERROR_MODEL_ASSIGN__TO);
+		}
+		return to;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case FMEAPackage.ERROR_MODEL_ASSIGN__BASE_COMMENT:
+				if (resolve) return getBase_Comment();
+				return basicGetBase_Comment();
+			case FMEAPackage.ERROR_MODEL_ASSIGN__FROM:
+				return getFrom();
+			case FMEAPackage.ERROR_MODEL_ASSIGN__TO:
+				return getTo();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case FMEAPackage.ERROR_MODEL_ASSIGN__BASE_COMMENT:
+				setBase_Comment((Comment)newValue);
+				return;
+			case FMEAPackage.ERROR_MODEL_ASSIGN__FROM:
+				getFrom().clear();
+				getFrom().addAll((Collection<? extends ErrorModel>)newValue);
+				return;
+			case FMEAPackage.ERROR_MODEL_ASSIGN__TO:
+				getTo().clear();
+				getTo().addAll((Collection<? extends Slot>)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case FMEAPackage.ERROR_MODEL_ASSIGN__BASE_COMMENT:
+				setBase_Comment((Comment)null);
+				return;
+			case FMEAPackage.ERROR_MODEL_ASSIGN__FROM:
+				getFrom().clear();
+				return;
+			case FMEAPackage.ERROR_MODEL_ASSIGN__TO:
+				getTo().clear();
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case FMEAPackage.ERROR_MODEL_ASSIGN__BASE_COMMENT:
+				return base_Comment != null;
+			case FMEAPackage.ERROR_MODEL_ASSIGN__FROM:
+				return from != null && !from.isEmpty();
+			case FMEAPackage.ERROR_MODEL_ASSIGN__TO:
+				return to != null && !to.isEmpty();
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //ErrorModelAssignImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FMEA/impl/FIBEXImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FMEA/impl/FIBEXImpl.java
new file mode 100644
index 000000000..ab4983614
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FMEA/impl/FIBEXImpl.java
@@ -0,0 +1,231 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.FMEA.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.uml2.uml.Comment;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.FIBEX;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEAPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>FIBEX</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.FMEA.impl.FIBEXImpl#getBase_Comment <em>Base Comment</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.FMEA.impl.FIBEXImpl#getConfig <em>Config</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class FIBEXImpl extends EObjectImpl implements FIBEX {
+	/**
+	 * The cached value of the '{@link #getBase_Comment() <em>Base Comment</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBase_Comment()
+	 * @generated
+	 * @ordered
+	 */
+	protected Comment base_Comment;
+
+	/**
+	 * The default value of the '{@link #getConfig() <em>Config</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getConfig()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String CONFIG_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getConfig() <em>Config</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getConfig()
+	 * @generated
+	 * @ordered
+	 */
+	protected String config = CONFIG_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected FIBEXImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return FMEAPackage.Literals.FIBEX;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Comment getBase_Comment() {
+		if (base_Comment != null && base_Comment.eIsProxy()) {
+			InternalEObject oldBase_Comment = (InternalEObject)base_Comment;
+			base_Comment = (Comment)eResolveProxy(oldBase_Comment);
+			if (base_Comment != oldBase_Comment) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, FMEAPackage.FIBEX__BASE_COMMENT, oldBase_Comment, base_Comment));
+			}
+		}
+		return base_Comment;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Comment basicGetBase_Comment() {
+		return base_Comment;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setBase_Comment(Comment newBase_Comment) {
+		Comment oldBase_Comment = base_Comment;
+		base_Comment = newBase_Comment;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, FMEAPackage.FIBEX__BASE_COMMENT, oldBase_Comment, base_Comment));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getConfig() {
+		return config;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setConfig(String newConfig) {
+		String oldConfig = config;
+		config = newConfig;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, FMEAPackage.FIBEX__CONFIG, oldConfig, config));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case FMEAPackage.FIBEX__BASE_COMMENT:
+				if (resolve) return getBase_Comment();
+				return basicGetBase_Comment();
+			case FMEAPackage.FIBEX__CONFIG:
+				return getConfig();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case FMEAPackage.FIBEX__BASE_COMMENT:
+				setBase_Comment((Comment)newValue);
+				return;
+			case FMEAPackage.FIBEX__CONFIG:
+				setConfig((String)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case FMEAPackage.FIBEX__BASE_COMMENT:
+				setBase_Comment((Comment)null);
+				return;
+			case FMEAPackage.FIBEX__CONFIG:
+				setConfig(CONFIG_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case FMEAPackage.FIBEX__BASE_COMMENT:
+				return base_Comment != null;
+			case FMEAPackage.FIBEX__CONFIG:
+				return CONFIG_EDEFAULT == null ? config != null : !CONFIG_EDEFAULT.equals(config);
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (config: ");
+		result.append(config);
+		result.append(')');
+		return result.toString();
+	}
+
+} //FIBEXImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FMEA/impl/FMEAAnalysisImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FMEA/impl/FMEAAnalysisImpl.java
new file mode 100644
index 000000000..2563ae5fc
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FMEA/impl/FMEAAnalysisImpl.java
@@ -0,0 +1,285 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.FMEA.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.GQAM.impl.GaAnalysisContextImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEAAnalysis;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEAPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatState;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Analysis</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.FMEA.impl.FMEAAnalysisImpl#getErrorType <em>Error Type</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.FMEA.impl.FMEAAnalysisImpl#getSimulationRuns <em>Simulation Runs</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.FMEA.impl.FMEAAnalysisImpl#getAnalysisType <em>Analysis Type</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class FMEAAnalysisImpl extends GaAnalysisContextImpl implements FMEAAnalysis {
+	/**
+	 * The cached value of the '{@link #getErrorType() <em>Error Type</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getErrorType()
+	 * @generated
+	 * @ordered
+	 */
+	protected ThreatState errorType;
+
+	/**
+	 * The default value of the '{@link #getSimulationRuns() <em>Simulation Runs</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getSimulationRuns()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int SIMULATION_RUNS_EDEFAULT = 0;
+
+	/**
+	 * The cached value of the '{@link #getSimulationRuns() <em>Simulation Runs</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getSimulationRuns()
+	 * @generated
+	 * @ordered
+	 */
+	protected int simulationRuns = SIMULATION_RUNS_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getAnalysisType() <em>Analysis Type</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getAnalysisType()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String ANALYSIS_TYPE_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getAnalysisType() <em>Analysis Type</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getAnalysisType()
+	 * @generated
+	 * @ordered
+	 */
+	protected String analysisType = ANALYSIS_TYPE_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected FMEAAnalysisImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return FMEAPackage.Literals.FMEA_ANALYSIS;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ThreatState getErrorType() {
+		if (errorType != null && errorType.eIsProxy()) {
+			InternalEObject oldErrorType = (InternalEObject)errorType;
+			errorType = (ThreatState)eResolveProxy(oldErrorType);
+			if (errorType != oldErrorType) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, FMEAPackage.FMEA_ANALYSIS__ERROR_TYPE, oldErrorType, errorType));
+			}
+		}
+		return errorType;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ThreatState basicGetErrorType() {
+		return errorType;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setErrorType(ThreatState newErrorType) {
+		ThreatState oldErrorType = errorType;
+		errorType = newErrorType;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, FMEAPackage.FMEA_ANALYSIS__ERROR_TYPE, oldErrorType, errorType));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public int getSimulationRuns() {
+		return simulationRuns;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setSimulationRuns(int newSimulationRuns) {
+		int oldSimulationRuns = simulationRuns;
+		simulationRuns = newSimulationRuns;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, FMEAPackage.FMEA_ANALYSIS__SIMULATION_RUNS, oldSimulationRuns, simulationRuns));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getAnalysisType() {
+		return analysisType;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setAnalysisType(String newAnalysisType) {
+		String oldAnalysisType = analysisType;
+		analysisType = newAnalysisType;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, FMEAPackage.FMEA_ANALYSIS__ANALYSIS_TYPE, oldAnalysisType, analysisType));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case FMEAPackage.FMEA_ANALYSIS__ERROR_TYPE:
+				if (resolve) return getErrorType();
+				return basicGetErrorType();
+			case FMEAPackage.FMEA_ANALYSIS__SIMULATION_RUNS:
+				return getSimulationRuns();
+			case FMEAPackage.FMEA_ANALYSIS__ANALYSIS_TYPE:
+				return getAnalysisType();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case FMEAPackage.FMEA_ANALYSIS__ERROR_TYPE:
+				setErrorType((ThreatState)newValue);
+				return;
+			case FMEAPackage.FMEA_ANALYSIS__SIMULATION_RUNS:
+				setSimulationRuns((Integer)newValue);
+				return;
+			case FMEAPackage.FMEA_ANALYSIS__ANALYSIS_TYPE:
+				setAnalysisType((String)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case FMEAPackage.FMEA_ANALYSIS__ERROR_TYPE:
+				setErrorType((ThreatState)null);
+				return;
+			case FMEAPackage.FMEA_ANALYSIS__SIMULATION_RUNS:
+				setSimulationRuns(SIMULATION_RUNS_EDEFAULT);
+				return;
+			case FMEAPackage.FMEA_ANALYSIS__ANALYSIS_TYPE:
+				setAnalysisType(ANALYSIS_TYPE_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case FMEAPackage.FMEA_ANALYSIS__ERROR_TYPE:
+				return errorType != null;
+			case FMEAPackage.FMEA_ANALYSIS__SIMULATION_RUNS:
+				return simulationRuns != SIMULATION_RUNS_EDEFAULT;
+			case FMEAPackage.FMEA_ANALYSIS__ANALYSIS_TYPE:
+				return ANALYSIS_TYPE_EDEFAULT == null ? analysisType != null : !ANALYSIS_TYPE_EDEFAULT.equals(analysisType);
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (simulationRuns: ");
+		result.append(simulationRuns);
+		result.append(", analysisType: ");
+		result.append(analysisType);
+		result.append(')');
+		return result.toString();
+	}
+
+} //FMEAAnalysisImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FMEA/impl/FMEAFactoryImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FMEA/impl/FMEAFactoryImpl.java
new file mode 100644
index 000000000..8d877c1b8
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FMEA/impl/FMEAFactoryImpl.java
@@ -0,0 +1,174 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.FMEA.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class FMEAFactoryImpl extends EFactoryImpl implements FMEAFactory {
+	/**
+	 * Creates the default factory implementation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static FMEAFactory init() {
+		try {
+			FMEAFactory theFMEAFactory = (FMEAFactory)EPackage.Registry.INSTANCE.getEFactory(FMEAPackage.eNS_URI);
+			if (theFMEAFactory != null) {
+				return theFMEAFactory;
+			}
+		}
+		catch (Exception exception) {
+			EcorePlugin.INSTANCE.log(exception);
+		}
+		return new FMEAFactoryImpl();
+	}
+
+	/**
+	 * Creates an instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public FMEAFactoryImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EObject create(EClass eClass) {
+		switch (eClass.getClassifierID()) {
+			case FMEAPackage.FIBEX: return createFIBEX();
+			case FMEAPackage.FMEA_ANALYSIS: return createFMEAAnalysis();
+			case FMEAPackage.ERROR_MODEL_ASSIGN: return createErrorModelAssign();
+			default:
+				throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object createFromString(EDataType eDataType, String initialValue) {
+		switch (eDataType.getClassifierID()) {
+			case FMEAPackage.FMEA_ANALYSIS_TYPE:
+				return createFMEAAnalysisTypeFromString(eDataType, initialValue);
+			default:
+				throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String convertToString(EDataType eDataType, Object instanceValue) {
+		switch (eDataType.getClassifierID()) {
+			case FMEAPackage.FMEA_ANALYSIS_TYPE:
+				return convertFMEAAnalysisTypeToString(eDataType, instanceValue);
+			default:
+				throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public FIBEX createFIBEX() {
+		FIBEXImpl fibex = new FIBEXImpl();
+		return fibex;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public FMEAAnalysis createFMEAAnalysis() {
+		FMEAAnalysisImpl fmeaAnalysis = new FMEAAnalysisImpl();
+		return fmeaAnalysis;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ErrorModelAssign createErrorModelAssign() {
+		ErrorModelAssignImpl errorModelAssign = new ErrorModelAssignImpl();
+		return errorModelAssign;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public FMEAAnalysisType createFMEAAnalysisTypeFromString(EDataType eDataType, String initialValue) {
+		FMEAAnalysisType result = FMEAAnalysisType.get(initialValue);
+		if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+		return result;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String convertFMEAAnalysisTypeToString(EDataType eDataType, Object instanceValue) {
+		return instanceValue == null ? null : instanceValue.toString();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public FMEAPackage getFMEAPackage() {
+		return (FMEAPackage)getEPackage();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @deprecated
+	 * @generated
+	 */
+	@Deprecated
+	public static FMEAPackage getPackage() {
+		return FMEAPackage.eINSTANCE;
+	}
+
+} //FMEAFactoryImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FMEA/impl/FMEAPackageImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FMEA/impl/FMEAPackageImpl.java
new file mode 100644
index 000000000..f90ba2d4c
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FMEA/impl/FMEAPackageImpl.java
@@ -0,0 +1,473 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.FMEA.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EEnum;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+import org.eclipse.papyrus.MARTE.MARTEPackage;
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.GQAM.GQAMPackage;
+import org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.BasicNFP_TypesPackage;
+import org.eclipse.papyrus.MARTE_Library.GRM_BasicTypes.GRM_BasicTypesPackage;
+import org.eclipse.papyrus.MARTE_Library.MARTE_DataTypes.MARTE_DataTypesPackage;
+import org.eclipse.papyrus.MARTE_Library.MARTE_PrimitivesTypes.MARTE_PrimitivesTypesPackage;
+import org.eclipse.papyrus.MARTE_Library.MeasurementUnits.MeasurementUnitsPackage;
+import org.eclipse.papyrus.MARTE_Library.RS_Library.RS_LibraryPackage;
+import org.eclipse.papyrus.MARTE_Library.TimeLibrary.TimeLibraryPackage;
+import org.eclipse.papyrus.MARTE_Library.TimeTypesLibrary.TimeTypesLibraryPackage;
+import org.eclipse.uml2.types.TypesPackage;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.polarsys.chess.chessmlprofile.chessmlprofilePackage;
+import org.polarsys.chess.chessmlprofile.ComponentModel.ComponentModelPackage;
+import org.polarsys.chess.chessmlprofile.ComponentModel.impl.ComponentModelPackageImpl;
+import org.polarsys.chess.chessmlprofile.Core.CorePackage;
+import org.polarsys.chess.chessmlprofile.Core.CHESSViews.CHESSViewsPackage;
+import org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl.CHESSViewsPackageImpl;
+import org.polarsys.chess.chessmlprofile.Core.impl.CorePackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.DataFlowCallGraph.DataFlowCallGraphPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.DataFlowCallGraph.impl.DataFlowCallGraphPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.DependableComponentPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.impl.DependableComponentPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.ErrorModelAssign;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEAAnalysis;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEAAnalysisType;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEAFactory;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEAPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEADataTypes.FMEADataTypesPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEADataTypes.impl.FMEADataTypesPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.FailurePropagationDataTypesPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.impl.FailurePropagationDataTypesPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl.FailurePropagationPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans.MitigationMeansPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans.impl.MitigationMeansPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.FaultTolerancePackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.impl.FaultTolerancePackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.MaintenanceMonitoringPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.impl.MaintenanceMonitoringPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.StateBasedAnalysisPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.impl.StateBasedAnalysisPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StateBasedComponentsPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.impl.StateBasedComponentsPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.StateBasedDataTypesPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.impl.StateBasedDataTypesPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatsPropagationPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.ThreatsPropagationPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.DeploymentConfAnalysisPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.impl.DeploymentConfAnalysisPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HardwareBaselinePackage;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.HardwareBaselinePackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTComponentModelPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.RTDataTypesPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.impl.RTDataTypesPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.impl.RTComponentModelPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingAnalysisPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.TimingConstraintsPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.impl.TimingConstraintsPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.impl.TimingAnalysisPackageImpl;
+import org.polarsys.chess.chessmlprofile.impl.chessmlprofilePackageImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class FMEAPackageImpl extends EPackageImpl implements FMEAPackage {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass fibexEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass fmeaAnalysisEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass errorModelAssignEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EEnum fmeaAnalysisTypeEEnum = null;
+
+	/**
+	 * Creates an instance of the model <b>Package</b>, registered with
+	 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+	 * package URI value.
+	 * <p>Note: the correct way to create the package is via the static
+	 * factory method {@link #init init()}, which also performs
+	 * initialization of the package, or returns the registered package,
+	 * if one already exists.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.emf.ecore.EPackage.Registry
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEAPackage#eNS_URI
+	 * @see #init()
+	 * @generated
+	 */
+	private FMEAPackageImpl() {
+		super(eNS_URI, FMEAFactory.eINSTANCE);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static boolean isInited = false;
+
+	/**
+	 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+	 * 
+	 * <p>This method is used to initialize {@link FMEAPackage#eINSTANCE} when that field is accessed.
+	 * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #eNS_URI
+	 * @see #createPackageContents()
+	 * @see #initializePackageContents()
+	 * @generated
+	 */
+	public static FMEAPackage init() {
+		if (isInited) return (FMEAPackage)EPackage.Registry.INSTANCE.getEPackage(FMEAPackage.eNS_URI);
+
+		// Obtain or create and register package
+		FMEAPackageImpl theFMEAPackage = (FMEAPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof FMEAPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new FMEAPackageImpl());
+
+		isInited = true;
+
+		// Initialize simple dependencies
+		MARTEPackage.eINSTANCE.eClass();
+		MeasurementUnitsPackage.eINSTANCE.eClass();
+		GRM_BasicTypesPackage.eINSTANCE.eClass();
+		MARTE_DataTypesPackage.eINSTANCE.eClass();
+		BasicNFP_TypesPackage.eINSTANCE.eClass();
+		TimeTypesLibraryPackage.eINSTANCE.eClass();
+		TimeLibraryPackage.eINSTANCE.eClass();
+		RS_LibraryPackage.eINSTANCE.eClass();
+		MARTE_PrimitivesTypesPackage.eINSTANCE.eClass();
+		BasicNFP_TypesPackage.eINSTANCE.eClass();
+
+		// Obtain or create and register interdependencies
+		chessmlprofilePackageImpl thechessmlprofilePackage = (chessmlprofilePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(chessmlprofilePackage.eNS_URI) instanceof chessmlprofilePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(chessmlprofilePackage.eNS_URI) : chessmlprofilePackage.eINSTANCE);
+		CorePackageImpl theCorePackage = (CorePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(CorePackage.eNS_URI) instanceof CorePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(CorePackage.eNS_URI) : CorePackage.eINSTANCE);
+		CHESSViewsPackageImpl theCHESSViewsPackage = (CHESSViewsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(CHESSViewsPackage.eNS_URI) instanceof CHESSViewsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(CHESSViewsPackage.eNS_URI) : CHESSViewsPackage.eINSTANCE);
+		FailurePropagationPackageImpl theFailurePropagationPackage = (FailurePropagationPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FailurePropagationPackage.eNS_URI) instanceof FailurePropagationPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FailurePropagationPackage.eNS_URI) : FailurePropagationPackage.eINSTANCE);
+		FailurePropagationDataTypesPackageImpl theFailurePropagationDataTypesPackage = (FailurePropagationDataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FailurePropagationDataTypesPackage.eNS_URI) instanceof FailurePropagationDataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FailurePropagationDataTypesPackage.eNS_URI) : FailurePropagationDataTypesPackage.eINSTANCE);
+		DependableComponentPackageImpl theDependableComponentPackage = (DependableComponentPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DependableComponentPackage.eNS_URI) instanceof DependableComponentPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DependableComponentPackage.eNS_URI) : DependableComponentPackage.eINSTANCE);
+		ThreatsPropagationPackageImpl theThreatsPropagationPackage = (ThreatsPropagationPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ThreatsPropagationPackage.eNS_URI) instanceof ThreatsPropagationPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ThreatsPropagationPackage.eNS_URI) : ThreatsPropagationPackage.eINSTANCE);
+		DataFlowCallGraphPackageImpl theDataFlowCallGraphPackage = (DataFlowCallGraphPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DataFlowCallGraphPackage.eNS_URI) instanceof DataFlowCallGraphPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DataFlowCallGraphPackage.eNS_URI) : DataFlowCallGraphPackage.eINSTANCE);
+		StateBasedDataTypesPackageImpl theStateBasedDataTypesPackage = (StateBasedDataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(StateBasedDataTypesPackage.eNS_URI) instanceof StateBasedDataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(StateBasedDataTypesPackage.eNS_URI) : StateBasedDataTypesPackage.eINSTANCE);
+		StateBasedComponentsPackageImpl theStateBasedComponentsPackage = (StateBasedComponentsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(StateBasedComponentsPackage.eNS_URI) instanceof StateBasedComponentsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(StateBasedComponentsPackage.eNS_URI) : StateBasedComponentsPackage.eINSTANCE);
+		FaultTolerancePackageImpl theFaultTolerancePackage = (FaultTolerancePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FaultTolerancePackage.eNS_URI) instanceof FaultTolerancePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FaultTolerancePackage.eNS_URI) : FaultTolerancePackage.eINSTANCE);
+		MaintenanceMonitoringPackageImpl theMaintenanceMonitoringPackage = (MaintenanceMonitoringPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(MaintenanceMonitoringPackage.eNS_URI) instanceof MaintenanceMonitoringPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(MaintenanceMonitoringPackage.eNS_URI) : MaintenanceMonitoringPackage.eINSTANCE);
+		StateBasedAnalysisPackageImpl theStateBasedAnalysisPackage = (StateBasedAnalysisPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(StateBasedAnalysisPackage.eNS_URI) instanceof StateBasedAnalysisPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(StateBasedAnalysisPackage.eNS_URI) : StateBasedAnalysisPackage.eINSTANCE);
+		FMEADataTypesPackageImpl theFMEADataTypesPackage = (FMEADataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FMEADataTypesPackage.eNS_URI) instanceof FMEADataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FMEADataTypesPackage.eNS_URI) : FMEADataTypesPackage.eINSTANCE);
+		MitigationMeansPackageImpl theMitigationMeansPackage = (MitigationMeansPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(MitigationMeansPackage.eNS_URI) instanceof MitigationMeansPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(MitigationMeansPackage.eNS_URI) : MitigationMeansPackage.eINSTANCE);
+		TimingAnalysisPackageImpl theTimingAnalysisPackage = (TimingAnalysisPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimingAnalysisPackage.eNS_URI) instanceof TimingAnalysisPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimingAnalysisPackage.eNS_URI) : TimingAnalysisPackage.eINSTANCE);
+		TimingConstraintsPackageImpl theTimingConstraintsPackage = (TimingConstraintsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimingConstraintsPackage.eNS_URI) instanceof TimingConstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimingConstraintsPackage.eNS_URI) : TimingConstraintsPackage.eINSTANCE);
+		HardwareBaselinePackageImpl theHardwareBaselinePackage = (HardwareBaselinePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HardwareBaselinePackage.eNS_URI) instanceof HardwareBaselinePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HardwareBaselinePackage.eNS_URI) : HardwareBaselinePackage.eINSTANCE);
+		DeploymentConfAnalysisPackageImpl theDeploymentConfAnalysisPackage = (DeploymentConfAnalysisPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DeploymentConfAnalysisPackage.eNS_URI) instanceof DeploymentConfAnalysisPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DeploymentConfAnalysisPackage.eNS_URI) : DeploymentConfAnalysisPackage.eINSTANCE);
+		RTComponentModelPackageImpl theRTComponentModelPackage = (RTComponentModelPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RTComponentModelPackage.eNS_URI) instanceof RTComponentModelPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RTComponentModelPackage.eNS_URI) : RTComponentModelPackage.eINSTANCE);
+		RTDataTypesPackageImpl theRTDataTypesPackage = (RTDataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RTDataTypesPackage.eNS_URI) instanceof RTDataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RTDataTypesPackage.eNS_URI) : RTDataTypesPackage.eINSTANCE);
+		ComponentModelPackageImpl theComponentModelPackage = (ComponentModelPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ComponentModelPackage.eNS_URI) instanceof ComponentModelPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ComponentModelPackage.eNS_URI) : ComponentModelPackage.eINSTANCE);
+
+		// Create package meta-data objects
+		theFMEAPackage.createPackageContents();
+		thechessmlprofilePackage.createPackageContents();
+		theCorePackage.createPackageContents();
+		theCHESSViewsPackage.createPackageContents();
+		theFailurePropagationPackage.createPackageContents();
+		theFailurePropagationDataTypesPackage.createPackageContents();
+		theDependableComponentPackage.createPackageContents();
+		theThreatsPropagationPackage.createPackageContents();
+		theDataFlowCallGraphPackage.createPackageContents();
+		theStateBasedDataTypesPackage.createPackageContents();
+		theStateBasedComponentsPackage.createPackageContents();
+		theFaultTolerancePackage.createPackageContents();
+		theMaintenanceMonitoringPackage.createPackageContents();
+		theStateBasedAnalysisPackage.createPackageContents();
+		theFMEADataTypesPackage.createPackageContents();
+		theMitigationMeansPackage.createPackageContents();
+		theTimingAnalysisPackage.createPackageContents();
+		theTimingConstraintsPackage.createPackageContents();
+		theHardwareBaselinePackage.createPackageContents();
+		theDeploymentConfAnalysisPackage.createPackageContents();
+		theRTComponentModelPackage.createPackageContents();
+		theRTDataTypesPackage.createPackageContents();
+		theComponentModelPackage.createPackageContents();
+
+		// Initialize created meta-data
+		theFMEAPackage.initializePackageContents();
+		thechessmlprofilePackage.initializePackageContents();
+		theCorePackage.initializePackageContents();
+		theCHESSViewsPackage.initializePackageContents();
+		theFailurePropagationPackage.initializePackageContents();
+		theFailurePropagationDataTypesPackage.initializePackageContents();
+		theDependableComponentPackage.initializePackageContents();
+		theThreatsPropagationPackage.initializePackageContents();
+		theDataFlowCallGraphPackage.initializePackageContents();
+		theStateBasedDataTypesPackage.initializePackageContents();
+		theStateBasedComponentsPackage.initializePackageContents();
+		theFaultTolerancePackage.initializePackageContents();
+		theMaintenanceMonitoringPackage.initializePackageContents();
+		theStateBasedAnalysisPackage.initializePackageContents();
+		theFMEADataTypesPackage.initializePackageContents();
+		theMitigationMeansPackage.initializePackageContents();
+		theTimingAnalysisPackage.initializePackageContents();
+		theTimingConstraintsPackage.initializePackageContents();
+		theHardwareBaselinePackage.initializePackageContents();
+		theDeploymentConfAnalysisPackage.initializePackageContents();
+		theRTComponentModelPackage.initializePackageContents();
+		theRTDataTypesPackage.initializePackageContents();
+		theComponentModelPackage.initializePackageContents();
+
+		// Mark meta-data to indicate it can't be changed
+		theFMEAPackage.freeze();
+
+  
+		// Update the registry and return the package
+		EPackage.Registry.INSTANCE.put(FMEAPackage.eNS_URI, theFMEAPackage);
+		return theFMEAPackage;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getFIBEX() {
+		return fibexEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getFIBEX_Base_Comment() {
+		return (EReference)fibexEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getFIBEX_Config() {
+		return (EAttribute)fibexEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getFMEAAnalysis() {
+		return fmeaAnalysisEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getFMEAAnalysis_ErrorType() {
+		return (EReference)fmeaAnalysisEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getFMEAAnalysis_SimulationRuns() {
+		return (EAttribute)fmeaAnalysisEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getFMEAAnalysis_AnalysisType() {
+		return (EAttribute)fmeaAnalysisEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getErrorModelAssign() {
+		return errorModelAssignEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getErrorModelAssign_Base_Comment() {
+		return (EReference)errorModelAssignEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getErrorModelAssign_From() {
+		return (EReference)errorModelAssignEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getErrorModelAssign_To() {
+		return (EReference)errorModelAssignEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EEnum getFMEAAnalysisType() {
+		return fmeaAnalysisTypeEEnum;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public FMEAFactory getFMEAFactory() {
+		return (FMEAFactory)getEFactoryInstance();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isCreated = false;
+
+	/**
+	 * Creates the meta-model objects for the package.  This method is
+	 * guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void createPackageContents() {
+		if (isCreated) return;
+		isCreated = true;
+
+		// Create classes and their features
+		fibexEClass = createEClass(FIBEX);
+		createEReference(fibexEClass, FIBEX__BASE_COMMENT);
+		createEAttribute(fibexEClass, FIBEX__CONFIG);
+
+		fmeaAnalysisEClass = createEClass(FMEA_ANALYSIS);
+		createEReference(fmeaAnalysisEClass, FMEA_ANALYSIS__ERROR_TYPE);
+		createEAttribute(fmeaAnalysisEClass, FMEA_ANALYSIS__SIMULATION_RUNS);
+		createEAttribute(fmeaAnalysisEClass, FMEA_ANALYSIS__ANALYSIS_TYPE);
+
+		errorModelAssignEClass = createEClass(ERROR_MODEL_ASSIGN);
+		createEReference(errorModelAssignEClass, ERROR_MODEL_ASSIGN__BASE_COMMENT);
+		createEReference(errorModelAssignEClass, ERROR_MODEL_ASSIGN__FROM);
+		createEReference(errorModelAssignEClass, ERROR_MODEL_ASSIGN__TO);
+
+		// Create enums
+		fmeaAnalysisTypeEEnum = createEEnum(FMEA_ANALYSIS_TYPE);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isInitialized = false;
+
+	/**
+	 * Complete the initialization of the package and its meta-model.  This
+	 * method is guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void initializePackageContents() {
+		if (isInitialized) return;
+		isInitialized = true;
+
+		// Initialize package
+		setName(eNAME);
+		setNsPrefix(eNS_PREFIX);
+		setNsURI(eNS_URI);
+
+		// Obtain other dependent packages
+		FMEADataTypesPackage theFMEADataTypesPackage = (FMEADataTypesPackage)EPackage.Registry.INSTANCE.getEPackage(FMEADataTypesPackage.eNS_URI);
+		UMLPackage theUMLPackage = (UMLPackage)EPackage.Registry.INSTANCE.getEPackage(UMLPackage.eNS_URI);
+		TypesPackage theTypesPackage = (TypesPackage)EPackage.Registry.INSTANCE.getEPackage(TypesPackage.eNS_URI);
+		GQAMPackage theGQAMPackage = (GQAMPackage)EPackage.Registry.INSTANCE.getEPackage(GQAMPackage.eNS_URI);
+		ThreatsPropagationPackage theThreatsPropagationPackage = (ThreatsPropagationPackage)EPackage.Registry.INSTANCE.getEPackage(ThreatsPropagationPackage.eNS_URI);
+
+		// Add subpackages
+		getESubpackages().add(theFMEADataTypesPackage);
+
+		// Create type parameters
+
+		// Set bounds for type parameters
+
+		// Add supertypes to classes
+		fmeaAnalysisEClass.getESuperTypes().add(theGQAMPackage.getGaAnalysisContext());
+
+		// Initialize classes and features; add operations and parameters
+		initEClass(fibexEClass, org.polarsys.chess.chessmlprofile.Dependability.FMEA.FIBEX.class, "FIBEX", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getFIBEX_Base_Comment(), theUMLPackage.getComment(), null, "base_Comment", null, 1, 1, org.polarsys.chess.chessmlprofile.Dependability.FMEA.FIBEX.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getFIBEX_Config(), theTypesPackage.getString(), "config", null, 1, 1, org.polarsys.chess.chessmlprofile.Dependability.FMEA.FIBEX.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+		initEClass(fmeaAnalysisEClass, FMEAAnalysis.class, "FMEAAnalysis", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getFMEAAnalysis_ErrorType(), theThreatsPropagationPackage.getThreatState(), null, "errorType", null, 0, 1, FMEAAnalysis.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getFMEAAnalysis_SimulationRuns(), theTypesPackage.getInteger(), "simulationRuns", null, 1, 1, FMEAAnalysis.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getFMEAAnalysis_AnalysisType(), theTypesPackage.getString(), "analysisType", null, 1, 1, FMEAAnalysis.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+		initEClass(errorModelAssignEClass, ErrorModelAssign.class, "ErrorModelAssign", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getErrorModelAssign_Base_Comment(), theUMLPackage.getComment(), null, "base_Comment", null, 1, 1, ErrorModelAssign.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEReference(getErrorModelAssign_From(), theThreatsPropagationPackage.getErrorModel(), null, "from", null, 1, -1, ErrorModelAssign.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEReference(getErrorModelAssign_To(), theUMLPackage.getSlot(), null, "to", null, 1, -1, ErrorModelAssign.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+		// Initialize enums and add enum literals
+		initEEnum(fmeaAnalysisTypeEEnum, FMEAAnalysisType.class, "FMEAAnalysisType");
+		addEEnumLiteral(fmeaAnalysisTypeEEnum, FMEAAnalysisType.FRAME);
+		addEEnumLiteral(fmeaAnalysisTypeEEnum, FMEAAnalysisType.SYSTEM);
+	}
+
+} //FMEAPackageImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FMEA/util/FMEAAdapterFactory.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FMEA/util/FMEAAdapterFactory.java
new file mode 100644
index 000000000..9d1ee448b
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FMEA/util/FMEAAdapterFactory.java
@@ -0,0 +1,219 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.FMEA.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.GQAM.GaAnalysisContext;
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.ExpressionContext;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.CoreElements.Configuration;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEAPackage
+ * @generated
+ */
+public class FMEAAdapterFactory extends AdapterFactoryImpl {
+	/**
+	 * The cached model package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static FMEAPackage modelPackage;
+
+	/**
+	 * Creates an instance of the adapter factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public FMEAAdapterFactory() {
+		if (modelPackage == null) {
+			modelPackage = FMEAPackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Returns whether this factory is applicable for the type of the object.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+	 * <!-- end-user-doc -->
+	 * @return whether this factory is applicable for the type of the object.
+	 * @generated
+	 */
+	@Override
+	public boolean isFactoryForType(Object object) {
+		if (object == modelPackage) {
+			return true;
+		}
+		if (object instanceof EObject) {
+			return ((EObject)object).eClass().getEPackage() == modelPackage;
+		}
+		return false;
+	}
+
+	/**
+	 * The switch that delegates to the <code>createXXX</code> methods.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected FMEASwitch<Adapter> modelSwitch =
+		new FMEASwitch<Adapter>() {
+			@Override
+			public Adapter caseFIBEX(FIBEX object) {
+				return createFIBEXAdapter();
+			}
+			@Override
+			public Adapter caseFMEAAnalysis(FMEAAnalysis object) {
+				return createFMEAAnalysisAdapter();
+			}
+			@Override
+			public Adapter caseErrorModelAssign(ErrorModelAssign object) {
+				return createErrorModelAssignAdapter();
+			}
+			@Override
+			public Adapter caseConfiguration(Configuration object) {
+				return createConfigurationAdapter();
+			}
+			@Override
+			public Adapter caseExpressionContext(ExpressionContext object) {
+				return createExpressionContextAdapter();
+			}
+			@Override
+			public Adapter caseGaAnalysisContext(GaAnalysisContext object) {
+				return createGaAnalysisContextAdapter();
+			}
+			@Override
+			public Adapter defaultCase(EObject object) {
+				return createEObjectAdapter();
+			}
+		};
+
+	/**
+	 * Creates an adapter for the <code>target</code>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param target the object to adapt.
+	 * @return the adapter for the <code>target</code>.
+	 * @generated
+	 */
+	@Override
+	public Adapter createAdapter(Notifier target) {
+		return modelSwitch.doSwitch((EObject)target);
+	}
+
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.Dependability.FMEA.FIBEX <em>FIBEX</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FMEA.FIBEX
+	 * @generated
+	 */
+	public Adapter createFIBEXAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEAAnalysis <em>Analysis</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEAAnalysis
+	 * @generated
+	 */
+	public Adapter createFMEAAnalysisAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.Dependability.FMEA.ErrorModelAssign <em>Error Model Assign</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FMEA.ErrorModelAssign
+	 * @generated
+	 */
+	public Adapter createErrorModelAssignAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_Foundations.CoreElements.Configuration <em>Configuration</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.papyrus.MARTE.MARTE_Foundations.CoreElements.Configuration
+	 * @generated
+	 */
+	public Adapter createConfigurationAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.ExpressionContext <em>Expression Context</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.ExpressionContext
+	 * @generated
+	 */
+	public Adapter createExpressionContextAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.GQAM.GaAnalysisContext <em>Ga Analysis Context</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.GQAM.GaAnalysisContext
+	 * @generated
+	 */
+	public Adapter createGaAnalysisContextAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for the default case.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @generated
+	 */
+	public Adapter createEObjectAdapter() {
+		return null;
+	}
+
+} //FMEAAdapterFactory
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FMEA/util/FMEAResourceFactoryImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FMEA/util/FMEAResourceFactoryImpl.java
new file mode 100644
index 000000000..db3a55d3e
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FMEA/util/FMEAResourceFactoryImpl.java
@@ -0,0 +1,61 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.FMEA.util;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.resource.impl.ResourceFactoryImpl;
+
+import org.eclipse.emf.ecore.xmi.XMLResource;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource Factory</b> associated with the package.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Dependability.FMEA.util.FMEAResourceImpl
+ * @generated
+ */
+public class FMEAResourceFactoryImpl extends ResourceFactoryImpl {
+	/**
+	 * Creates an instance of the resource factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public FMEAResourceFactoryImpl() {
+		super();
+	}
+
+	/**
+	 * Creates an instance of the resource.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Resource createResource(URI uri) {
+		XMLResource result = new FMEAResourceImpl(uri);
+		result.getDefaultSaveOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
+		result.getDefaultLoadOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
+
+		result.getDefaultSaveOptions().put(XMLResource.OPTION_SCHEMA_LOCATION, Boolean.TRUE);
+
+		result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+		result.getDefaultSaveOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+
+		result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_LEXICAL_HANDLER, Boolean.TRUE);
+		return result;
+	}
+
+} //FMEAResourceFactoryImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FMEA/util/FMEAResourceImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FMEA/util/FMEAResourceImpl.java
new file mode 100644
index 000000000..86f0ef821
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FMEA/util/FMEAResourceImpl.java
@@ -0,0 +1,37 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.FMEA.util;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource </b> associated with the package.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Dependability.FMEA.util.FMEAResourceFactoryImpl
+ * @generated
+ */
+public class FMEAResourceImpl extends XMLResourceImpl {
+	/**
+	 * Creates an instance of the resource.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param uri the URI of the new resource.
+	 * @generated
+	 */
+	public FMEAResourceImpl(URI uri) {
+		super(uri);
+	}
+
+} //FMEAResourceImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FMEA/util/FMEASwitch.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FMEA/util/FMEASwitch.java
new file mode 100644
index 000000000..040cd6462
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FMEA/util/FMEASwitch.java
@@ -0,0 +1,210 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.FMEA.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.util.Switch;
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.GQAM.GaAnalysisContext;
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.ExpressionContext;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.CoreElements.Configuration;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEAPackage
+ * @generated
+ */
+public class FMEASwitch<T> extends Switch<T> {
+	/**
+	 * The cached model package
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static FMEAPackage modelPackage;
+
+	/**
+	 * Creates an instance of the switch.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public FMEASwitch() {
+		if (modelPackage == null) {
+			modelPackage = FMEAPackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Checks whether this is a switch for the given package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @parameter ePackage the package in question.
+	 * @return whether this is a switch for the given package.
+	 * @generated
+	 */
+	@Override
+	protected boolean isSwitchFor(EPackage ePackage) {
+		return ePackage == modelPackage;
+	}
+
+	/**
+	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the first non-null result returned by a <code>caseXXX</code> call.
+	 * @generated
+	 */
+	@Override
+	protected T doSwitch(int classifierID, EObject theEObject) {
+		switch (classifierID) {
+			case FMEAPackage.FIBEX: {
+				FIBEX fibex = (FIBEX)theEObject;
+				T result = caseFIBEX(fibex);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case FMEAPackage.FMEA_ANALYSIS: {
+				FMEAAnalysis fmeaAnalysis = (FMEAAnalysis)theEObject;
+				T result = caseFMEAAnalysis(fmeaAnalysis);
+				if (result == null) result = caseGaAnalysisContext(fmeaAnalysis);
+				if (result == null) result = caseConfiguration(fmeaAnalysis);
+				if (result == null) result = caseExpressionContext(fmeaAnalysis);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case FMEAPackage.ERROR_MODEL_ASSIGN: {
+				ErrorModelAssign errorModelAssign = (ErrorModelAssign)theEObject;
+				T result = caseErrorModelAssign(errorModelAssign);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			default: return defaultCase(theEObject);
+		}
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>FIBEX</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>FIBEX</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseFIBEX(FIBEX object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Analysis</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Analysis</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseFMEAAnalysis(FMEAAnalysis object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Error Model Assign</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Error Model Assign</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseErrorModelAssign(ErrorModelAssign object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Configuration</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Configuration</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseConfiguration(Configuration object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Expression Context</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Expression Context</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseExpressionContext(ExpressionContext object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Ga Analysis Context</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Ga Analysis Context</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseGaAnalysisContext(GaAnalysisContext object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch, but this is the last case anyway.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+	 * @generated
+	 */
+	@Override
+	public T defaultCase(EObject object) {
+		return null;
+	}
+
+} //FMEASwitch
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FMEA/util/FMEAXMLProcessor.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FMEA/util/FMEAXMLProcessor.java
new file mode 100644
index 000000000..338be36e1
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FMEA/util/FMEAXMLProcessor.java
@@ -0,0 +1,56 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.FMEA.util;
+
+import java.util.Map;
+
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.xmi.util.XMLProcessor;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEAPackage;
+
+/**
+ * This class contains helper methods to serialize and deserialize XML documents
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class FMEAXMLProcessor extends XMLProcessor {
+
+	/**
+	 * Public constructor to instantiate the helper.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public FMEAXMLProcessor() {
+		super((EPackage.Registry.INSTANCE));
+		FMEAPackage.eINSTANCE.eClass();
+	}
+	
+	/**
+	 * Register for "*" and "xml" file extensions the FMEAResourceFactoryImpl factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected Map<String, Resource.Factory> getRegistrations() {
+		if (registrations == null) {
+			super.getRegistrations();
+			registrations.put(XML_EXTENSION, new FMEAResourceFactoryImpl());
+			registrations.put(STAR_EXTENSION, new FMEAResourceFactoryImpl());
+		}
+		return registrations;
+	}
+
+} //FMEAXMLProcessor
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/ACIDAvoidable.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/ACIDAvoidable.java
new file mode 100644
index 000000000..bd910dd32
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/ACIDAvoidable.java
@@ -0,0 +1,184 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.uml2.uml.Comment;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.A_avoidable;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.C_avoidable;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.D_avoidable;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.I_avoidable;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>ACID Avoidable</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.ACIDAvoidable#getA <em>A</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.ACIDAvoidable#getC <em>C</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.ACIDAvoidable#getBase_Comment <em>Base Comment</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.ACIDAvoidable#getI <em>I</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.ACIDAvoidable#getD <em>D</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationPackage#getACIDAvoidable()
+ * @model
+ * @generated
+ */
+public interface ACIDAvoidable extends EObject {
+	/**
+	 * Returns the value of the '<em><b>A</b></em>' attribute.
+	 * The literals are from the enumeration {@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.A_avoidable}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>A</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>A</em>' attribute.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.A_avoidable
+	 * @see #setA(A_avoidable)
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationPackage#getACIDAvoidable_A()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	A_avoidable getA();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.ACIDAvoidable#getA <em>A</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>A</em>' attribute.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.A_avoidable
+	 * @see #getA()
+	 * @generated
+	 */
+	void setA(A_avoidable value);
+
+	/**
+	 * Returns the value of the '<em><b>C</b></em>' attribute.
+	 * The literals are from the enumeration {@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.C_avoidable}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>C</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>C</em>' attribute.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.C_avoidable
+	 * @see #setC(C_avoidable)
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationPackage#getACIDAvoidable_C()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	C_avoidable getC();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.ACIDAvoidable#getC <em>C</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>C</em>' attribute.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.C_avoidable
+	 * @see #getC()
+	 * @generated
+	 */
+	void setC(C_avoidable value);
+
+	/**
+	 * Returns the value of the '<em><b>Base Comment</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Comment</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Base Comment</em>' reference.
+	 * @see #setBase_Comment(Comment)
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationPackage#getACIDAvoidable_Base_Comment()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	Comment getBase_Comment();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.ACIDAvoidable#getBase_Comment <em>Base Comment</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Base Comment</em>' reference.
+	 * @see #getBase_Comment()
+	 * @generated
+	 */
+	void setBase_Comment(Comment value);
+
+	/**
+	 * Returns the value of the '<em><b>I</b></em>' attribute.
+	 * The literals are from the enumeration {@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.I_avoidable}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>I</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>I</em>' attribute.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.I_avoidable
+	 * @see #setI(I_avoidable)
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationPackage#getACIDAvoidable_I()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	I_avoidable getI();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.ACIDAvoidable#getI <em>I</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>I</em>' attribute.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.I_avoidable
+	 * @see #getI()
+	 * @generated
+	 */
+	void setI(I_avoidable value);
+
+	/**
+	 * Returns the value of the '<em><b>D</b></em>' attribute.
+	 * The literals are from the enumeration {@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.D_avoidable}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>D</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>D</em>' attribute.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.D_avoidable
+	 * @see #setD(D_avoidable)
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationPackage#getACIDAvoidable_D()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	D_avoidable getD();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.ACIDAvoidable#getD <em>D</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>D</em>' attribute.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.D_avoidable
+	 * @see #getD()
+	 * @generated
+	 */
+	void setD(D_avoidable value);
+
+} // ACIDAvoidable
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/ACIDMitigation.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/ACIDMitigation.java
new file mode 100644
index 000000000..5a87e37f7
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/ACIDMitigation.java
@@ -0,0 +1,184 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.uml2.uml.Comment;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.A_mitigation;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.C_mitigation;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.D_mitigation;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.I_mitigation;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>ACID Mitigation</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.ACIDMitigation#getBase_Comment <em>Base Comment</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.ACIDMitigation#getA <em>A</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.ACIDMitigation#getC <em>C</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.ACIDMitigation#getI <em>I</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.ACIDMitigation#getD <em>D</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationPackage#getACIDMitigation()
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='ACIDMitigation '"
+ * @generated
+ */
+public interface ACIDMitigation extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Base Comment</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Comment</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Base Comment</em>' reference.
+	 * @see #setBase_Comment(Comment)
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationPackage#getACIDMitigation_Base_Comment()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	Comment getBase_Comment();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.ACIDMitigation#getBase_Comment <em>Base Comment</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Base Comment</em>' reference.
+	 * @see #getBase_Comment()
+	 * @generated
+	 */
+	void setBase_Comment(Comment value);
+
+	/**
+	 * Returns the value of the '<em><b>A</b></em>' attribute.
+	 * The literals are from the enumeration {@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.A_mitigation}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>A</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>A</em>' attribute.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.A_mitigation
+	 * @see #setA(A_mitigation)
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationPackage#getACIDMitigation_A()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	A_mitigation getA();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.ACIDMitigation#getA <em>A</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>A</em>' attribute.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.A_mitigation
+	 * @see #getA()
+	 * @generated
+	 */
+	void setA(A_mitigation value);
+
+	/**
+	 * Returns the value of the '<em><b>C</b></em>' attribute.
+	 * The literals are from the enumeration {@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.C_mitigation}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>C</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>C</em>' attribute.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.C_mitigation
+	 * @see #setC(C_mitigation)
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationPackage#getACIDMitigation_C()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	C_mitigation getC();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.ACIDMitigation#getC <em>C</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>C</em>' attribute.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.C_mitigation
+	 * @see #getC()
+	 * @generated
+	 */
+	void setC(C_mitigation value);
+
+	/**
+	 * Returns the value of the '<em><b>I</b></em>' attribute.
+	 * The literals are from the enumeration {@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.I_mitigation}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>I</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>I</em>' attribute.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.I_mitigation
+	 * @see #setI(I_mitigation)
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationPackage#getACIDMitigation_I()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	I_mitigation getI();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.ACIDMitigation#getI <em>I</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>I</em>' attribute.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.I_mitigation
+	 * @see #getI()
+	 * @generated
+	 */
+	void setI(I_mitigation value);
+
+	/**
+	 * Returns the value of the '<em><b>D</b></em>' attribute.
+	 * The literals are from the enumeration {@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.D_mitigation}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>D</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>D</em>' attribute.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.D_mitigation
+	 * @see #setD(D_mitigation)
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationPackage#getACIDMitigation_D()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	D_mitigation getD();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.ACIDMitigation#getD <em>D</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>D</em>' attribute.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.D_mitigation
+	 * @see #getD()
+	 * @generated
+	 */
+	void setD(D_mitigation value);
+
+} // ACIDMitigation
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/FI4FA.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/FI4FA.java
new file mode 100644
index 000000000..022b3da1a
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/FI4FA.java
@@ -0,0 +1,59 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation;
+
+import org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.DependableComponent;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>FI4FA</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FI4FA#getFi4fa <em>Fi4fa</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationPackage#getFI4FA()
+ * @model
+ * @generated
+ */
+public interface FI4FA extends DependableComponent {
+	/**
+	 * Returns the value of the '<em><b>Fi4fa</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Fi4fa</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Fi4fa</em>' attribute.
+	 * @see #setFi4fa(String)
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationPackage#getFI4FA_Fi4fa()
+	 * @model dataType="org.eclipse.uml2.types.String" required="true" ordered="false"
+	 * @generated
+	 */
+	String getFi4fa();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FI4FA#getFi4fa <em>Fi4fa</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Fi4fa</em>' attribute.
+	 * @see #getFi4fa()
+	 * @generated
+	 */
+	void setFi4fa(String value);
+
+} // FI4FA
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/FI4FAAnalysis.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/FI4FAAnalysis.java
new file mode 100644
index 000000000..733ab9736
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/FI4FAAnalysis.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation;
+
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.GQAM.GaAnalysisContext;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>FI4FA Analysis</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationPackage#getFI4FAAnalysis()
+ * @model
+ * @generated
+ */
+public interface FI4FAAnalysis extends GaAnalysisContext {
+} // FI4FAAnalysis
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/FI4FASpecification.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/FI4FASpecification.java
new file mode 100644
index 000000000..51e10026e
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/FI4FASpecification.java
@@ -0,0 +1,26 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>FI4FA Specification</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationPackage#getFI4FASpecification()
+ * @model
+ * @generated
+ */
+public interface FI4FASpecification extends FPTCSpecification {
+} // FI4FASpecification
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/FPTC.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/FPTC.java
new file mode 100644
index 000000000..663d6b85d
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/FPTC.java
@@ -0,0 +1,87 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation;
+
+import org.eclipse.uml2.uml.Comment;
+import org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.DependableComponent;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>FPTC</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FPTC#getFptc <em>Fptc</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FPTC#getBase_Comment <em>Base Comment</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationPackage#getFPTC()
+ * @model
+ * @generated
+ */
+public interface FPTC extends DependableComponent {
+	/**
+	 * Returns the value of the '<em><b>Fptc</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Fptc</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Fptc</em>' attribute.
+	 * @see #setFptc(String)
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationPackage#getFPTC_Fptc()
+	 * @model dataType="org.eclipse.uml2.types.String" required="true" ordered="false"
+	 * @generated
+	 */
+	String getFptc();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FPTC#getFptc <em>Fptc</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Fptc</em>' attribute.
+	 * @see #getFptc()
+	 * @generated
+	 */
+	void setFptc(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Base Comment</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Comment</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Base Comment</em>' reference.
+	 * @see #setBase_Comment(Comment)
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationPackage#getFPTC_Base_Comment()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	Comment getBase_Comment();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FPTC#getBase_Comment <em>Base Comment</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Base Comment</em>' reference.
+	 * @see #getBase_Comment()
+	 * @generated
+	 */
+	void setBase_Comment(Comment value);
+
+} // FPTC
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/FPTCPortSlot.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/FPTCPortSlot.java
new file mode 100644
index 000000000..0c533a335
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/FPTCPortSlot.java
@@ -0,0 +1,88 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.uml2.uml.Slot;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>FPTC Port Slot</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FPTCPortSlot#getFPTCSpecification <em>FPTC Specification</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FPTCPortSlot#getBase_Slot <em>Base Slot</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationPackage#getFPTCPortSlot()
+ * @model
+ * @generated
+ */
+public interface FPTCPortSlot extends EObject {
+	/**
+	 * Returns the value of the '<em><b>FPTC Specification</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>FPTC Specification</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>FPTC Specification</em>' reference.
+	 * @see #setFPTCSpecification(FPTCSpecification)
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationPackage#getFPTCPortSlot_FPTCSpecification()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	FPTCSpecification getFPTCSpecification();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FPTCPortSlot#getFPTCSpecification <em>FPTC Specification</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>FPTC Specification</em>' reference.
+	 * @see #getFPTCSpecification()
+	 * @generated
+	 */
+	void setFPTCSpecification(FPTCSpecification value);
+
+	/**
+	 * Returns the value of the '<em><b>Base Slot</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Slot</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Base Slot</em>' reference.
+	 * @see #setBase_Slot(Slot)
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationPackage#getFPTCPortSlot_Base_Slot()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	Slot getBase_Slot();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FPTCPortSlot#getBase_Slot <em>Base Slot</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Base Slot</em>' reference.
+	 * @see #getBase_Slot()
+	 * @generated
+	 */
+	void setBase_Slot(Slot value);
+
+} // FPTCPortSlot
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/FPTCSpecification.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/FPTCSpecification.java
new file mode 100644
index 000000000..2561fa2d3
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/FPTCSpecification.java
@@ -0,0 +1,109 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Property;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.FailureType;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>FPTC Specification</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FPTCSpecification#getBase_Comment <em>Base Comment</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FPTCSpecification#getFailure <em>Failure</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FPTCSpecification#getPartWithPort <em>Part With Port</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationPackage#getFPTCSpecification()
+ * @model
+ * @generated
+ */
+public interface FPTCSpecification extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Base Comment</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Comment</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Base Comment</em>' reference.
+	 * @see #setBase_Comment(Comment)
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationPackage#getFPTCSpecification_Base_Comment()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	Comment getBase_Comment();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FPTCSpecification#getBase_Comment <em>Base Comment</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Base Comment</em>' reference.
+	 * @see #getBase_Comment()
+	 * @generated
+	 */
+	void setBase_Comment(Comment value);
+
+	/**
+	 * Returns the value of the '<em><b>Failure</b></em>' attribute list.
+	 * The list contents are of type {@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.FailureType}.
+	 * The literals are from the enumeration {@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.FailureType}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Failure</em>' attribute list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Failure</em>' attribute list.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.FailureType
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationPackage#getFPTCSpecification_Failure()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	EList<FailureType> getFailure();
+
+	/**
+	 * Returns the value of the '<em><b>Part With Port</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Part With Port</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Part With Port</em>' reference.
+	 * @see #setPartWithPort(Property)
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationPackage#getFPTCSpecification_PartWithPort()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	Property getPartWithPort();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FPTCSpecification#getPartWithPort <em>Part With Port</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Part With Port</em>' reference.
+	 * @see #getPartWithPort()
+	 * @generated
+	 */
+	void setPartWithPort(Property value);
+
+} // FPTCSpecification
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/FailurePropagationAnalysis.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/FailurePropagationAnalysis.java
new file mode 100644
index 000000000..9e120c075
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/FailurePropagationAnalysis.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation;
+
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.GQAM.GaAnalysisContext;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Analysis</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationPackage#getFailurePropagationAnalysis()
+ * @model
+ * @generated
+ */
+public interface FailurePropagationAnalysis extends GaAnalysisContext {
+} // FailurePropagationAnalysis
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/FailurePropagationDataTypes/A_avoidable.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/FailurePropagationDataTypes/A_avoidable.java
new file mode 100644
index 000000000..e015e80b6
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/FailurePropagationDataTypes/A_avoidable.java
@@ -0,0 +1,244 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Aavoidable</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.FailurePropagationDataTypesPackage#getA_avoidable()
+ * @model
+ * @generated
+ */
+public enum A_avoidable implements Enumerator {
+	/**
+	 * The '<em><b>Unspecified</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #UNSPECIFIED_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	UNSPECIFIED(0, "unspecified", "unspecified"),
+
+	/**
+	 * The '<em><b>Incompletion</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #INCOMPLETION_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	INCOMPLETION(1, "incompletion", "incompletion"),
+
+	/**
+	 * The '<em><b>None</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #NONE_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	NONE(2, "none", "none");
+
+	/**
+	 * The '<em><b>Unspecified</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>Unspecified</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #UNSPECIFIED
+	 * @model name="unspecified"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int UNSPECIFIED_VALUE = 0;
+
+	/**
+	 * The '<em><b>Incompletion</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>Incompletion</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #INCOMPLETION
+	 * @model name="incompletion"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int INCOMPLETION_VALUE = 1;
+
+	/**
+	 * The '<em><b>None</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>None</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #NONE
+	 * @model name="none"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int NONE_VALUE = 2;
+
+	/**
+	 * An array of all the '<em><b>Aavoidable</b></em>' enumerators.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static final A_avoidable[] VALUES_ARRAY =
+		new A_avoidable[] {
+			UNSPECIFIED,
+			INCOMPLETION,
+			NONE,
+		};
+
+	/**
+	 * A public read-only list of all the '<em><b>Aavoidable</b></em>' enumerators.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final List<A_avoidable> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+	/**
+	 * Returns the '<em><b>Aavoidable</b></em>' literal with the specified literal value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static A_avoidable get(String literal) {
+		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+			A_avoidable result = VALUES_ARRAY[i];
+			if (result.toString().equals(literal)) {
+				return result;
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Returns the '<em><b>Aavoidable</b></em>' literal with the specified name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static A_avoidable getByName(String name) {
+		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+			A_avoidable result = VALUES_ARRAY[i];
+			if (result.getName().equals(name)) {
+				return result;
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Returns the '<em><b>Aavoidable</b></em>' literal with the specified integer value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static A_avoidable get(int value) {
+		switch (value) {
+			case UNSPECIFIED_VALUE: return UNSPECIFIED;
+			case INCOMPLETION_VALUE: return INCOMPLETION;
+			case NONE_VALUE: return NONE;
+		}
+		return null;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final int value;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final String name;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final String literal;
+
+	/**
+	 * Only this class can construct instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private A_avoidable(int value, String name, String literal) {
+		this.value = value;
+		this.name = name;
+		this.literal = literal;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public int getValue() {
+	  return value;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getName() {
+	  return name;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getLiteral() {
+	  return literal;
+	}
+
+	/**
+	 * Returns the literal value of the enumerator, which is its string representation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		return literal;
+	}
+	
+} //A_avoidable
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/FailurePropagationDataTypes/A_mitigation.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/FailurePropagationDataTypes/A_mitigation.java
new file mode 100644
index 000000000..65fd47e14
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/FailurePropagationDataTypes/A_mitigation.java
@@ -0,0 +1,271 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Amitigation</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.FailurePropagationDataTypesPackage#getA_mitigation()
+ * @model
+ * @generated
+ */
+public enum A_mitigation implements Enumerator {
+	/**
+	 * The '<em><b>Unspecified</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #UNSPECIFIED_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	UNSPECIFIED(0, "unspecified", "unspecified"),
+
+	/**
+	 * The '<em><b>All or nothing</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #ALL_OR_NOTHING_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	ALL_OR_NOTHING(1, "all_or_nothing", "all_or_nothing"),
+
+	/**
+	 * The '<em><b>All or compensation</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #ALL_OR_COMPENSATION_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	ALL_OR_COMPENSATION(2, "all_or_compensation", "all_or_compensation"),
+
+	/**
+	 * The '<em><b>None</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #NONE_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	NONE(3, "none", "none");
+
+	/**
+	 * The '<em><b>Unspecified</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>Unspecified</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #UNSPECIFIED
+	 * @model name="unspecified"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int UNSPECIFIED_VALUE = 0;
+
+	/**
+	 * The '<em><b>All or nothing</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>All or nothing</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #ALL_OR_NOTHING
+	 * @model name="all_or_nothing"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int ALL_OR_NOTHING_VALUE = 1;
+
+	/**
+	 * The '<em><b>All or compensation</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>All or compensation</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #ALL_OR_COMPENSATION
+	 * @model name="all_or_compensation"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int ALL_OR_COMPENSATION_VALUE = 2;
+
+	/**
+	 * The '<em><b>None</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>None</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #NONE
+	 * @model name="none"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int NONE_VALUE = 3;
+
+	/**
+	 * An array of all the '<em><b>Amitigation</b></em>' enumerators.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static final A_mitigation[] VALUES_ARRAY =
+		new A_mitigation[] {
+			UNSPECIFIED,
+			ALL_OR_NOTHING,
+			ALL_OR_COMPENSATION,
+			NONE,
+		};
+
+	/**
+	 * A public read-only list of all the '<em><b>Amitigation</b></em>' enumerators.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final List<A_mitigation> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+	/**
+	 * Returns the '<em><b>Amitigation</b></em>' literal with the specified literal value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static A_mitigation get(String literal) {
+		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+			A_mitigation result = VALUES_ARRAY[i];
+			if (result.toString().equals(literal)) {
+				return result;
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Returns the '<em><b>Amitigation</b></em>' literal with the specified name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static A_mitigation getByName(String name) {
+		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+			A_mitigation result = VALUES_ARRAY[i];
+			if (result.getName().equals(name)) {
+				return result;
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Returns the '<em><b>Amitigation</b></em>' literal with the specified integer value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static A_mitigation get(int value) {
+		switch (value) {
+			case UNSPECIFIED_VALUE: return UNSPECIFIED;
+			case ALL_OR_NOTHING_VALUE: return ALL_OR_NOTHING;
+			case ALL_OR_COMPENSATION_VALUE: return ALL_OR_COMPENSATION;
+			case NONE_VALUE: return NONE;
+		}
+		return null;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final int value;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final String name;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final String literal;
+
+	/**
+	 * Only this class can construct instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private A_mitigation(int value, String name, String literal) {
+		this.value = value;
+		this.name = name;
+		this.literal = literal;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public int getValue() {
+	  return value;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getName() {
+	  return name;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getLiteral() {
+	  return literal;
+	}
+
+	/**
+	 * Returns the literal value of the enumerator, which is its string representation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		return literal;
+	}
+	
+} //A_mitigation
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/FailurePropagationDataTypes/C_avoidable.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/FailurePropagationDataTypes/C_avoidable.java
new file mode 100644
index 000000000..67d862825
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/FailurePropagationDataTypes/C_avoidable.java
@@ -0,0 +1,244 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Cavoidable</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.FailurePropagationDataTypesPackage#getC_avoidable()
+ * @model
+ * @generated
+ */
+public enum C_avoidable implements Enumerator {
+	/**
+	 * The '<em><b>Unspecified</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #UNSPECIFIED_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	UNSPECIFIED(0, "unspecified", "unspecified"),
+
+	/**
+	 * The '<em><b>Inconsistency</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #INCONSISTENCY_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	INCONSISTENCY(1, "inconsistency", "inconsistency"),
+
+	/**
+	 * The '<em><b>None</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #NONE_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	NONE(2, "none", "none");
+
+	/**
+	 * The '<em><b>Unspecified</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>Unspecified</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #UNSPECIFIED
+	 * @model name="unspecified"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int UNSPECIFIED_VALUE = 0;
+
+	/**
+	 * The '<em><b>Inconsistency</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>Inconsistency</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #INCONSISTENCY
+	 * @model name="inconsistency"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int INCONSISTENCY_VALUE = 1;
+
+	/**
+	 * The '<em><b>None</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>None</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #NONE
+	 * @model name="none"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int NONE_VALUE = 2;
+
+	/**
+	 * An array of all the '<em><b>Cavoidable</b></em>' enumerators.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static final C_avoidable[] VALUES_ARRAY =
+		new C_avoidable[] {
+			UNSPECIFIED,
+			INCONSISTENCY,
+			NONE,
+		};
+
+	/**
+	 * A public read-only list of all the '<em><b>Cavoidable</b></em>' enumerators.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final List<C_avoidable> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+	/**
+	 * Returns the '<em><b>Cavoidable</b></em>' literal with the specified literal value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static C_avoidable get(String literal) {
+		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+			C_avoidable result = VALUES_ARRAY[i];
+			if (result.toString().equals(literal)) {
+				return result;
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Returns the '<em><b>Cavoidable</b></em>' literal with the specified name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static C_avoidable getByName(String name) {
+		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+			C_avoidable result = VALUES_ARRAY[i];
+			if (result.getName().equals(name)) {
+				return result;
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Returns the '<em><b>Cavoidable</b></em>' literal with the specified integer value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static C_avoidable get(int value) {
+		switch (value) {
+			case UNSPECIFIED_VALUE: return UNSPECIFIED;
+			case INCONSISTENCY_VALUE: return INCONSISTENCY;
+			case NONE_VALUE: return NONE;
+		}
+		return null;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final int value;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final String name;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final String literal;
+
+	/**
+	 * Only this class can construct instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private C_avoidable(int value, String name, String literal) {
+		this.value = value;
+		this.name = name;
+		this.literal = literal;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public int getValue() {
+	  return value;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getName() {
+	  return name;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getLiteral() {
+	  return literal;
+	}
+
+	/**
+	 * Returns the literal value of the enumerator, which is its string representation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		return literal;
+	}
+	
+} //C_avoidable
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/FailurePropagationDataTypes/C_mitigation.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/FailurePropagationDataTypes/C_mitigation.java
new file mode 100644
index 000000000..2e023d32a
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/FailurePropagationDataTypes/C_mitigation.java
@@ -0,0 +1,271 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Cmitigation</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.FailurePropagationDataTypesPackage#getC_mitigation()
+ * @model
+ * @generated
+ */
+public enum C_mitigation implements Enumerator {
+	/**
+	 * The '<em><b>Unspecified</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #UNSPECIFIED_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	UNSPECIFIED(0, "unspecified", "unspecified"),
+
+	/**
+	 * The '<em><b>Full consistency</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #FULL_CONSISTENCY_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	FULL_CONSISTENCY(1, "full_consistency", "full_consistency"),
+
+	/**
+	 * The '<em><b>Range violation allowed</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #RANGE_VIOLATION_ALLOWED_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	RANGE_VIOLATION_ALLOWED(2, "range_violation_allowed", "range_violation_allowed"),
+
+	/**
+	 * The '<em><b>None</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #NONE_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	NONE(3, "none", "none");
+
+	/**
+	 * The '<em><b>Unspecified</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>Unspecified</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #UNSPECIFIED
+	 * @model name="unspecified"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int UNSPECIFIED_VALUE = 0;
+
+	/**
+	 * The '<em><b>Full consistency</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>Full consistency</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #FULL_CONSISTENCY
+	 * @model name="full_consistency"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int FULL_CONSISTENCY_VALUE = 1;
+
+	/**
+	 * The '<em><b>Range violation allowed</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>Range violation allowed</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #RANGE_VIOLATION_ALLOWED
+	 * @model name="range_violation_allowed"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int RANGE_VIOLATION_ALLOWED_VALUE = 2;
+
+	/**
+	 * The '<em><b>None</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>None</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #NONE
+	 * @model name="none"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int NONE_VALUE = 3;
+
+	/**
+	 * An array of all the '<em><b>Cmitigation</b></em>' enumerators.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static final C_mitigation[] VALUES_ARRAY =
+		new C_mitigation[] {
+			UNSPECIFIED,
+			FULL_CONSISTENCY,
+			RANGE_VIOLATION_ALLOWED,
+			NONE,
+		};
+
+	/**
+	 * A public read-only list of all the '<em><b>Cmitigation</b></em>' enumerators.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final List<C_mitigation> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+	/**
+	 * Returns the '<em><b>Cmitigation</b></em>' literal with the specified literal value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static C_mitigation get(String literal) {
+		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+			C_mitigation result = VALUES_ARRAY[i];
+			if (result.toString().equals(literal)) {
+				return result;
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Returns the '<em><b>Cmitigation</b></em>' literal with the specified name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static C_mitigation getByName(String name) {
+		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+			C_mitigation result = VALUES_ARRAY[i];
+			if (result.getName().equals(name)) {
+				return result;
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Returns the '<em><b>Cmitigation</b></em>' literal with the specified integer value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static C_mitigation get(int value) {
+		switch (value) {
+			case UNSPECIFIED_VALUE: return UNSPECIFIED;
+			case FULL_CONSISTENCY_VALUE: return FULL_CONSISTENCY;
+			case RANGE_VIOLATION_ALLOWED_VALUE: return RANGE_VIOLATION_ALLOWED;
+			case NONE_VALUE: return NONE;
+		}
+		return null;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final int value;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final String name;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final String literal;
+
+	/**
+	 * Only this class can construct instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private C_mitigation(int value, String name, String literal) {
+		this.value = value;
+		this.name = name;
+		this.literal = literal;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public int getValue() {
+	  return value;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getName() {
+	  return name;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getLiteral() {
+	  return literal;
+	}
+
+	/**
+	 * Returns the literal value of the enumerator, which is its string representation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		return literal;
+	}
+	
+} //C_mitigation
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/FailurePropagationDataTypes/D_avoidable.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/FailurePropagationDataTypes/D_avoidable.java
new file mode 100644
index 000000000..950b2f560
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/FailurePropagationDataTypes/D_avoidable.java
@@ -0,0 +1,244 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Davoidable</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.FailurePropagationDataTypesPackage#getD_avoidable()
+ * @model
+ * @generated
+ */
+public enum D_avoidable implements Enumerator {
+	/**
+	 * The '<em><b>Unspecified</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #UNSPECIFIED_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	UNSPECIFIED(0, "unspecified", "unspecified"),
+
+	/**
+	 * The '<em><b>Impermanence</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #IMPERMANENCE_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	IMPERMANENCE(1, "impermanence", "impermanence"),
+
+	/**
+	 * The '<em><b>None</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #NONE_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	NONE(2, "none", "none");
+
+	/**
+	 * The '<em><b>Unspecified</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>Unspecified</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #UNSPECIFIED
+	 * @model name="unspecified"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int UNSPECIFIED_VALUE = 0;
+
+	/**
+	 * The '<em><b>Impermanence</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>Impermanence</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #IMPERMANENCE
+	 * @model name="impermanence"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int IMPERMANENCE_VALUE = 1;
+
+	/**
+	 * The '<em><b>None</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>None</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #NONE
+	 * @model name="none"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int NONE_VALUE = 2;
+
+	/**
+	 * An array of all the '<em><b>Davoidable</b></em>' enumerators.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static final D_avoidable[] VALUES_ARRAY =
+		new D_avoidable[] {
+			UNSPECIFIED,
+			IMPERMANENCE,
+			NONE,
+		};
+
+	/**
+	 * A public read-only list of all the '<em><b>Davoidable</b></em>' enumerators.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final List<D_avoidable> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+	/**
+	 * Returns the '<em><b>Davoidable</b></em>' literal with the specified literal value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static D_avoidable get(String literal) {
+		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+			D_avoidable result = VALUES_ARRAY[i];
+			if (result.toString().equals(literal)) {
+				return result;
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Returns the '<em><b>Davoidable</b></em>' literal with the specified name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static D_avoidable getByName(String name) {
+		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+			D_avoidable result = VALUES_ARRAY[i];
+			if (result.getName().equals(name)) {
+				return result;
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Returns the '<em><b>Davoidable</b></em>' literal with the specified integer value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static D_avoidable get(int value) {
+		switch (value) {
+			case UNSPECIFIED_VALUE: return UNSPECIFIED;
+			case IMPERMANENCE_VALUE: return IMPERMANENCE;
+			case NONE_VALUE: return NONE;
+		}
+		return null;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final int value;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final String name;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final String literal;
+
+	/**
+	 * Only this class can construct instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private D_avoidable(int value, String name, String literal) {
+		this.value = value;
+		this.name = name;
+		this.literal = literal;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public int getValue() {
+	  return value;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getName() {
+	  return name;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getLiteral() {
+	  return literal;
+	}
+
+	/**
+	 * Returns the literal value of the enumerator, which is its string representation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		return literal;
+	}
+	
+} //D_avoidable
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/FailurePropagationDataTypes/D_mitigation.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/FailurePropagationDataTypes/D_mitigation.java
new file mode 100644
index 000000000..88666bdf9
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/FailurePropagationDataTypes/D_mitigation.java
@@ -0,0 +1,271 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Dmitigation</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.FailurePropagationDataTypesPackage#getD_mitigation()
+ * @model
+ * @generated
+ */
+public enum D_mitigation implements Enumerator {
+	/**
+	 * The '<em><b>Unspecified</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #UNSPECIFIED_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	UNSPECIFIED(0, "unspecified", "unspecified"),
+
+	/**
+	 * The '<em><b>No loss</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #NO_LOSS_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	NO_LOSS(1, "no_loss", "no_loss"),
+
+	/**
+	 * The '<em><b>Partial loss allowed</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #PARTIAL_LOSS_ALLOWED_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	PARTIAL_LOSS_ALLOWED(2, "partial_loss_allowed", "partial_loss_allowed"),
+
+	/**
+	 * The '<em><b>None</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #NONE_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	NONE(3, "none", "none");
+
+	/**
+	 * The '<em><b>Unspecified</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>Unspecified</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #UNSPECIFIED
+	 * @model name="unspecified"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int UNSPECIFIED_VALUE = 0;
+
+	/**
+	 * The '<em><b>No loss</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>No loss</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #NO_LOSS
+	 * @model name="no_loss"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int NO_LOSS_VALUE = 1;
+
+	/**
+	 * The '<em><b>Partial loss allowed</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>Partial loss allowed</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #PARTIAL_LOSS_ALLOWED
+	 * @model name="partial_loss_allowed"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int PARTIAL_LOSS_ALLOWED_VALUE = 2;
+
+	/**
+	 * The '<em><b>None</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>None</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #NONE
+	 * @model name="none"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int NONE_VALUE = 3;
+
+	/**
+	 * An array of all the '<em><b>Dmitigation</b></em>' enumerators.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static final D_mitigation[] VALUES_ARRAY =
+		new D_mitigation[] {
+			UNSPECIFIED,
+			NO_LOSS,
+			PARTIAL_LOSS_ALLOWED,
+			NONE,
+		};
+
+	/**
+	 * A public read-only list of all the '<em><b>Dmitigation</b></em>' enumerators.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final List<D_mitigation> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+	/**
+	 * Returns the '<em><b>Dmitigation</b></em>' literal with the specified literal value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static D_mitigation get(String literal) {
+		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+			D_mitigation result = VALUES_ARRAY[i];
+			if (result.toString().equals(literal)) {
+				return result;
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Returns the '<em><b>Dmitigation</b></em>' literal with the specified name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static D_mitigation getByName(String name) {
+		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+			D_mitigation result = VALUES_ARRAY[i];
+			if (result.getName().equals(name)) {
+				return result;
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Returns the '<em><b>Dmitigation</b></em>' literal with the specified integer value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static D_mitigation get(int value) {
+		switch (value) {
+			case UNSPECIFIED_VALUE: return UNSPECIFIED;
+			case NO_LOSS_VALUE: return NO_LOSS;
+			case PARTIAL_LOSS_ALLOWED_VALUE: return PARTIAL_LOSS_ALLOWED;
+			case NONE_VALUE: return NONE;
+		}
+		return null;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final int value;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final String name;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final String literal;
+
+	/**
+	 * Only this class can construct instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private D_mitigation(int value, String name, String literal) {
+		this.value = value;
+		this.name = name;
+		this.literal = literal;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public int getValue() {
+	  return value;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getName() {
+	  return name;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getLiteral() {
+	  return literal;
+	}
+
+	/**
+	 * Returns the literal value of the enumerator, which is its string representation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		return literal;
+	}
+	
+} //D_mitigation
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/FailurePropagationDataTypes/FailurePropagationDataTypesFactory.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/FailurePropagationDataTypes/FailurePropagationDataTypesFactory.java
new file mode 100644
index 000000000..382bbcce8
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/FailurePropagationDataTypes/FailurePropagationDataTypesFactory.java
@@ -0,0 +1,42 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.FailurePropagationDataTypesPackage
+ * @generated
+ */
+public interface FailurePropagationDataTypesFactory extends EFactory {
+	/**
+	 * The singleton instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	FailurePropagationDataTypesFactory eINSTANCE = org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.impl.FailurePropagationDataTypesFactoryImpl.init();
+
+	/**
+	 * Returns the package supported by this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the package supported by this factory.
+	 * @generated
+	 */
+	FailurePropagationDataTypesPackage getFailurePropagationDataTypesPackage();
+
+} //FailurePropagationDataTypesFactory
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/FailurePropagationDataTypes/FailurePropagationDataTypesPackage.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/FailurePropagationDataTypes/FailurePropagationDataTypesPackage.java
new file mode 100644
index 000000000..60dfa67a9
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/FailurePropagationDataTypes/FailurePropagationDataTypesPackage.java
@@ -0,0 +1,360 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes;
+
+import org.eclipse.emf.ecore.EEnum;
+import org.eclipse.emf.ecore.EPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ *   <li>each class,</li>
+ *   <li>each feature of each class,</li>
+ *   <li>each enum,</li>
+ *   <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.FailurePropagationDataTypesFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface FailurePropagationDataTypesPackage extends EPackage {
+	/**
+	 * The package name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNAME = "FailurePropagationDataTypes";
+
+	/**
+	 * The package namespace URI.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_URI = "http:///CHESS/Dependability/FailurePropagation/FailurePropagationDataTypes.ecore";
+
+	/**
+	 * The package namespace name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_PREFIX = "CHESS.Dependability.FailurePropagation.FailurePropagationDataTypes";
+
+	/**
+	 * The singleton instance of the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	FailurePropagationDataTypesPackage eINSTANCE = org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.impl.FailurePropagationDataTypesPackageImpl.init();
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.D_avoidable <em>Davoidable</em>}' enum.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.D_avoidable
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.impl.FailurePropagationDataTypesPackageImpl#getD_avoidable()
+	 * @generated
+	 */
+	int DAVOIDABLE = 0;
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.I_avoidable <em>Iavoidable</em>}' enum.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.I_avoidable
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.impl.FailurePropagationDataTypesPackageImpl#getI_avoidable()
+	 * @generated
+	 */
+	int IAVOIDABLE = 1;
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.C_avoidable <em>Cavoidable</em>}' enum.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.C_avoidable
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.impl.FailurePropagationDataTypesPackageImpl#getC_avoidable()
+	 * @generated
+	 */
+	int CAVOIDABLE = 2;
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.FailureType <em>Failure Type</em>}' enum.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.FailureType
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.impl.FailurePropagationDataTypesPackageImpl#getFailureType()
+	 * @generated
+	 */
+	int FAILURE_TYPE = 3;
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.A_avoidable <em>Aavoidable</em>}' enum.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.A_avoidable
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.impl.FailurePropagationDataTypesPackageImpl#getA_avoidable()
+	 * @generated
+	 */
+	int AAVOIDABLE = 4;
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.A_mitigation <em>Amitigation</em>}' enum.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.A_mitigation
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.impl.FailurePropagationDataTypesPackageImpl#getA_mitigation()
+	 * @generated
+	 */
+	int AMITIGATION = 5;
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.C_mitigation <em>Cmitigation</em>}' enum.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.C_mitigation
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.impl.FailurePropagationDataTypesPackageImpl#getC_mitigation()
+	 * @generated
+	 */
+	int CMITIGATION = 6;
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.I_mitigation <em>Imitigation</em>}' enum.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.I_mitigation
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.impl.FailurePropagationDataTypesPackageImpl#getI_mitigation()
+	 * @generated
+	 */
+	int IMITIGATION = 7;
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.D_mitigation <em>Dmitigation</em>}' enum.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.D_mitigation
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.impl.FailurePropagationDataTypesPackageImpl#getD_mitigation()
+	 * @generated
+	 */
+	int DMITIGATION = 8;
+
+
+	/**
+	 * Returns the meta object for enum '{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.D_avoidable <em>Davoidable</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for enum '<em>Davoidable</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.D_avoidable
+	 * @generated
+	 */
+	EEnum getD_avoidable();
+
+	/**
+	 * Returns the meta object for enum '{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.I_avoidable <em>Iavoidable</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for enum '<em>Iavoidable</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.I_avoidable
+	 * @generated
+	 */
+	EEnum getI_avoidable();
+
+	/**
+	 * Returns the meta object for enum '{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.C_avoidable <em>Cavoidable</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for enum '<em>Cavoidable</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.C_avoidable
+	 * @generated
+	 */
+	EEnum getC_avoidable();
+
+	/**
+	 * Returns the meta object for enum '{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.FailureType <em>Failure Type</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for enum '<em>Failure Type</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.FailureType
+	 * @generated
+	 */
+	EEnum getFailureType();
+
+	/**
+	 * Returns the meta object for enum '{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.A_avoidable <em>Aavoidable</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for enum '<em>Aavoidable</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.A_avoidable
+	 * @generated
+	 */
+	EEnum getA_avoidable();
+
+	/**
+	 * Returns the meta object for enum '{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.A_mitigation <em>Amitigation</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for enum '<em>Amitigation</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.A_mitigation
+	 * @generated
+	 */
+	EEnum getA_mitigation();
+
+	/**
+	 * Returns the meta object for enum '{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.C_mitigation <em>Cmitigation</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for enum '<em>Cmitigation</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.C_mitigation
+	 * @generated
+	 */
+	EEnum getC_mitigation();
+
+	/**
+	 * Returns the meta object for enum '{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.I_mitigation <em>Imitigation</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for enum '<em>Imitigation</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.I_mitigation
+	 * @generated
+	 */
+	EEnum getI_mitigation();
+
+	/**
+	 * Returns the meta object for enum '{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.D_mitigation <em>Dmitigation</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for enum '<em>Dmitigation</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.D_mitigation
+	 * @generated
+	 */
+	EEnum getD_mitigation();
+
+	/**
+	 * Returns the factory that creates the instances of the model.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the factory that creates the instances of the model.
+	 * @generated
+	 */
+	FailurePropagationDataTypesFactory getFailurePropagationDataTypesFactory();
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * Defines literals for the meta objects that represent
+	 * <ul>
+	 *   <li>each class,</li>
+	 *   <li>each feature of each class,</li>
+	 *   <li>each enum,</li>
+	 *   <li>and each data type</li>
+	 * </ul>
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	interface Literals {
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.D_avoidable <em>Davoidable</em>}' enum.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.D_avoidable
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.impl.FailurePropagationDataTypesPackageImpl#getD_avoidable()
+		 * @generated
+		 */
+		EEnum DAVOIDABLE = eINSTANCE.getD_avoidable();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.I_avoidable <em>Iavoidable</em>}' enum.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.I_avoidable
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.impl.FailurePropagationDataTypesPackageImpl#getI_avoidable()
+		 * @generated
+		 */
+		EEnum IAVOIDABLE = eINSTANCE.getI_avoidable();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.C_avoidable <em>Cavoidable</em>}' enum.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.C_avoidable
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.impl.FailurePropagationDataTypesPackageImpl#getC_avoidable()
+		 * @generated
+		 */
+		EEnum CAVOIDABLE = eINSTANCE.getC_avoidable();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.FailureType <em>Failure Type</em>}' enum.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.FailureType
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.impl.FailurePropagationDataTypesPackageImpl#getFailureType()
+		 * @generated
+		 */
+		EEnum FAILURE_TYPE = eINSTANCE.getFailureType();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.A_avoidable <em>Aavoidable</em>}' enum.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.A_avoidable
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.impl.FailurePropagationDataTypesPackageImpl#getA_avoidable()
+		 * @generated
+		 */
+		EEnum AAVOIDABLE = eINSTANCE.getA_avoidable();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.A_mitigation <em>Amitigation</em>}' enum.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.A_mitigation
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.impl.FailurePropagationDataTypesPackageImpl#getA_mitigation()
+		 * @generated
+		 */
+		EEnum AMITIGATION = eINSTANCE.getA_mitigation();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.C_mitigation <em>Cmitigation</em>}' enum.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.C_mitigation
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.impl.FailurePropagationDataTypesPackageImpl#getC_mitigation()
+		 * @generated
+		 */
+		EEnum CMITIGATION = eINSTANCE.getC_mitigation();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.I_mitigation <em>Imitigation</em>}' enum.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.I_mitigation
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.impl.FailurePropagationDataTypesPackageImpl#getI_mitigation()
+		 * @generated
+		 */
+		EEnum IMITIGATION = eINSTANCE.getI_mitigation();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.D_mitigation <em>Dmitigation</em>}' enum.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.D_mitigation
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.impl.FailurePropagationDataTypesPackageImpl#getD_mitigation()
+		 * @generated
+		 */
+		EEnum DMITIGATION = eINSTANCE.getD_mitigation();
+
+	}
+
+} //FailurePropagationDataTypesPackage
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/FailurePropagationDataTypes/FailureType.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/FailurePropagationDataTypes/FailureType.java
new file mode 100644
index 000000000..f1cb536aa
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/FailurePropagationDataTypes/FailureType.java
@@ -0,0 +1,406 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Failure Type</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.FailurePropagationDataTypesPackage#getFailureType()
+ * @model
+ * @generated
+ */
+public enum FailureType implements Enumerator {
+	/**
+	 * The '<em><b>Late</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #LATE_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	LATE(0, "late", "late"),
+
+	/**
+	 * The '<em><b>Early</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #EARLY_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	EARLY(1, "early", "early"),
+
+	/**
+	 * The '<em><b>Value Subtle</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #VALUE_SUBTLE_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	VALUE_SUBTLE(2, "valueSubtle", "valueSubtle"),
+
+	/**
+	 * The '<em><b>Value Coarse</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #VALUE_COARSE_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	VALUE_COARSE(3, "valueCoarse", "valueCoarse"),
+
+	/**
+	 * The '<em><b>Omission</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #OMISSION_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	OMISSION(4, "omission", "omission"),
+
+	/**
+	 * The '<em><b>Commission</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #COMMISSION_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	COMMISSION(5, "commission", "commission"),
+
+	/**
+	 * The '<em><b>No Failure</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #NO_FAILURE_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	NO_FAILURE(6, "noFailure", "noFailure"),
+
+	/**
+	 * The '<em><b>Variable</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #VARIABLE_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	VARIABLE(7, "variable", "variable"),
+
+	/**
+	 * The '<em><b>Wildcard</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #WILDCARD_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	WILDCARD(8, "wildcard", "wildcard");
+
+	/**
+	 * The '<em><b>Late</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>Late</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #LATE
+	 * @model name="late"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int LATE_VALUE = 0;
+
+	/**
+	 * The '<em><b>Early</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>Early</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #EARLY
+	 * @model name="early"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int EARLY_VALUE = 1;
+
+	/**
+	 * The '<em><b>Value Subtle</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>Value Subtle</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #VALUE_SUBTLE
+	 * @model name="valueSubtle"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int VALUE_SUBTLE_VALUE = 2;
+
+	/**
+	 * The '<em><b>Value Coarse</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>Value Coarse</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #VALUE_COARSE
+	 * @model name="valueCoarse"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int VALUE_COARSE_VALUE = 3;
+
+	/**
+	 * The '<em><b>Omission</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>Omission</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #OMISSION
+	 * @model name="omission"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int OMISSION_VALUE = 4;
+
+	/**
+	 * The '<em><b>Commission</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>Commission</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #COMMISSION
+	 * @model name="commission"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int COMMISSION_VALUE = 5;
+
+	/**
+	 * The '<em><b>No Failure</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>No Failure</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #NO_FAILURE
+	 * @model name="noFailure"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int NO_FAILURE_VALUE = 6;
+
+	/**
+	 * The '<em><b>Variable</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>Variable</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #VARIABLE
+	 * @model name="variable"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int VARIABLE_VALUE = 7;
+
+	/**
+	 * The '<em><b>Wildcard</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>Wildcard</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #WILDCARD
+	 * @model name="wildcard"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int WILDCARD_VALUE = 8;
+
+	/**
+	 * An array of all the '<em><b>Failure Type</b></em>' enumerators.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static final FailureType[] VALUES_ARRAY =
+		new FailureType[] {
+			LATE,
+			EARLY,
+			VALUE_SUBTLE,
+			VALUE_COARSE,
+			OMISSION,
+			COMMISSION,
+			NO_FAILURE,
+			VARIABLE,
+			WILDCARD,
+		};
+
+	/**
+	 * A public read-only list of all the '<em><b>Failure Type</b></em>' enumerators.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final List<FailureType> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+	/**
+	 * Returns the '<em><b>Failure Type</b></em>' literal with the specified literal value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static FailureType get(String literal) {
+		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+			FailureType result = VALUES_ARRAY[i];
+			if (result.toString().equals(literal)) {
+				return result;
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Returns the '<em><b>Failure Type</b></em>' literal with the specified name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static FailureType getByName(String name) {
+		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+			FailureType result = VALUES_ARRAY[i];
+			if (result.getName().equals(name)) {
+				return result;
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Returns the '<em><b>Failure Type</b></em>' literal with the specified integer value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static FailureType get(int value) {
+		switch (value) {
+			case LATE_VALUE: return LATE;
+			case EARLY_VALUE: return EARLY;
+			case VALUE_SUBTLE_VALUE: return VALUE_SUBTLE;
+			case VALUE_COARSE_VALUE: return VALUE_COARSE;
+			case OMISSION_VALUE: return OMISSION;
+			case COMMISSION_VALUE: return COMMISSION;
+			case NO_FAILURE_VALUE: return NO_FAILURE;
+			case VARIABLE_VALUE: return VARIABLE;
+			case WILDCARD_VALUE: return WILDCARD;
+		}
+		return null;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final int value;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final String name;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final String literal;
+
+	/**
+	 * Only this class can construct instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private FailureType(int value, String name, String literal) {
+		this.value = value;
+		this.name = name;
+		this.literal = literal;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public int getValue() {
+	  return value;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getName() {
+	  return name;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getLiteral() {
+	  return literal;
+	}
+
+	/**
+	 * Returns the literal value of the enumerator, which is its string representation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		return literal;
+	}
+	
+} //FailureType
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/FailurePropagationDataTypes/I_avoidable.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/FailurePropagationDataTypes/I_avoidable.java
new file mode 100644
index 000000000..20749c391
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/FailurePropagationDataTypes/I_avoidable.java
@@ -0,0 +1,244 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Iavoidable</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.FailurePropagationDataTypesPackage#getI_avoidable()
+ * @model
+ * @generated
+ */
+public enum I_avoidable implements Enumerator {
+	/**
+	 * The '<em><b>Unspecified</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #UNSPECIFIED_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	UNSPECIFIED(0, "unspecified", "unspecified"),
+
+	/**
+	 * The '<em><b>Interference</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #INTERFERENCE_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	INTERFERENCE(1, "interference", "interference"),
+
+	/**
+	 * The '<em><b>None</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #NONE_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	NONE(2, "none", "none");
+
+	/**
+	 * The '<em><b>Unspecified</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>Unspecified</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #UNSPECIFIED
+	 * @model name="unspecified"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int UNSPECIFIED_VALUE = 0;
+
+	/**
+	 * The '<em><b>Interference</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>Interference</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #INTERFERENCE
+	 * @model name="interference"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int INTERFERENCE_VALUE = 1;
+
+	/**
+	 * The '<em><b>None</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>None</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #NONE
+	 * @model name="none"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int NONE_VALUE = 2;
+
+	/**
+	 * An array of all the '<em><b>Iavoidable</b></em>' enumerators.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static final I_avoidable[] VALUES_ARRAY =
+		new I_avoidable[] {
+			UNSPECIFIED,
+			INTERFERENCE,
+			NONE,
+		};
+
+	/**
+	 * A public read-only list of all the '<em><b>Iavoidable</b></em>' enumerators.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final List<I_avoidable> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+	/**
+	 * Returns the '<em><b>Iavoidable</b></em>' literal with the specified literal value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static I_avoidable get(String literal) {
+		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+			I_avoidable result = VALUES_ARRAY[i];
+			if (result.toString().equals(literal)) {
+				return result;
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Returns the '<em><b>Iavoidable</b></em>' literal with the specified name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static I_avoidable getByName(String name) {
+		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+			I_avoidable result = VALUES_ARRAY[i];
+			if (result.getName().equals(name)) {
+				return result;
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Returns the '<em><b>Iavoidable</b></em>' literal with the specified integer value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static I_avoidable get(int value) {
+		switch (value) {
+			case UNSPECIFIED_VALUE: return UNSPECIFIED;
+			case INTERFERENCE_VALUE: return INTERFERENCE;
+			case NONE_VALUE: return NONE;
+		}
+		return null;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final int value;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final String name;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final String literal;
+
+	/**
+	 * Only this class can construct instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private I_avoidable(int value, String name, String literal) {
+		this.value = value;
+		this.name = name;
+		this.literal = literal;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public int getValue() {
+	  return value;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getName() {
+	  return name;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getLiteral() {
+	  return literal;
+	}
+
+	/**
+	 * Returns the literal value of the enumerator, which is its string representation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		return literal;
+	}
+	
+} //I_avoidable
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/FailurePropagationDataTypes/I_mitigation.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/FailurePropagationDataTypes/I_mitigation.java
new file mode 100644
index 000000000..ce8f546a0
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/FailurePropagationDataTypes/I_mitigation.java
@@ -0,0 +1,271 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Imitigation</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.FailurePropagationDataTypesPackage#getI_mitigation()
+ * @model
+ * @generated
+ */
+public enum I_mitigation implements Enumerator {
+	/**
+	 * The '<em><b>Unspecified</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #UNSPECIFIED_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	UNSPECIFIED(0, "unspecified", "unspecified"),
+
+	/**
+	 * The '<em><b>Portable level</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #PORTABLE_LEVEL_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	PORTABLE_LEVEL(1, "portable_level", "portable_level"),
+
+	/**
+	 * The '<em><b>Serializable</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #SERIALIZABLE_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	SERIALIZABLE(2, "serializable", "serializable"),
+
+	/**
+	 * The '<em><b>None</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #NONE_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	NONE(3, "none", "none");
+
+	/**
+	 * The '<em><b>Unspecified</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>Unspecified</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #UNSPECIFIED
+	 * @model name="unspecified"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int UNSPECIFIED_VALUE = 0;
+
+	/**
+	 * The '<em><b>Portable level</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>Portable level</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #PORTABLE_LEVEL
+	 * @model name="portable_level"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int PORTABLE_LEVEL_VALUE = 1;
+
+	/**
+	 * The '<em><b>Serializable</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>Serializable</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #SERIALIZABLE
+	 * @model name="serializable"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int SERIALIZABLE_VALUE = 2;
+
+	/**
+	 * The '<em><b>None</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>None</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #NONE
+	 * @model name="none"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int NONE_VALUE = 3;
+
+	/**
+	 * An array of all the '<em><b>Imitigation</b></em>' enumerators.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static final I_mitigation[] VALUES_ARRAY =
+		new I_mitigation[] {
+			UNSPECIFIED,
+			PORTABLE_LEVEL,
+			SERIALIZABLE,
+			NONE,
+		};
+
+	/**
+	 * A public read-only list of all the '<em><b>Imitigation</b></em>' enumerators.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final List<I_mitigation> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+	/**
+	 * Returns the '<em><b>Imitigation</b></em>' literal with the specified literal value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static I_mitigation get(String literal) {
+		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+			I_mitigation result = VALUES_ARRAY[i];
+			if (result.toString().equals(literal)) {
+				return result;
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Returns the '<em><b>Imitigation</b></em>' literal with the specified name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static I_mitigation getByName(String name) {
+		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+			I_mitigation result = VALUES_ARRAY[i];
+			if (result.getName().equals(name)) {
+				return result;
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Returns the '<em><b>Imitigation</b></em>' literal with the specified integer value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static I_mitigation get(int value) {
+		switch (value) {
+			case UNSPECIFIED_VALUE: return UNSPECIFIED;
+			case PORTABLE_LEVEL_VALUE: return PORTABLE_LEVEL;
+			case SERIALIZABLE_VALUE: return SERIALIZABLE;
+			case NONE_VALUE: return NONE;
+		}
+		return null;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final int value;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final String name;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final String literal;
+
+	/**
+	 * Only this class can construct instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private I_mitigation(int value, String name, String literal) {
+		this.value = value;
+		this.name = name;
+		this.literal = literal;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public int getValue() {
+	  return value;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getName() {
+	  return name;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getLiteral() {
+	  return literal;
+	}
+
+	/**
+	 * Returns the literal value of the enumerator, which is its string representation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		return literal;
+	}
+	
+} //I_mitigation
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/FailurePropagationDataTypes/impl/FailurePropagationDataTypesFactoryImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/FailurePropagationDataTypes/impl/FailurePropagationDataTypesFactoryImpl.java
new file mode 100644
index 000000000..d746cce34
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/FailurePropagationDataTypes/impl/FailurePropagationDataTypesFactoryImpl.java
@@ -0,0 +1,333 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class FailurePropagationDataTypesFactoryImpl extends EFactoryImpl implements FailurePropagationDataTypesFactory {
+	/**
+	 * Creates the default factory implementation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static FailurePropagationDataTypesFactory init() {
+		try {
+			FailurePropagationDataTypesFactory theFailurePropagationDataTypesFactory = (FailurePropagationDataTypesFactory)EPackage.Registry.INSTANCE.getEFactory(FailurePropagationDataTypesPackage.eNS_URI);
+			if (theFailurePropagationDataTypesFactory != null) {
+				return theFailurePropagationDataTypesFactory;
+			}
+		}
+		catch (Exception exception) {
+			EcorePlugin.INSTANCE.log(exception);
+		}
+		return new FailurePropagationDataTypesFactoryImpl();
+	}
+
+	/**
+	 * Creates an instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public FailurePropagationDataTypesFactoryImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EObject create(EClass eClass) {
+		switch (eClass.getClassifierID()) {
+			default:
+				throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object createFromString(EDataType eDataType, String initialValue) {
+		switch (eDataType.getClassifierID()) {
+			case FailurePropagationDataTypesPackage.DAVOIDABLE:
+				return createD_avoidableFromString(eDataType, initialValue);
+			case FailurePropagationDataTypesPackage.IAVOIDABLE:
+				return createI_avoidableFromString(eDataType, initialValue);
+			case FailurePropagationDataTypesPackage.CAVOIDABLE:
+				return createC_avoidableFromString(eDataType, initialValue);
+			case FailurePropagationDataTypesPackage.FAILURE_TYPE:
+				return createFailureTypeFromString(eDataType, initialValue);
+			case FailurePropagationDataTypesPackage.AAVOIDABLE:
+				return createA_avoidableFromString(eDataType, initialValue);
+			case FailurePropagationDataTypesPackage.AMITIGATION:
+				return createA_mitigationFromString(eDataType, initialValue);
+			case FailurePropagationDataTypesPackage.CMITIGATION:
+				return createC_mitigationFromString(eDataType, initialValue);
+			case FailurePropagationDataTypesPackage.IMITIGATION:
+				return createI_mitigationFromString(eDataType, initialValue);
+			case FailurePropagationDataTypesPackage.DMITIGATION:
+				return createD_mitigationFromString(eDataType, initialValue);
+			default:
+				throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String convertToString(EDataType eDataType, Object instanceValue) {
+		switch (eDataType.getClassifierID()) {
+			case FailurePropagationDataTypesPackage.DAVOIDABLE:
+				return convertD_avoidableToString(eDataType, instanceValue);
+			case FailurePropagationDataTypesPackage.IAVOIDABLE:
+				return convertI_avoidableToString(eDataType, instanceValue);
+			case FailurePropagationDataTypesPackage.CAVOIDABLE:
+				return convertC_avoidableToString(eDataType, instanceValue);
+			case FailurePropagationDataTypesPackage.FAILURE_TYPE:
+				return convertFailureTypeToString(eDataType, instanceValue);
+			case FailurePropagationDataTypesPackage.AAVOIDABLE:
+				return convertA_avoidableToString(eDataType, instanceValue);
+			case FailurePropagationDataTypesPackage.AMITIGATION:
+				return convertA_mitigationToString(eDataType, instanceValue);
+			case FailurePropagationDataTypesPackage.CMITIGATION:
+				return convertC_mitigationToString(eDataType, instanceValue);
+			case FailurePropagationDataTypesPackage.IMITIGATION:
+				return convertI_mitigationToString(eDataType, instanceValue);
+			case FailurePropagationDataTypesPackage.DMITIGATION:
+				return convertD_mitigationToString(eDataType, instanceValue);
+			default:
+				throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public D_avoidable createD_avoidableFromString(EDataType eDataType, String initialValue) {
+		D_avoidable result = D_avoidable.get(initialValue);
+		if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+		return result;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String convertD_avoidableToString(EDataType eDataType, Object instanceValue) {
+		return instanceValue == null ? null : instanceValue.toString();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public I_avoidable createI_avoidableFromString(EDataType eDataType, String initialValue) {
+		I_avoidable result = I_avoidable.get(initialValue);
+		if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+		return result;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String convertI_avoidableToString(EDataType eDataType, Object instanceValue) {
+		return instanceValue == null ? null : instanceValue.toString();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public C_avoidable createC_avoidableFromString(EDataType eDataType, String initialValue) {
+		C_avoidable result = C_avoidable.get(initialValue);
+		if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+		return result;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String convertC_avoidableToString(EDataType eDataType, Object instanceValue) {
+		return instanceValue == null ? null : instanceValue.toString();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public FailureType createFailureTypeFromString(EDataType eDataType, String initialValue) {
+		FailureType result = FailureType.get(initialValue);
+		if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+		return result;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String convertFailureTypeToString(EDataType eDataType, Object instanceValue) {
+		return instanceValue == null ? null : instanceValue.toString();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public A_avoidable createA_avoidableFromString(EDataType eDataType, String initialValue) {
+		A_avoidable result = A_avoidable.get(initialValue);
+		if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+		return result;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String convertA_avoidableToString(EDataType eDataType, Object instanceValue) {
+		return instanceValue == null ? null : instanceValue.toString();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public A_mitigation createA_mitigationFromString(EDataType eDataType, String initialValue) {
+		A_mitigation result = A_mitigation.get(initialValue);
+		if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+		return result;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String convertA_mitigationToString(EDataType eDataType, Object instanceValue) {
+		return instanceValue == null ? null : instanceValue.toString();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public C_mitigation createC_mitigationFromString(EDataType eDataType, String initialValue) {
+		C_mitigation result = C_mitigation.get(initialValue);
+		if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+		return result;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String convertC_mitigationToString(EDataType eDataType, Object instanceValue) {
+		return instanceValue == null ? null : instanceValue.toString();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public I_mitigation createI_mitigationFromString(EDataType eDataType, String initialValue) {
+		I_mitigation result = I_mitigation.get(initialValue);
+		if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+		return result;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String convertI_mitigationToString(EDataType eDataType, Object instanceValue) {
+		return instanceValue == null ? null : instanceValue.toString();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public D_mitigation createD_mitigationFromString(EDataType eDataType, String initialValue) {
+		D_mitigation result = D_mitigation.get(initialValue);
+		if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+		return result;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String convertD_mitigationToString(EDataType eDataType, Object instanceValue) {
+		return instanceValue == null ? null : instanceValue.toString();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public FailurePropagationDataTypesPackage getFailurePropagationDataTypesPackage() {
+		return (FailurePropagationDataTypesPackage)getEPackage();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @deprecated
+	 * @generated
+	 */
+	@Deprecated
+	public static FailurePropagationDataTypesPackage getPackage() {
+		return FailurePropagationDataTypesPackage.eINSTANCE;
+	}
+
+} //FailurePropagationDataTypesFactoryImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/FailurePropagationDataTypes/impl/FailurePropagationDataTypesPackageImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/FailurePropagationDataTypes/impl/FailurePropagationDataTypesPackageImpl.java
new file mode 100644
index 000000000..5b073bb2f
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/FailurePropagationDataTypes/impl/FailurePropagationDataTypesPackageImpl.java
@@ -0,0 +1,493 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.impl;
+
+import org.eclipse.emf.ecore.EEnum;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+import org.eclipse.papyrus.MARTE.MARTEPackage;
+import org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.BasicNFP_TypesPackage;
+import org.eclipse.papyrus.MARTE_Library.GRM_BasicTypes.GRM_BasicTypesPackage;
+import org.eclipse.papyrus.MARTE_Library.MARTE_DataTypes.MARTE_DataTypesPackage;
+import org.eclipse.papyrus.MARTE_Library.MARTE_PrimitivesTypes.MARTE_PrimitivesTypesPackage;
+import org.eclipse.papyrus.MARTE_Library.MeasurementUnits.MeasurementUnitsPackage;
+import org.eclipse.papyrus.MARTE_Library.RS_Library.RS_LibraryPackage;
+import org.eclipse.papyrus.MARTE_Library.TimeLibrary.TimeLibraryPackage;
+import org.eclipse.papyrus.MARTE_Library.TimeTypesLibrary.TimeTypesLibraryPackage;
+import org.polarsys.chess.chessmlprofile.chessmlprofilePackage;
+import org.polarsys.chess.chessmlprofile.ComponentModel.ComponentModelPackage;
+import org.polarsys.chess.chessmlprofile.ComponentModel.impl.ComponentModelPackageImpl;
+import org.polarsys.chess.chessmlprofile.Core.CorePackage;
+import org.polarsys.chess.chessmlprofile.Core.CHESSViews.CHESSViewsPackage;
+import org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl.CHESSViewsPackageImpl;
+import org.polarsys.chess.chessmlprofile.Core.impl.CorePackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.DataFlowCallGraph.DataFlowCallGraphPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.DataFlowCallGraph.impl.DataFlowCallGraphPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.DependableComponentPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.impl.DependableComponentPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEAPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEADataTypes.FMEADataTypesPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEADataTypes.impl.FMEADataTypesPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.impl.FMEAPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.A_avoidable;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.A_mitigation;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.C_avoidable;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.C_mitigation;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.D_avoidable;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.D_mitigation;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.FailurePropagationDataTypesFactory;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.FailurePropagationDataTypesPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.FailureType;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.I_avoidable;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.I_mitigation;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl.FailurePropagationPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans.MitigationMeansPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans.impl.MitigationMeansPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.FaultTolerancePackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.impl.FaultTolerancePackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.MaintenanceMonitoringPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.impl.MaintenanceMonitoringPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.StateBasedAnalysisPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.impl.StateBasedAnalysisPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StateBasedComponentsPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.impl.StateBasedComponentsPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.StateBasedDataTypesPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.impl.StateBasedDataTypesPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatsPropagationPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.ThreatsPropagationPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.DeploymentConfAnalysisPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.impl.DeploymentConfAnalysisPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HardwareBaselinePackage;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.HardwareBaselinePackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTComponentModelPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.RTDataTypesPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.impl.RTDataTypesPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.impl.RTComponentModelPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingAnalysisPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.TimingConstraintsPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.impl.TimingConstraintsPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.impl.TimingAnalysisPackageImpl;
+import org.polarsys.chess.chessmlprofile.impl.chessmlprofilePackageImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class FailurePropagationDataTypesPackageImpl extends EPackageImpl implements FailurePropagationDataTypesPackage {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EEnum d_avoidableEEnum = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EEnum i_avoidableEEnum = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EEnum c_avoidableEEnum = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EEnum failureTypeEEnum = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EEnum a_avoidableEEnum = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EEnum a_mitigationEEnum = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EEnum c_mitigationEEnum = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EEnum i_mitigationEEnum = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EEnum d_mitigationEEnum = null;
+
+	/**
+	 * Creates an instance of the model <b>Package</b>, registered with
+	 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+	 * package URI value.
+	 * <p>Note: the correct way to create the package is via the static
+	 * factory method {@link #init init()}, which also performs
+	 * initialization of the package, or returns the registered package,
+	 * if one already exists.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.emf.ecore.EPackage.Registry
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.FailurePropagationDataTypesPackage#eNS_URI
+	 * @see #init()
+	 * @generated
+	 */
+	private FailurePropagationDataTypesPackageImpl() {
+		super(eNS_URI, FailurePropagationDataTypesFactory.eINSTANCE);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static boolean isInited = false;
+
+	/**
+	 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+	 * 
+	 * <p>This method is used to initialize {@link FailurePropagationDataTypesPackage#eINSTANCE} when that field is accessed.
+	 * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #eNS_URI
+	 * @see #createPackageContents()
+	 * @see #initializePackageContents()
+	 * @generated
+	 */
+	public static FailurePropagationDataTypesPackage init() {
+		if (isInited) return (FailurePropagationDataTypesPackage)EPackage.Registry.INSTANCE.getEPackage(FailurePropagationDataTypesPackage.eNS_URI);
+
+		// Obtain or create and register package
+		FailurePropagationDataTypesPackageImpl theFailurePropagationDataTypesPackage = (FailurePropagationDataTypesPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof FailurePropagationDataTypesPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new FailurePropagationDataTypesPackageImpl());
+
+		isInited = true;
+
+		// Initialize simple dependencies
+		MARTEPackage.eINSTANCE.eClass();
+		MeasurementUnitsPackage.eINSTANCE.eClass();
+		GRM_BasicTypesPackage.eINSTANCE.eClass();
+		MARTE_DataTypesPackage.eINSTANCE.eClass();
+		BasicNFP_TypesPackage.eINSTANCE.eClass();
+		TimeTypesLibraryPackage.eINSTANCE.eClass();
+		TimeLibraryPackage.eINSTANCE.eClass();
+		RS_LibraryPackage.eINSTANCE.eClass();
+		MARTE_PrimitivesTypesPackage.eINSTANCE.eClass();
+		BasicNFP_TypesPackage.eINSTANCE.eClass();
+
+		// Obtain or create and register interdependencies
+		chessmlprofilePackageImpl thechessmlprofilePackage = (chessmlprofilePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(chessmlprofilePackage.eNS_URI) instanceof chessmlprofilePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(chessmlprofilePackage.eNS_URI) : chessmlprofilePackage.eINSTANCE);
+		CorePackageImpl theCorePackage = (CorePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(CorePackage.eNS_URI) instanceof CorePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(CorePackage.eNS_URI) : CorePackage.eINSTANCE);
+		CHESSViewsPackageImpl theCHESSViewsPackage = (CHESSViewsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(CHESSViewsPackage.eNS_URI) instanceof CHESSViewsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(CHESSViewsPackage.eNS_URI) : CHESSViewsPackage.eINSTANCE);
+		FailurePropagationPackageImpl theFailurePropagationPackage = (FailurePropagationPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FailurePropagationPackage.eNS_URI) instanceof FailurePropagationPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FailurePropagationPackage.eNS_URI) : FailurePropagationPackage.eINSTANCE);
+		DependableComponentPackageImpl theDependableComponentPackage = (DependableComponentPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DependableComponentPackage.eNS_URI) instanceof DependableComponentPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DependableComponentPackage.eNS_URI) : DependableComponentPackage.eINSTANCE);
+		ThreatsPropagationPackageImpl theThreatsPropagationPackage = (ThreatsPropagationPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ThreatsPropagationPackage.eNS_URI) instanceof ThreatsPropagationPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ThreatsPropagationPackage.eNS_URI) : ThreatsPropagationPackage.eINSTANCE);
+		DataFlowCallGraphPackageImpl theDataFlowCallGraphPackage = (DataFlowCallGraphPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DataFlowCallGraphPackage.eNS_URI) instanceof DataFlowCallGraphPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DataFlowCallGraphPackage.eNS_URI) : DataFlowCallGraphPackage.eINSTANCE);
+		StateBasedDataTypesPackageImpl theStateBasedDataTypesPackage = (StateBasedDataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(StateBasedDataTypesPackage.eNS_URI) instanceof StateBasedDataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(StateBasedDataTypesPackage.eNS_URI) : StateBasedDataTypesPackage.eINSTANCE);
+		StateBasedComponentsPackageImpl theStateBasedComponentsPackage = (StateBasedComponentsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(StateBasedComponentsPackage.eNS_URI) instanceof StateBasedComponentsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(StateBasedComponentsPackage.eNS_URI) : StateBasedComponentsPackage.eINSTANCE);
+		FaultTolerancePackageImpl theFaultTolerancePackage = (FaultTolerancePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FaultTolerancePackage.eNS_URI) instanceof FaultTolerancePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FaultTolerancePackage.eNS_URI) : FaultTolerancePackage.eINSTANCE);
+		MaintenanceMonitoringPackageImpl theMaintenanceMonitoringPackage = (MaintenanceMonitoringPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(MaintenanceMonitoringPackage.eNS_URI) instanceof MaintenanceMonitoringPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(MaintenanceMonitoringPackage.eNS_URI) : MaintenanceMonitoringPackage.eINSTANCE);
+		StateBasedAnalysisPackageImpl theStateBasedAnalysisPackage = (StateBasedAnalysisPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(StateBasedAnalysisPackage.eNS_URI) instanceof StateBasedAnalysisPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(StateBasedAnalysisPackage.eNS_URI) : StateBasedAnalysisPackage.eINSTANCE);
+		FMEAPackageImpl theFMEAPackage = (FMEAPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FMEAPackage.eNS_URI) instanceof FMEAPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FMEAPackage.eNS_URI) : FMEAPackage.eINSTANCE);
+		FMEADataTypesPackageImpl theFMEADataTypesPackage = (FMEADataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FMEADataTypesPackage.eNS_URI) instanceof FMEADataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FMEADataTypesPackage.eNS_URI) : FMEADataTypesPackage.eINSTANCE);
+		MitigationMeansPackageImpl theMitigationMeansPackage = (MitigationMeansPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(MitigationMeansPackage.eNS_URI) instanceof MitigationMeansPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(MitigationMeansPackage.eNS_URI) : MitigationMeansPackage.eINSTANCE);
+		TimingAnalysisPackageImpl theTimingAnalysisPackage = (TimingAnalysisPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimingAnalysisPackage.eNS_URI) instanceof TimingAnalysisPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimingAnalysisPackage.eNS_URI) : TimingAnalysisPackage.eINSTANCE);
+		TimingConstraintsPackageImpl theTimingConstraintsPackage = (TimingConstraintsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimingConstraintsPackage.eNS_URI) instanceof TimingConstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimingConstraintsPackage.eNS_URI) : TimingConstraintsPackage.eINSTANCE);
+		HardwareBaselinePackageImpl theHardwareBaselinePackage = (HardwareBaselinePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HardwareBaselinePackage.eNS_URI) instanceof HardwareBaselinePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HardwareBaselinePackage.eNS_URI) : HardwareBaselinePackage.eINSTANCE);
+		DeploymentConfAnalysisPackageImpl theDeploymentConfAnalysisPackage = (DeploymentConfAnalysisPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DeploymentConfAnalysisPackage.eNS_URI) instanceof DeploymentConfAnalysisPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DeploymentConfAnalysisPackage.eNS_URI) : DeploymentConfAnalysisPackage.eINSTANCE);
+		RTComponentModelPackageImpl theRTComponentModelPackage = (RTComponentModelPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RTComponentModelPackage.eNS_URI) instanceof RTComponentModelPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RTComponentModelPackage.eNS_URI) : RTComponentModelPackage.eINSTANCE);
+		RTDataTypesPackageImpl theRTDataTypesPackage = (RTDataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RTDataTypesPackage.eNS_URI) instanceof RTDataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RTDataTypesPackage.eNS_URI) : RTDataTypesPackage.eINSTANCE);
+		ComponentModelPackageImpl theComponentModelPackage = (ComponentModelPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ComponentModelPackage.eNS_URI) instanceof ComponentModelPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ComponentModelPackage.eNS_URI) : ComponentModelPackage.eINSTANCE);
+
+		// Create package meta-data objects
+		theFailurePropagationDataTypesPackage.createPackageContents();
+		thechessmlprofilePackage.createPackageContents();
+		theCorePackage.createPackageContents();
+		theCHESSViewsPackage.createPackageContents();
+		theFailurePropagationPackage.createPackageContents();
+		theDependableComponentPackage.createPackageContents();
+		theThreatsPropagationPackage.createPackageContents();
+		theDataFlowCallGraphPackage.createPackageContents();
+		theStateBasedDataTypesPackage.createPackageContents();
+		theStateBasedComponentsPackage.createPackageContents();
+		theFaultTolerancePackage.createPackageContents();
+		theMaintenanceMonitoringPackage.createPackageContents();
+		theStateBasedAnalysisPackage.createPackageContents();
+		theFMEAPackage.createPackageContents();
+		theFMEADataTypesPackage.createPackageContents();
+		theMitigationMeansPackage.createPackageContents();
+		theTimingAnalysisPackage.createPackageContents();
+		theTimingConstraintsPackage.createPackageContents();
+		theHardwareBaselinePackage.createPackageContents();
+		theDeploymentConfAnalysisPackage.createPackageContents();
+		theRTComponentModelPackage.createPackageContents();
+		theRTDataTypesPackage.createPackageContents();
+		theComponentModelPackage.createPackageContents();
+
+		// Initialize created meta-data
+		theFailurePropagationDataTypesPackage.initializePackageContents();
+		thechessmlprofilePackage.initializePackageContents();
+		theCorePackage.initializePackageContents();
+		theCHESSViewsPackage.initializePackageContents();
+		theFailurePropagationPackage.initializePackageContents();
+		theDependableComponentPackage.initializePackageContents();
+		theThreatsPropagationPackage.initializePackageContents();
+		theDataFlowCallGraphPackage.initializePackageContents();
+		theStateBasedDataTypesPackage.initializePackageContents();
+		theStateBasedComponentsPackage.initializePackageContents();
+		theFaultTolerancePackage.initializePackageContents();
+		theMaintenanceMonitoringPackage.initializePackageContents();
+		theStateBasedAnalysisPackage.initializePackageContents();
+		theFMEAPackage.initializePackageContents();
+		theFMEADataTypesPackage.initializePackageContents();
+		theMitigationMeansPackage.initializePackageContents();
+		theTimingAnalysisPackage.initializePackageContents();
+		theTimingConstraintsPackage.initializePackageContents();
+		theHardwareBaselinePackage.initializePackageContents();
+		theDeploymentConfAnalysisPackage.initializePackageContents();
+		theRTComponentModelPackage.initializePackageContents();
+		theRTDataTypesPackage.initializePackageContents();
+		theComponentModelPackage.initializePackageContents();
+
+		// Mark meta-data to indicate it can't be changed
+		theFailurePropagationDataTypesPackage.freeze();
+
+  
+		// Update the registry and return the package
+		EPackage.Registry.INSTANCE.put(FailurePropagationDataTypesPackage.eNS_URI, theFailurePropagationDataTypesPackage);
+		return theFailurePropagationDataTypesPackage;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EEnum getD_avoidable() {
+		return d_avoidableEEnum;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EEnum getI_avoidable() {
+		return i_avoidableEEnum;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EEnum getC_avoidable() {
+		return c_avoidableEEnum;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EEnum getFailureType() {
+		return failureTypeEEnum;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EEnum getA_avoidable() {
+		return a_avoidableEEnum;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EEnum getA_mitigation() {
+		return a_mitigationEEnum;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EEnum getC_mitigation() {
+		return c_mitigationEEnum;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EEnum getI_mitigation() {
+		return i_mitigationEEnum;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EEnum getD_mitigation() {
+		return d_mitigationEEnum;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public FailurePropagationDataTypesFactory getFailurePropagationDataTypesFactory() {
+		return (FailurePropagationDataTypesFactory)getEFactoryInstance();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isCreated = false;
+
+	/**
+	 * Creates the meta-model objects for the package.  This method is
+	 * guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void createPackageContents() {
+		if (isCreated) return;
+		isCreated = true;
+
+		// Create enums
+		d_avoidableEEnum = createEEnum(DAVOIDABLE);
+		i_avoidableEEnum = createEEnum(IAVOIDABLE);
+		c_avoidableEEnum = createEEnum(CAVOIDABLE);
+		failureTypeEEnum = createEEnum(FAILURE_TYPE);
+		a_avoidableEEnum = createEEnum(AAVOIDABLE);
+		a_mitigationEEnum = createEEnum(AMITIGATION);
+		c_mitigationEEnum = createEEnum(CMITIGATION);
+		i_mitigationEEnum = createEEnum(IMITIGATION);
+		d_mitigationEEnum = createEEnum(DMITIGATION);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isInitialized = false;
+
+	/**
+	 * Complete the initialization of the package and its meta-model.  This
+	 * method is guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void initializePackageContents() {
+		if (isInitialized) return;
+		isInitialized = true;
+
+		// Initialize package
+		setName(eNAME);
+		setNsPrefix(eNS_PREFIX);
+		setNsURI(eNS_URI);
+
+		// Initialize enums and add enum literals
+		initEEnum(d_avoidableEEnum, D_avoidable.class, "D_avoidable");
+		addEEnumLiteral(d_avoidableEEnum, D_avoidable.UNSPECIFIED);
+		addEEnumLiteral(d_avoidableEEnum, D_avoidable.IMPERMANENCE);
+		addEEnumLiteral(d_avoidableEEnum, D_avoidable.NONE);
+
+		initEEnum(i_avoidableEEnum, I_avoidable.class, "I_avoidable");
+		addEEnumLiteral(i_avoidableEEnum, I_avoidable.UNSPECIFIED);
+		addEEnumLiteral(i_avoidableEEnum, I_avoidable.INTERFERENCE);
+		addEEnumLiteral(i_avoidableEEnum, I_avoidable.NONE);
+
+		initEEnum(c_avoidableEEnum, C_avoidable.class, "C_avoidable");
+		addEEnumLiteral(c_avoidableEEnum, C_avoidable.UNSPECIFIED);
+		addEEnumLiteral(c_avoidableEEnum, C_avoidable.INCONSISTENCY);
+		addEEnumLiteral(c_avoidableEEnum, C_avoidable.NONE);
+
+		initEEnum(failureTypeEEnum, FailureType.class, "FailureType");
+		addEEnumLiteral(failureTypeEEnum, FailureType.LATE);
+		addEEnumLiteral(failureTypeEEnum, FailureType.EARLY);
+		addEEnumLiteral(failureTypeEEnum, FailureType.VALUE_SUBTLE);
+		addEEnumLiteral(failureTypeEEnum, FailureType.VALUE_COARSE);
+		addEEnumLiteral(failureTypeEEnum, FailureType.OMISSION);
+		addEEnumLiteral(failureTypeEEnum, FailureType.COMMISSION);
+		addEEnumLiteral(failureTypeEEnum, FailureType.NO_FAILURE);
+		addEEnumLiteral(failureTypeEEnum, FailureType.VARIABLE);
+		addEEnumLiteral(failureTypeEEnum, FailureType.WILDCARD);
+
+		initEEnum(a_avoidableEEnum, A_avoidable.class, "A_avoidable");
+		addEEnumLiteral(a_avoidableEEnum, A_avoidable.UNSPECIFIED);
+		addEEnumLiteral(a_avoidableEEnum, A_avoidable.INCOMPLETION);
+		addEEnumLiteral(a_avoidableEEnum, A_avoidable.NONE);
+
+		initEEnum(a_mitigationEEnum, A_mitigation.class, "A_mitigation");
+		addEEnumLiteral(a_mitigationEEnum, A_mitigation.UNSPECIFIED);
+		addEEnumLiteral(a_mitigationEEnum, A_mitigation.ALL_OR_NOTHING);
+		addEEnumLiteral(a_mitigationEEnum, A_mitigation.ALL_OR_COMPENSATION);
+		addEEnumLiteral(a_mitigationEEnum, A_mitigation.NONE);
+
+		initEEnum(c_mitigationEEnum, C_mitigation.class, "C_mitigation");
+		addEEnumLiteral(c_mitigationEEnum, C_mitigation.UNSPECIFIED);
+		addEEnumLiteral(c_mitigationEEnum, C_mitigation.FULL_CONSISTENCY);
+		addEEnumLiteral(c_mitigationEEnum, C_mitigation.RANGE_VIOLATION_ALLOWED);
+		addEEnumLiteral(c_mitigationEEnum, C_mitigation.NONE);
+
+		initEEnum(i_mitigationEEnum, I_mitigation.class, "I_mitigation");
+		addEEnumLiteral(i_mitigationEEnum, I_mitigation.UNSPECIFIED);
+		addEEnumLiteral(i_mitigationEEnum, I_mitigation.PORTABLE_LEVEL);
+		addEEnumLiteral(i_mitigationEEnum, I_mitigation.SERIALIZABLE);
+		addEEnumLiteral(i_mitigationEEnum, I_mitigation.NONE);
+
+		initEEnum(d_mitigationEEnum, D_mitigation.class, "D_mitigation");
+		addEEnumLiteral(d_mitigationEEnum, D_mitigation.UNSPECIFIED);
+		addEEnumLiteral(d_mitigationEEnum, D_mitigation.NO_LOSS);
+		addEEnumLiteral(d_mitigationEEnum, D_mitigation.PARTIAL_LOSS_ALLOWED);
+		addEEnumLiteral(d_mitigationEEnum, D_mitigation.NONE);
+	}
+
+} //FailurePropagationDataTypesPackageImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/FailurePropagationFactory.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/FailurePropagationFactory.java
new file mode 100644
index 000000000..23c443a13
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/FailurePropagationFactory.java
@@ -0,0 +1,123 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationPackage
+ * @generated
+ */
+public interface FailurePropagationFactory extends EFactory {
+	/**
+	 * The singleton instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	FailurePropagationFactory eINSTANCE = org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl.FailurePropagationFactoryImpl.init();
+
+	/**
+	 * Returns a new object of class '<em>FPTC</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>FPTC</em>'.
+	 * @generated
+	 */
+	FPTC createFPTC();
+
+	/**
+	 * Returns a new object of class '<em>Analysis</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Analysis</em>'.
+	 * @generated
+	 */
+	FailurePropagationAnalysis createFailurePropagationAnalysis();
+
+	/**
+	 * Returns a new object of class '<em>FPTC Specification</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>FPTC Specification</em>'.
+	 * @generated
+	 */
+	FPTCSpecification createFPTCSpecification();
+
+	/**
+	 * Returns a new object of class '<em>FPTC Port Slot</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>FPTC Port Slot</em>'.
+	 * @generated
+	 */
+	FPTCPortSlot createFPTCPortSlot();
+
+	/**
+	 * Returns a new object of class '<em>FI4FA</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>FI4FA</em>'.
+	 * @generated
+	 */
+	FI4FA createFI4FA();
+
+	/**
+	 * Returns a new object of class '<em>FI4FA Specification</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>FI4FA Specification</em>'.
+	 * @generated
+	 */
+	FI4FASpecification createFI4FASpecification();
+
+	/**
+	 * Returns a new object of class '<em>ACID Avoidable</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>ACID Avoidable</em>'.
+	 * @generated
+	 */
+	ACIDAvoidable createACIDAvoidable();
+
+	/**
+	 * Returns a new object of class '<em>ACID Mitigation</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>ACID Mitigation</em>'.
+	 * @generated
+	 */
+	ACIDMitigation createACIDMitigation();
+
+	/**
+	 * Returns a new object of class '<em>FI4FA Analysis</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>FI4FA Analysis</em>'.
+	 * @generated
+	 */
+	FI4FAAnalysis createFI4FAAnalysis();
+
+	/**
+	 * Returns the package supported by this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the package supported by this factory.
+	 * @generated
+	 */
+	FailurePropagationPackage getFailurePropagationPackage();
+
+} //FailurePropagationFactory
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/FailurePropagationPackage.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/FailurePropagationPackage.java
new file mode 100644
index 000000000..7d48c4ea8
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/FailurePropagationPackage.java
@@ -0,0 +1,1157 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.GQAM.GQAMPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.DependableComponentPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ *   <li>each class,</li>
+ *   <li>each feature of each class,</li>
+ *   <li>each enum,</li>
+ *   <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface FailurePropagationPackage extends EPackage {
+	/**
+	 * The package name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNAME = "FailurePropagation";
+
+	/**
+	 * The package namespace URI.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_URI = "http://CHESS/Dependability/FailurePropagation";
+
+	/**
+	 * The package namespace name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_PREFIX = "FailurePropagation";
+
+	/**
+	 * The singleton instance of the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	FailurePropagationPackage eINSTANCE = org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl.FailurePropagationPackageImpl.init();
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl.FPTCImpl <em>FPTC</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl.FPTCImpl
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl.FailurePropagationPackageImpl#getFPTC()
+	 * @generated
+	 */
+	int FPTC = 0;
+
+	/**
+	 * The feature id for the '<em><b>Base Component</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FPTC__BASE_COMPONENT = DependableComponentPackage.DEPENDABLE_COMPONENT__BASE_COMPONENT;
+
+	/**
+	 * The feature id for the '<em><b>Error Model</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FPTC__ERROR_MODEL = DependableComponentPackage.DEPENDABLE_COMPONENT__ERROR_MODEL;
+
+	/**
+	 * The feature id for the '<em><b>Base Property</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FPTC__BASE_PROPERTY = DependableComponentPackage.DEPENDABLE_COMPONENT__BASE_PROPERTY;
+
+	/**
+	 * The feature id for the '<em><b>Fptc</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FPTC__FPTC = DependableComponentPackage.DEPENDABLE_COMPONENT_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Base Comment</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FPTC__BASE_COMMENT = DependableComponentPackage.DEPENDABLE_COMPONENT_FEATURE_COUNT + 1;
+
+	/**
+	 * The number of structural features of the '<em>FPTC</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FPTC_FEATURE_COUNT = DependableComponentPackage.DEPENDABLE_COMPONENT_FEATURE_COUNT + 2;
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl.FailurePropagationAnalysisImpl <em>Analysis</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl.FailurePropagationAnalysisImpl
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl.FailurePropagationPackageImpl#getFailurePropagationAnalysis()
+	 * @generated
+	 */
+	int FAILURE_PROPAGATION_ANALYSIS = 1;
+
+	/**
+	 * The feature id for the '<em><b>Base Structured Classifier</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FAILURE_PROPAGATION_ANALYSIS__BASE_STRUCTURED_CLASSIFIER = GQAMPackage.GA_ANALYSIS_CONTEXT__BASE_STRUCTURED_CLASSIFIER;
+
+	/**
+	 * The feature id for the '<em><b>Base Package</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FAILURE_PROPAGATION_ANALYSIS__BASE_PACKAGE = GQAMPackage.GA_ANALYSIS_CONTEXT__BASE_PACKAGE;
+
+	/**
+	 * The feature id for the '<em><b>Mode</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FAILURE_PROPAGATION_ANALYSIS__MODE = GQAMPackage.GA_ANALYSIS_CONTEXT__MODE;
+
+	/**
+	 * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FAILURE_PROPAGATION_ANALYSIS__BASE_NAMED_ELEMENT = GQAMPackage.GA_ANALYSIS_CONTEXT__BASE_NAMED_ELEMENT;
+
+	/**
+	 * The feature id for the '<em><b>Context</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FAILURE_PROPAGATION_ANALYSIS__CONTEXT = GQAMPackage.GA_ANALYSIS_CONTEXT__CONTEXT;
+
+	/**
+	 * The feature id for the '<em><b>Workload</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FAILURE_PROPAGATION_ANALYSIS__WORKLOAD = GQAMPackage.GA_ANALYSIS_CONTEXT__WORKLOAD;
+
+	/**
+	 * The feature id for the '<em><b>Platform</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FAILURE_PROPAGATION_ANALYSIS__PLATFORM = GQAMPackage.GA_ANALYSIS_CONTEXT__PLATFORM;
+
+	/**
+	 * The number of structural features of the '<em>Analysis</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FAILURE_PROPAGATION_ANALYSIS_FEATURE_COUNT = GQAMPackage.GA_ANALYSIS_CONTEXT_FEATURE_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl.FPTCSpecificationImpl <em>FPTC Specification</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl.FPTCSpecificationImpl
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl.FailurePropagationPackageImpl#getFPTCSpecification()
+	 * @generated
+	 */
+	int FPTC_SPECIFICATION = 2;
+
+	/**
+	 * The feature id for the '<em><b>Base Comment</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FPTC_SPECIFICATION__BASE_COMMENT = 0;
+
+	/**
+	 * The feature id for the '<em><b>Failure</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FPTC_SPECIFICATION__FAILURE = 1;
+
+	/**
+	 * The feature id for the '<em><b>Part With Port</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FPTC_SPECIFICATION__PART_WITH_PORT = 2;
+
+	/**
+	 * The number of structural features of the '<em>FPTC Specification</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FPTC_SPECIFICATION_FEATURE_COUNT = 3;
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl.FPTCPortSlotImpl <em>FPTC Port Slot</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl.FPTCPortSlotImpl
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl.FailurePropagationPackageImpl#getFPTCPortSlot()
+	 * @generated
+	 */
+	int FPTC_PORT_SLOT = 3;
+
+	/**
+	 * The feature id for the '<em><b>FPTC Specification</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FPTC_PORT_SLOT__FPTC_SPECIFICATION = 0;
+
+	/**
+	 * The feature id for the '<em><b>Base Slot</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FPTC_PORT_SLOT__BASE_SLOT = 1;
+
+	/**
+	 * The number of structural features of the '<em>FPTC Port Slot</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FPTC_PORT_SLOT_FEATURE_COUNT = 2;
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl.FI4FAImpl <em>FI4FA</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl.FI4FAImpl
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl.FailurePropagationPackageImpl#getFI4FA()
+	 * @generated
+	 */
+	int FI4FA = 4;
+
+	/**
+	 * The feature id for the '<em><b>Base Component</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FI4FA__BASE_COMPONENT = DependableComponentPackage.DEPENDABLE_COMPONENT__BASE_COMPONENT;
+
+	/**
+	 * The feature id for the '<em><b>Error Model</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FI4FA__ERROR_MODEL = DependableComponentPackage.DEPENDABLE_COMPONENT__ERROR_MODEL;
+
+	/**
+	 * The feature id for the '<em><b>Base Property</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FI4FA__BASE_PROPERTY = DependableComponentPackage.DEPENDABLE_COMPONENT__BASE_PROPERTY;
+
+	/**
+	 * The feature id for the '<em><b>Fi4fa</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FI4FA__FI4FA = DependableComponentPackage.DEPENDABLE_COMPONENT_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of structural features of the '<em>FI4FA</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FI4FA_FEATURE_COUNT = DependableComponentPackage.DEPENDABLE_COMPONENT_FEATURE_COUNT + 1;
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl.FI4FASpecificationImpl <em>FI4FA Specification</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl.FI4FASpecificationImpl
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl.FailurePropagationPackageImpl#getFI4FASpecification()
+	 * @generated
+	 */
+	int FI4FA_SPECIFICATION = 5;
+
+	/**
+	 * The feature id for the '<em><b>Base Comment</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FI4FA_SPECIFICATION__BASE_COMMENT = FPTC_SPECIFICATION__BASE_COMMENT;
+
+	/**
+	 * The feature id for the '<em><b>Failure</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FI4FA_SPECIFICATION__FAILURE = FPTC_SPECIFICATION__FAILURE;
+
+	/**
+	 * The feature id for the '<em><b>Part With Port</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FI4FA_SPECIFICATION__PART_WITH_PORT = FPTC_SPECIFICATION__PART_WITH_PORT;
+
+	/**
+	 * The number of structural features of the '<em>FI4FA Specification</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FI4FA_SPECIFICATION_FEATURE_COUNT = FPTC_SPECIFICATION_FEATURE_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl.ACIDAvoidableImpl <em>ACID Avoidable</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl.ACIDAvoidableImpl
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl.FailurePropagationPackageImpl#getACIDAvoidable()
+	 * @generated
+	 */
+	int ACID_AVOIDABLE = 6;
+
+	/**
+	 * The feature id for the '<em><b>A</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACID_AVOIDABLE__A = 0;
+
+	/**
+	 * The feature id for the '<em><b>C</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACID_AVOIDABLE__C = 1;
+
+	/**
+	 * The feature id for the '<em><b>Base Comment</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACID_AVOIDABLE__BASE_COMMENT = 2;
+
+	/**
+	 * The feature id for the '<em><b>I</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACID_AVOIDABLE__I = 3;
+
+	/**
+	 * The feature id for the '<em><b>D</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACID_AVOIDABLE__D = 4;
+
+	/**
+	 * The number of structural features of the '<em>ACID Avoidable</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACID_AVOIDABLE_FEATURE_COUNT = 5;
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl.ACIDMitigationImpl <em>ACID Mitigation</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl.ACIDMitigationImpl
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl.FailurePropagationPackageImpl#getACIDMitigation()
+	 * @generated
+	 */
+	int ACID_MITIGATION = 7;
+
+	/**
+	 * The feature id for the '<em><b>Base Comment</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACID_MITIGATION__BASE_COMMENT = 0;
+
+	/**
+	 * The feature id for the '<em><b>A</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACID_MITIGATION__A = 1;
+
+	/**
+	 * The feature id for the '<em><b>C</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACID_MITIGATION__C = 2;
+
+	/**
+	 * The feature id for the '<em><b>I</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACID_MITIGATION__I = 3;
+
+	/**
+	 * The feature id for the '<em><b>D</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACID_MITIGATION__D = 4;
+
+	/**
+	 * The number of structural features of the '<em>ACID Mitigation</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACID_MITIGATION_FEATURE_COUNT = 5;
+
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl.FI4FAAnalysisImpl <em>FI4FA Analysis</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl.FI4FAAnalysisImpl
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl.FailurePropagationPackageImpl#getFI4FAAnalysis()
+	 * @generated
+	 */
+	int FI4FA_ANALYSIS = 8;
+
+	/**
+	 * The feature id for the '<em><b>Base Structured Classifier</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FI4FA_ANALYSIS__BASE_STRUCTURED_CLASSIFIER = GQAMPackage.GA_ANALYSIS_CONTEXT__BASE_STRUCTURED_CLASSIFIER;
+
+	/**
+	 * The feature id for the '<em><b>Base Package</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FI4FA_ANALYSIS__BASE_PACKAGE = GQAMPackage.GA_ANALYSIS_CONTEXT__BASE_PACKAGE;
+
+	/**
+	 * The feature id for the '<em><b>Mode</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FI4FA_ANALYSIS__MODE = GQAMPackage.GA_ANALYSIS_CONTEXT__MODE;
+
+	/**
+	 * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FI4FA_ANALYSIS__BASE_NAMED_ELEMENT = GQAMPackage.GA_ANALYSIS_CONTEXT__BASE_NAMED_ELEMENT;
+
+	/**
+	 * The feature id for the '<em><b>Context</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FI4FA_ANALYSIS__CONTEXT = GQAMPackage.GA_ANALYSIS_CONTEXT__CONTEXT;
+
+	/**
+	 * The feature id for the '<em><b>Workload</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FI4FA_ANALYSIS__WORKLOAD = GQAMPackage.GA_ANALYSIS_CONTEXT__WORKLOAD;
+
+	/**
+	 * The feature id for the '<em><b>Platform</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FI4FA_ANALYSIS__PLATFORM = GQAMPackage.GA_ANALYSIS_CONTEXT__PLATFORM;
+
+	/**
+	 * The number of structural features of the '<em>FI4FA Analysis</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FI4FA_ANALYSIS_FEATURE_COUNT = GQAMPackage.GA_ANALYSIS_CONTEXT_FEATURE_COUNT + 0;
+
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FPTC <em>FPTC</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>FPTC</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FPTC
+	 * @generated
+	 */
+	EClass getFPTC();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FPTC#getFptc <em>Fptc</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Fptc</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FPTC#getFptc()
+	 * @see #getFPTC()
+	 * @generated
+	 */
+	EAttribute getFPTC_Fptc();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FPTC#getBase_Comment <em>Base Comment</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Base Comment</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FPTC#getBase_Comment()
+	 * @see #getFPTC()
+	 * @generated
+	 */
+	EReference getFPTC_Base_Comment();
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationAnalysis <em>Analysis</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Analysis</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationAnalysis
+	 * @generated
+	 */
+	EClass getFailurePropagationAnalysis();
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FPTCSpecification <em>FPTC Specification</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>FPTC Specification</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FPTCSpecification
+	 * @generated
+	 */
+	EClass getFPTCSpecification();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FPTCSpecification#getBase_Comment <em>Base Comment</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Base Comment</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FPTCSpecification#getBase_Comment()
+	 * @see #getFPTCSpecification()
+	 * @generated
+	 */
+	EReference getFPTCSpecification_Base_Comment();
+
+	/**
+	 * Returns the meta object for the attribute list '{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FPTCSpecification#getFailure <em>Failure</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute list '<em>Failure</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FPTCSpecification#getFailure()
+	 * @see #getFPTCSpecification()
+	 * @generated
+	 */
+	EAttribute getFPTCSpecification_Failure();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FPTCSpecification#getPartWithPort <em>Part With Port</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Part With Port</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FPTCSpecification#getPartWithPort()
+	 * @see #getFPTCSpecification()
+	 * @generated
+	 */
+	EReference getFPTCSpecification_PartWithPort();
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FPTCPortSlot <em>FPTC Port Slot</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>FPTC Port Slot</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FPTCPortSlot
+	 * @generated
+	 */
+	EClass getFPTCPortSlot();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FPTCPortSlot#getFPTCSpecification <em>FPTC Specification</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>FPTC Specification</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FPTCPortSlot#getFPTCSpecification()
+	 * @see #getFPTCPortSlot()
+	 * @generated
+	 */
+	EReference getFPTCPortSlot_FPTCSpecification();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FPTCPortSlot#getBase_Slot <em>Base Slot</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Base Slot</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FPTCPortSlot#getBase_Slot()
+	 * @see #getFPTCPortSlot()
+	 * @generated
+	 */
+	EReference getFPTCPortSlot_Base_Slot();
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FI4FA <em>FI4FA</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>FI4FA</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FI4FA
+	 * @generated
+	 */
+	EClass getFI4FA();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FI4FA#getFi4fa <em>Fi4fa</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Fi4fa</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FI4FA#getFi4fa()
+	 * @see #getFI4FA()
+	 * @generated
+	 */
+	EAttribute getFI4FA_Fi4fa();
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FI4FASpecification <em>FI4FA Specification</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>FI4FA Specification</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FI4FASpecification
+	 * @generated
+	 */
+	EClass getFI4FASpecification();
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.ACIDAvoidable <em>ACID Avoidable</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>ACID Avoidable</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.ACIDAvoidable
+	 * @generated
+	 */
+	EClass getACIDAvoidable();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.ACIDAvoidable#getA <em>A</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>A</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.ACIDAvoidable#getA()
+	 * @see #getACIDAvoidable()
+	 * @generated
+	 */
+	EAttribute getACIDAvoidable_A();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.ACIDAvoidable#getC <em>C</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>C</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.ACIDAvoidable#getC()
+	 * @see #getACIDAvoidable()
+	 * @generated
+	 */
+	EAttribute getACIDAvoidable_C();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.ACIDAvoidable#getBase_Comment <em>Base Comment</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Base Comment</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.ACIDAvoidable#getBase_Comment()
+	 * @see #getACIDAvoidable()
+	 * @generated
+	 */
+	EReference getACIDAvoidable_Base_Comment();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.ACIDAvoidable#getI <em>I</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>I</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.ACIDAvoidable#getI()
+	 * @see #getACIDAvoidable()
+	 * @generated
+	 */
+	EAttribute getACIDAvoidable_I();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.ACIDAvoidable#getD <em>D</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>D</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.ACIDAvoidable#getD()
+	 * @see #getACIDAvoidable()
+	 * @generated
+	 */
+	EAttribute getACIDAvoidable_D();
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.ACIDMitigation <em>ACID Mitigation</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>ACID Mitigation</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.ACIDMitigation
+	 * @generated
+	 */
+	EClass getACIDMitigation();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.ACIDMitigation#getBase_Comment <em>Base Comment</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Base Comment</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.ACIDMitigation#getBase_Comment()
+	 * @see #getACIDMitigation()
+	 * @generated
+	 */
+	EReference getACIDMitigation_Base_Comment();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.ACIDMitigation#getA <em>A</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>A</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.ACIDMitigation#getA()
+	 * @see #getACIDMitigation()
+	 * @generated
+	 */
+	EAttribute getACIDMitigation_A();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.ACIDMitigation#getC <em>C</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>C</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.ACIDMitigation#getC()
+	 * @see #getACIDMitigation()
+	 * @generated
+	 */
+	EAttribute getACIDMitigation_C();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.ACIDMitigation#getI <em>I</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>I</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.ACIDMitigation#getI()
+	 * @see #getACIDMitigation()
+	 * @generated
+	 */
+	EAttribute getACIDMitigation_I();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.ACIDMitigation#getD <em>D</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>D</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.ACIDMitigation#getD()
+	 * @see #getACIDMitigation()
+	 * @generated
+	 */
+	EAttribute getACIDMitigation_D();
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FI4FAAnalysis <em>FI4FA Analysis</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>FI4FA Analysis</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FI4FAAnalysis
+	 * @generated
+	 */
+	EClass getFI4FAAnalysis();
+
+	/**
+	 * Returns the factory that creates the instances of the model.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the factory that creates the instances of the model.
+	 * @generated
+	 */
+	FailurePropagationFactory getFailurePropagationFactory();
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * Defines literals for the meta objects that represent
+	 * <ul>
+	 *   <li>each class,</li>
+	 *   <li>each feature of each class,</li>
+	 *   <li>each enum,</li>
+	 *   <li>and each data type</li>
+	 * </ul>
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	interface Literals {
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl.FPTCImpl <em>FPTC</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl.FPTCImpl
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl.FailurePropagationPackageImpl#getFPTC()
+		 * @generated
+		 */
+		EClass FPTC = eINSTANCE.getFPTC();
+
+		/**
+		 * The meta object literal for the '<em><b>Fptc</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute FPTC__FPTC = eINSTANCE.getFPTC_Fptc();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Comment</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference FPTC__BASE_COMMENT = eINSTANCE.getFPTC_Base_Comment();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl.FailurePropagationAnalysisImpl <em>Analysis</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl.FailurePropagationAnalysisImpl
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl.FailurePropagationPackageImpl#getFailurePropagationAnalysis()
+		 * @generated
+		 */
+		EClass FAILURE_PROPAGATION_ANALYSIS = eINSTANCE.getFailurePropagationAnalysis();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl.FPTCSpecificationImpl <em>FPTC Specification</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl.FPTCSpecificationImpl
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl.FailurePropagationPackageImpl#getFPTCSpecification()
+		 * @generated
+		 */
+		EClass FPTC_SPECIFICATION = eINSTANCE.getFPTCSpecification();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Comment</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference FPTC_SPECIFICATION__BASE_COMMENT = eINSTANCE.getFPTCSpecification_Base_Comment();
+
+		/**
+		 * The meta object literal for the '<em><b>Failure</b></em>' attribute list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute FPTC_SPECIFICATION__FAILURE = eINSTANCE.getFPTCSpecification_Failure();
+
+		/**
+		 * The meta object literal for the '<em><b>Part With Port</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference FPTC_SPECIFICATION__PART_WITH_PORT = eINSTANCE.getFPTCSpecification_PartWithPort();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl.FPTCPortSlotImpl <em>FPTC Port Slot</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl.FPTCPortSlotImpl
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl.FailurePropagationPackageImpl#getFPTCPortSlot()
+		 * @generated
+		 */
+		EClass FPTC_PORT_SLOT = eINSTANCE.getFPTCPortSlot();
+
+		/**
+		 * The meta object literal for the '<em><b>FPTC Specification</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference FPTC_PORT_SLOT__FPTC_SPECIFICATION = eINSTANCE.getFPTCPortSlot_FPTCSpecification();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Slot</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference FPTC_PORT_SLOT__BASE_SLOT = eINSTANCE.getFPTCPortSlot_Base_Slot();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl.FI4FAImpl <em>FI4FA</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl.FI4FAImpl
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl.FailurePropagationPackageImpl#getFI4FA()
+		 * @generated
+		 */
+		EClass FI4FA = eINSTANCE.getFI4FA();
+
+		/**
+		 * The meta object literal for the '<em><b>Fi4fa</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute FI4FA__FI4FA = eINSTANCE.getFI4FA_Fi4fa();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl.FI4FASpecificationImpl <em>FI4FA Specification</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl.FI4FASpecificationImpl
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl.FailurePropagationPackageImpl#getFI4FASpecification()
+		 * @generated
+		 */
+		EClass FI4FA_SPECIFICATION = eINSTANCE.getFI4FASpecification();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl.ACIDAvoidableImpl <em>ACID Avoidable</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl.ACIDAvoidableImpl
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl.FailurePropagationPackageImpl#getACIDAvoidable()
+		 * @generated
+		 */
+		EClass ACID_AVOIDABLE = eINSTANCE.getACIDAvoidable();
+
+		/**
+		 * The meta object literal for the '<em><b>A</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute ACID_AVOIDABLE__A = eINSTANCE.getACIDAvoidable_A();
+
+		/**
+		 * The meta object literal for the '<em><b>C</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute ACID_AVOIDABLE__C = eINSTANCE.getACIDAvoidable_C();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Comment</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ACID_AVOIDABLE__BASE_COMMENT = eINSTANCE.getACIDAvoidable_Base_Comment();
+
+		/**
+		 * The meta object literal for the '<em><b>I</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute ACID_AVOIDABLE__I = eINSTANCE.getACIDAvoidable_I();
+
+		/**
+		 * The meta object literal for the '<em><b>D</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute ACID_AVOIDABLE__D = eINSTANCE.getACIDAvoidable_D();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl.ACIDMitigationImpl <em>ACID Mitigation</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl.ACIDMitigationImpl
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl.FailurePropagationPackageImpl#getACIDMitigation()
+		 * @generated
+		 */
+		EClass ACID_MITIGATION = eINSTANCE.getACIDMitigation();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Comment</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ACID_MITIGATION__BASE_COMMENT = eINSTANCE.getACIDMitigation_Base_Comment();
+
+		/**
+		 * The meta object literal for the '<em><b>A</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute ACID_MITIGATION__A = eINSTANCE.getACIDMitigation_A();
+
+		/**
+		 * The meta object literal for the '<em><b>C</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute ACID_MITIGATION__C = eINSTANCE.getACIDMitigation_C();
+
+		/**
+		 * The meta object literal for the '<em><b>I</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute ACID_MITIGATION__I = eINSTANCE.getACIDMitigation_I();
+
+		/**
+		 * The meta object literal for the '<em><b>D</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute ACID_MITIGATION__D = eINSTANCE.getACIDMitigation_D();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl.FI4FAAnalysisImpl <em>FI4FA Analysis</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl.FI4FAAnalysisImpl
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl.FailurePropagationPackageImpl#getFI4FAAnalysis()
+		 * @generated
+		 */
+		EClass FI4FA_ANALYSIS = eINSTANCE.getFI4FAAnalysis();
+
+	}
+
+} //FailurePropagationPackage
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/impl/ACIDAvoidableImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/impl/ACIDAvoidableImpl.java
new file mode 100644
index 000000000..31c270ce0
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/impl/ACIDAvoidableImpl.java
@@ -0,0 +1,397 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.uml2.uml.Comment;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.ACIDAvoidable;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.A_avoidable;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.C_avoidable;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.D_avoidable;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.I_avoidable;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>ACID Avoidable</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl.ACIDAvoidableImpl#getA <em>A</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl.ACIDAvoidableImpl#getC <em>C</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl.ACIDAvoidableImpl#getBase_Comment <em>Base Comment</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl.ACIDAvoidableImpl#getI <em>I</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl.ACIDAvoidableImpl#getD <em>D</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ACIDAvoidableImpl extends EObjectImpl implements ACIDAvoidable {
+	/**
+	 * The default value of the '{@link #getA() <em>A</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getA()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final A_avoidable A_EDEFAULT = A_avoidable.UNSPECIFIED;
+
+	/**
+	 * The cached value of the '{@link #getA() <em>A</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getA()
+	 * @generated
+	 * @ordered
+	 */
+	protected A_avoidable a = A_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getC() <em>C</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getC()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final C_avoidable C_EDEFAULT = C_avoidable.UNSPECIFIED;
+
+	/**
+	 * The cached value of the '{@link #getC() <em>C</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getC()
+	 * @generated
+	 * @ordered
+	 */
+	protected C_avoidable c = C_EDEFAULT;
+
+	/**
+	 * The cached value of the '{@link #getBase_Comment() <em>Base Comment</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBase_Comment()
+	 * @generated
+	 * @ordered
+	 */
+	protected Comment base_Comment;
+
+	/**
+	 * The default value of the '{@link #getI() <em>I</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getI()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final I_avoidable I_EDEFAULT = I_avoidable.UNSPECIFIED;
+
+	/**
+	 * The cached value of the '{@link #getI() <em>I</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getI()
+	 * @generated
+	 * @ordered
+	 */
+	protected I_avoidable i = I_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getD() <em>D</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getD()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final D_avoidable D_EDEFAULT = D_avoidable.UNSPECIFIED;
+
+	/**
+	 * The cached value of the '{@link #getD() <em>D</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getD()
+	 * @generated
+	 * @ordered
+	 */
+	protected D_avoidable d = D_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ACIDAvoidableImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return FailurePropagationPackage.Literals.ACID_AVOIDABLE;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public A_avoidable getA() {
+		return a;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setA(A_avoidable newA) {
+		A_avoidable oldA = a;
+		a = newA == null ? A_EDEFAULT : newA;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, FailurePropagationPackage.ACID_AVOIDABLE__A, oldA, a));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public C_avoidable getC() {
+		return c;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setC(C_avoidable newC) {
+		C_avoidable oldC = c;
+		c = newC == null ? C_EDEFAULT : newC;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, FailurePropagationPackage.ACID_AVOIDABLE__C, oldC, c));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Comment getBase_Comment() {
+		if (base_Comment != null && base_Comment.eIsProxy()) {
+			InternalEObject oldBase_Comment = (InternalEObject)base_Comment;
+			base_Comment = (Comment)eResolveProxy(oldBase_Comment);
+			if (base_Comment != oldBase_Comment) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, FailurePropagationPackage.ACID_AVOIDABLE__BASE_COMMENT, oldBase_Comment, base_Comment));
+			}
+		}
+		return base_Comment;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Comment basicGetBase_Comment() {
+		return base_Comment;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setBase_Comment(Comment newBase_Comment) {
+		Comment oldBase_Comment = base_Comment;
+		base_Comment = newBase_Comment;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, FailurePropagationPackage.ACID_AVOIDABLE__BASE_COMMENT, oldBase_Comment, base_Comment));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public I_avoidable getI() {
+		return i;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setI(I_avoidable newI) {
+		I_avoidable oldI = i;
+		i = newI == null ? I_EDEFAULT : newI;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, FailurePropagationPackage.ACID_AVOIDABLE__I, oldI, i));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public D_avoidable getD() {
+		return d;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setD(D_avoidable newD) {
+		D_avoidable oldD = d;
+		d = newD == null ? D_EDEFAULT : newD;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, FailurePropagationPackage.ACID_AVOIDABLE__D, oldD, d));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case FailurePropagationPackage.ACID_AVOIDABLE__A:
+				return getA();
+			case FailurePropagationPackage.ACID_AVOIDABLE__C:
+				return getC();
+			case FailurePropagationPackage.ACID_AVOIDABLE__BASE_COMMENT:
+				if (resolve) return getBase_Comment();
+				return basicGetBase_Comment();
+			case FailurePropagationPackage.ACID_AVOIDABLE__I:
+				return getI();
+			case FailurePropagationPackage.ACID_AVOIDABLE__D:
+				return getD();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case FailurePropagationPackage.ACID_AVOIDABLE__A:
+				setA((A_avoidable)newValue);
+				return;
+			case FailurePropagationPackage.ACID_AVOIDABLE__C:
+				setC((C_avoidable)newValue);
+				return;
+			case FailurePropagationPackage.ACID_AVOIDABLE__BASE_COMMENT:
+				setBase_Comment((Comment)newValue);
+				return;
+			case FailurePropagationPackage.ACID_AVOIDABLE__I:
+				setI((I_avoidable)newValue);
+				return;
+			case FailurePropagationPackage.ACID_AVOIDABLE__D:
+				setD((D_avoidable)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case FailurePropagationPackage.ACID_AVOIDABLE__A:
+				setA(A_EDEFAULT);
+				return;
+			case FailurePropagationPackage.ACID_AVOIDABLE__C:
+				setC(C_EDEFAULT);
+				return;
+			case FailurePropagationPackage.ACID_AVOIDABLE__BASE_COMMENT:
+				setBase_Comment((Comment)null);
+				return;
+			case FailurePropagationPackage.ACID_AVOIDABLE__I:
+				setI(I_EDEFAULT);
+				return;
+			case FailurePropagationPackage.ACID_AVOIDABLE__D:
+				setD(D_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case FailurePropagationPackage.ACID_AVOIDABLE__A:
+				return a != A_EDEFAULT;
+			case FailurePropagationPackage.ACID_AVOIDABLE__C:
+				return c != C_EDEFAULT;
+			case FailurePropagationPackage.ACID_AVOIDABLE__BASE_COMMENT:
+				return base_Comment != null;
+			case FailurePropagationPackage.ACID_AVOIDABLE__I:
+				return i != I_EDEFAULT;
+			case FailurePropagationPackage.ACID_AVOIDABLE__D:
+				return d != D_EDEFAULT;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (a: ");
+		result.append(a);
+		result.append(", c: ");
+		result.append(c);
+		result.append(", i: ");
+		result.append(i);
+		result.append(", d: ");
+		result.append(d);
+		result.append(')');
+		return result.toString();
+	}
+
+} //ACIDAvoidableImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/impl/ACIDMitigationImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/impl/ACIDMitigationImpl.java
new file mode 100644
index 000000000..555b0d4a3
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/impl/ACIDMitigationImpl.java
@@ -0,0 +1,397 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.uml2.uml.Comment;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.ACIDMitigation;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.A_mitigation;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.C_mitigation;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.D_mitigation;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.I_mitigation;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>ACID Mitigation</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl.ACIDMitigationImpl#getBase_Comment <em>Base Comment</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl.ACIDMitigationImpl#getA <em>A</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl.ACIDMitigationImpl#getC <em>C</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl.ACIDMitigationImpl#getI <em>I</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl.ACIDMitigationImpl#getD <em>D</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ACIDMitigationImpl extends EObjectImpl implements ACIDMitigation {
+	/**
+	 * The cached value of the '{@link #getBase_Comment() <em>Base Comment</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBase_Comment()
+	 * @generated
+	 * @ordered
+	 */
+	protected Comment base_Comment;
+
+	/**
+	 * The default value of the '{@link #getA() <em>A</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getA()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final A_mitigation A_EDEFAULT = A_mitigation.UNSPECIFIED;
+
+	/**
+	 * The cached value of the '{@link #getA() <em>A</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getA()
+	 * @generated
+	 * @ordered
+	 */
+	protected A_mitigation a = A_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getC() <em>C</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getC()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final C_mitigation C_EDEFAULT = C_mitigation.UNSPECIFIED;
+
+	/**
+	 * The cached value of the '{@link #getC() <em>C</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getC()
+	 * @generated
+	 * @ordered
+	 */
+	protected C_mitigation c = C_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getI() <em>I</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getI()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final I_mitigation I_EDEFAULT = I_mitigation.UNSPECIFIED;
+
+	/**
+	 * The cached value of the '{@link #getI() <em>I</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getI()
+	 * @generated
+	 * @ordered
+	 */
+	protected I_mitigation i = I_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getD() <em>D</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getD()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final D_mitigation D_EDEFAULT = D_mitigation.UNSPECIFIED;
+
+	/**
+	 * The cached value of the '{@link #getD() <em>D</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getD()
+	 * @generated
+	 * @ordered
+	 */
+	protected D_mitigation d = D_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ACIDMitigationImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return FailurePropagationPackage.Literals.ACID_MITIGATION;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Comment getBase_Comment() {
+		if (base_Comment != null && base_Comment.eIsProxy()) {
+			InternalEObject oldBase_Comment = (InternalEObject)base_Comment;
+			base_Comment = (Comment)eResolveProxy(oldBase_Comment);
+			if (base_Comment != oldBase_Comment) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, FailurePropagationPackage.ACID_MITIGATION__BASE_COMMENT, oldBase_Comment, base_Comment));
+			}
+		}
+		return base_Comment;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Comment basicGetBase_Comment() {
+		return base_Comment;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setBase_Comment(Comment newBase_Comment) {
+		Comment oldBase_Comment = base_Comment;
+		base_Comment = newBase_Comment;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, FailurePropagationPackage.ACID_MITIGATION__BASE_COMMENT, oldBase_Comment, base_Comment));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public A_mitigation getA() {
+		return a;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setA(A_mitigation newA) {
+		A_mitigation oldA = a;
+		a = newA == null ? A_EDEFAULT : newA;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, FailurePropagationPackage.ACID_MITIGATION__A, oldA, a));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public C_mitigation getC() {
+		return c;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setC(C_mitigation newC) {
+		C_mitigation oldC = c;
+		c = newC == null ? C_EDEFAULT : newC;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, FailurePropagationPackage.ACID_MITIGATION__C, oldC, c));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public I_mitigation getI() {
+		return i;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setI(I_mitigation newI) {
+		I_mitigation oldI = i;
+		i = newI == null ? I_EDEFAULT : newI;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, FailurePropagationPackage.ACID_MITIGATION__I, oldI, i));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public D_mitigation getD() {
+		return d;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setD(D_mitigation newD) {
+		D_mitigation oldD = d;
+		d = newD == null ? D_EDEFAULT : newD;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, FailurePropagationPackage.ACID_MITIGATION__D, oldD, d));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case FailurePropagationPackage.ACID_MITIGATION__BASE_COMMENT:
+				if (resolve) return getBase_Comment();
+				return basicGetBase_Comment();
+			case FailurePropagationPackage.ACID_MITIGATION__A:
+				return getA();
+			case FailurePropagationPackage.ACID_MITIGATION__C:
+				return getC();
+			case FailurePropagationPackage.ACID_MITIGATION__I:
+				return getI();
+			case FailurePropagationPackage.ACID_MITIGATION__D:
+				return getD();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case FailurePropagationPackage.ACID_MITIGATION__BASE_COMMENT:
+				setBase_Comment((Comment)newValue);
+				return;
+			case FailurePropagationPackage.ACID_MITIGATION__A:
+				setA((A_mitigation)newValue);
+				return;
+			case FailurePropagationPackage.ACID_MITIGATION__C:
+				setC((C_mitigation)newValue);
+				return;
+			case FailurePropagationPackage.ACID_MITIGATION__I:
+				setI((I_mitigation)newValue);
+				return;
+			case FailurePropagationPackage.ACID_MITIGATION__D:
+				setD((D_mitigation)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case FailurePropagationPackage.ACID_MITIGATION__BASE_COMMENT:
+				setBase_Comment((Comment)null);
+				return;
+			case FailurePropagationPackage.ACID_MITIGATION__A:
+				setA(A_EDEFAULT);
+				return;
+			case FailurePropagationPackage.ACID_MITIGATION__C:
+				setC(C_EDEFAULT);
+				return;
+			case FailurePropagationPackage.ACID_MITIGATION__I:
+				setI(I_EDEFAULT);
+				return;
+			case FailurePropagationPackage.ACID_MITIGATION__D:
+				setD(D_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case FailurePropagationPackage.ACID_MITIGATION__BASE_COMMENT:
+				return base_Comment != null;
+			case FailurePropagationPackage.ACID_MITIGATION__A:
+				return a != A_EDEFAULT;
+			case FailurePropagationPackage.ACID_MITIGATION__C:
+				return c != C_EDEFAULT;
+			case FailurePropagationPackage.ACID_MITIGATION__I:
+				return i != I_EDEFAULT;
+			case FailurePropagationPackage.ACID_MITIGATION__D:
+				return d != D_EDEFAULT;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (a: ");
+		result.append(a);
+		result.append(", c: ");
+		result.append(c);
+		result.append(", i: ");
+		result.append(i);
+		result.append(", d: ");
+		result.append(d);
+		result.append(')');
+		return result.toString();
+	}
+
+} //ACIDMitigationImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/impl/FI4FAAnalysisImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/impl/FI4FAAnalysisImpl.java
new file mode 100644
index 000000000..0728d7bdd
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/impl/FI4FAAnalysisImpl.java
@@ -0,0 +1,48 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.GQAM.impl.GaAnalysisContextImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FI4FAAnalysis;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>FI4FA Analysis</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class FI4FAAnalysisImpl extends GaAnalysisContextImpl implements FI4FAAnalysis {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected FI4FAAnalysisImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return FailurePropagationPackage.Literals.FI4FA_ANALYSIS;
+	}
+
+} //FI4FAAnalysisImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/impl/FI4FAImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/impl/FI4FAImpl.java
new file mode 100644
index 000000000..2824368cd
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/impl/FI4FAImpl.java
@@ -0,0 +1,169 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.impl.DependableComponentImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FI4FA;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>FI4FA</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl.FI4FAImpl#getFi4fa <em>Fi4fa</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class FI4FAImpl extends DependableComponentImpl implements FI4FA {
+	/**
+	 * The default value of the '{@link #getFi4fa() <em>Fi4fa</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getFi4fa()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String FI4FA_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getFi4fa() <em>Fi4fa</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getFi4fa()
+	 * @generated
+	 * @ordered
+	 */
+	protected String fi4fa = FI4FA_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected FI4FAImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return FailurePropagationPackage.Literals.FI4FA;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getFi4fa() {
+		return fi4fa;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setFi4fa(String newFi4fa) {
+		String oldFi4fa = fi4fa;
+		fi4fa = newFi4fa;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, FailurePropagationPackage.FI4FA__FI4FA, oldFi4fa, fi4fa));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case FailurePropagationPackage.FI4FA__FI4FA:
+				return getFi4fa();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case FailurePropagationPackage.FI4FA__FI4FA:
+				setFi4fa((String)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case FailurePropagationPackage.FI4FA__FI4FA:
+				setFi4fa(FI4FA_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case FailurePropagationPackage.FI4FA__FI4FA:
+				return FI4FA_EDEFAULT == null ? fi4fa != null : !FI4FA_EDEFAULT.equals(fi4fa);
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (fi4fa: ");
+		result.append(fi4fa);
+		result.append(')');
+		return result.toString();
+	}
+
+} //FI4FAImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/impl/FI4FASpecificationImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/impl/FI4FASpecificationImpl.java
new file mode 100644
index 000000000..4d7133ae9
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/impl/FI4FASpecificationImpl.java
@@ -0,0 +1,47 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FI4FASpecification;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>FI4FA Specification</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class FI4FASpecificationImpl extends FPTCSpecificationImpl implements FI4FASpecification {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected FI4FASpecificationImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return FailurePropagationPackage.Literals.FI4FA_SPECIFICATION;
+	}
+
+} //FI4FASpecificationImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/impl/FPTCImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/impl/FPTCImpl.java
new file mode 100644
index 000000000..2b5e23040
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/impl/FPTCImpl.java
@@ -0,0 +1,231 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.uml2.uml.Comment;
+import org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.impl.DependableComponentImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FPTC;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>FPTC</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl.FPTCImpl#getFptc <em>Fptc</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl.FPTCImpl#getBase_Comment <em>Base Comment</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class FPTCImpl extends DependableComponentImpl implements FPTC {
+	/**
+	 * The default value of the '{@link #getFptc() <em>Fptc</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getFptc()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String FPTC_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getFptc() <em>Fptc</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getFptc()
+	 * @generated
+	 * @ordered
+	 */
+	protected String fptc = FPTC_EDEFAULT;
+
+	/**
+	 * The cached value of the '{@link #getBase_Comment() <em>Base Comment</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBase_Comment()
+	 * @generated
+	 * @ordered
+	 */
+	protected Comment base_Comment;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected FPTCImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return FailurePropagationPackage.Literals.FPTC;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getFptc() {
+		return fptc;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setFptc(String newFptc) {
+		String oldFptc = fptc;
+		fptc = newFptc;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, FailurePropagationPackage.FPTC__FPTC, oldFptc, fptc));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Comment getBase_Comment() {
+		if (base_Comment != null && base_Comment.eIsProxy()) {
+			InternalEObject oldBase_Comment = (InternalEObject)base_Comment;
+			base_Comment = (Comment)eResolveProxy(oldBase_Comment);
+			if (base_Comment != oldBase_Comment) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, FailurePropagationPackage.FPTC__BASE_COMMENT, oldBase_Comment, base_Comment));
+			}
+		}
+		return base_Comment;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Comment basicGetBase_Comment() {
+		return base_Comment;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setBase_Comment(Comment newBase_Comment) {
+		Comment oldBase_Comment = base_Comment;
+		base_Comment = newBase_Comment;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, FailurePropagationPackage.FPTC__BASE_COMMENT, oldBase_Comment, base_Comment));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case FailurePropagationPackage.FPTC__FPTC:
+				return getFptc();
+			case FailurePropagationPackage.FPTC__BASE_COMMENT:
+				if (resolve) return getBase_Comment();
+				return basicGetBase_Comment();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case FailurePropagationPackage.FPTC__FPTC:
+				setFptc((String)newValue);
+				return;
+			case FailurePropagationPackage.FPTC__BASE_COMMENT:
+				setBase_Comment((Comment)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case FailurePropagationPackage.FPTC__FPTC:
+				setFptc(FPTC_EDEFAULT);
+				return;
+			case FailurePropagationPackage.FPTC__BASE_COMMENT:
+				setBase_Comment((Comment)null);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case FailurePropagationPackage.FPTC__FPTC:
+				return FPTC_EDEFAULT == null ? fptc != null : !FPTC_EDEFAULT.equals(fptc);
+			case FailurePropagationPackage.FPTC__BASE_COMMENT:
+				return base_Comment != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (fptc: ");
+		result.append(fptc);
+		result.append(')');
+		return result.toString();
+	}
+
+} //FPTCImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/impl/FPTCPortSlotImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/impl/FPTCPortSlotImpl.java
new file mode 100644
index 000000000..331720da3
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/impl/FPTCPortSlotImpl.java
@@ -0,0 +1,224 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.uml2.uml.Slot;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FPTCPortSlot;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FPTCSpecification;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>FPTC Port Slot</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl.FPTCPortSlotImpl#getFPTCSpecification <em>FPTC Specification</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl.FPTCPortSlotImpl#getBase_Slot <em>Base Slot</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class FPTCPortSlotImpl extends EObjectImpl implements FPTCPortSlot {
+	/**
+	 * The cached value of the '{@link #getFPTCSpecification() <em>FPTC Specification</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getFPTCSpecification()
+	 * @generated
+	 * @ordered
+	 */
+	protected FPTCSpecification fptcSpecification;
+
+	/**
+	 * The cached value of the '{@link #getBase_Slot() <em>Base Slot</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBase_Slot()
+	 * @generated
+	 * @ordered
+	 */
+	protected Slot base_Slot;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected FPTCPortSlotImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return FailurePropagationPackage.Literals.FPTC_PORT_SLOT;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public FPTCSpecification getFPTCSpecification() {
+		if (fptcSpecification != null && fptcSpecification.eIsProxy()) {
+			InternalEObject oldFPTCSpecification = (InternalEObject)fptcSpecification;
+			fptcSpecification = (FPTCSpecification)eResolveProxy(oldFPTCSpecification);
+			if (fptcSpecification != oldFPTCSpecification) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, FailurePropagationPackage.FPTC_PORT_SLOT__FPTC_SPECIFICATION, oldFPTCSpecification, fptcSpecification));
+			}
+		}
+		return fptcSpecification;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public FPTCSpecification basicGetFPTCSpecification() {
+		return fptcSpecification;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setFPTCSpecification(FPTCSpecification newFPTCSpecification) {
+		FPTCSpecification oldFPTCSpecification = fptcSpecification;
+		fptcSpecification = newFPTCSpecification;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, FailurePropagationPackage.FPTC_PORT_SLOT__FPTC_SPECIFICATION, oldFPTCSpecification, fptcSpecification));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Slot getBase_Slot() {
+		if (base_Slot != null && base_Slot.eIsProxy()) {
+			InternalEObject oldBase_Slot = (InternalEObject)base_Slot;
+			base_Slot = (Slot)eResolveProxy(oldBase_Slot);
+			if (base_Slot != oldBase_Slot) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, FailurePropagationPackage.FPTC_PORT_SLOT__BASE_SLOT, oldBase_Slot, base_Slot));
+			}
+		}
+		return base_Slot;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Slot basicGetBase_Slot() {
+		return base_Slot;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setBase_Slot(Slot newBase_Slot) {
+		Slot oldBase_Slot = base_Slot;
+		base_Slot = newBase_Slot;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, FailurePropagationPackage.FPTC_PORT_SLOT__BASE_SLOT, oldBase_Slot, base_Slot));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case FailurePropagationPackage.FPTC_PORT_SLOT__FPTC_SPECIFICATION:
+				if (resolve) return getFPTCSpecification();
+				return basicGetFPTCSpecification();
+			case FailurePropagationPackage.FPTC_PORT_SLOT__BASE_SLOT:
+				if (resolve) return getBase_Slot();
+				return basicGetBase_Slot();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case FailurePropagationPackage.FPTC_PORT_SLOT__FPTC_SPECIFICATION:
+				setFPTCSpecification((FPTCSpecification)newValue);
+				return;
+			case FailurePropagationPackage.FPTC_PORT_SLOT__BASE_SLOT:
+				setBase_Slot((Slot)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case FailurePropagationPackage.FPTC_PORT_SLOT__FPTC_SPECIFICATION:
+				setFPTCSpecification((FPTCSpecification)null);
+				return;
+			case FailurePropagationPackage.FPTC_PORT_SLOT__BASE_SLOT:
+				setBase_Slot((Slot)null);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case FailurePropagationPackage.FPTC_PORT_SLOT__FPTC_SPECIFICATION:
+				return fptcSpecification != null;
+			case FailurePropagationPackage.FPTC_PORT_SLOT__BASE_SLOT:
+				return base_Slot != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //FPTCPortSlotImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/impl/FPTCSpecificationImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/impl/FPTCSpecificationImpl.java
new file mode 100644
index 000000000..9b6602da4
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/impl/FPTCSpecificationImpl.java
@@ -0,0 +1,280 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.emf.ecore.util.EDataTypeUniqueEList;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Property;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FPTCSpecification;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.FailureType;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>FPTC Specification</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl.FPTCSpecificationImpl#getBase_Comment <em>Base Comment</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl.FPTCSpecificationImpl#getFailure <em>Failure</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl.FPTCSpecificationImpl#getPartWithPort <em>Part With Port</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class FPTCSpecificationImpl extends EObjectImpl implements FPTCSpecification {
+	/**
+	 * The cached value of the '{@link #getBase_Comment() <em>Base Comment</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBase_Comment()
+	 * @generated
+	 * @ordered
+	 */
+	protected Comment base_Comment;
+
+	/**
+	 * The cached value of the '{@link #getFailure() <em>Failure</em>}' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getFailure()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<FailureType> failure;
+
+	/**
+	 * The cached value of the '{@link #getPartWithPort() <em>Part With Port</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getPartWithPort()
+	 * @generated
+	 * @ordered
+	 */
+	protected Property partWithPort;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected FPTCSpecificationImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return FailurePropagationPackage.Literals.FPTC_SPECIFICATION;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Comment getBase_Comment() {
+		if (base_Comment != null && base_Comment.eIsProxy()) {
+			InternalEObject oldBase_Comment = (InternalEObject)base_Comment;
+			base_Comment = (Comment)eResolveProxy(oldBase_Comment);
+			if (base_Comment != oldBase_Comment) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, FailurePropagationPackage.FPTC_SPECIFICATION__BASE_COMMENT, oldBase_Comment, base_Comment));
+			}
+		}
+		return base_Comment;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Comment basicGetBase_Comment() {
+		return base_Comment;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setBase_Comment(Comment newBase_Comment) {
+		Comment oldBase_Comment = base_Comment;
+		base_Comment = newBase_Comment;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, FailurePropagationPackage.FPTC_SPECIFICATION__BASE_COMMENT, oldBase_Comment, base_Comment));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<FailureType> getFailure() {
+		if (failure == null) {
+			failure = new EDataTypeUniqueEList<FailureType>(FailureType.class, this, FailurePropagationPackage.FPTC_SPECIFICATION__FAILURE);
+		}
+		return failure;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Property getPartWithPort() {
+		if (partWithPort != null && partWithPort.eIsProxy()) {
+			InternalEObject oldPartWithPort = (InternalEObject)partWithPort;
+			partWithPort = (Property)eResolveProxy(oldPartWithPort);
+			if (partWithPort != oldPartWithPort) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, FailurePropagationPackage.FPTC_SPECIFICATION__PART_WITH_PORT, oldPartWithPort, partWithPort));
+			}
+		}
+		return partWithPort;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Property basicGetPartWithPort() {
+		return partWithPort;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setPartWithPort(Property newPartWithPort) {
+		Property oldPartWithPort = partWithPort;
+		partWithPort = newPartWithPort;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, FailurePropagationPackage.FPTC_SPECIFICATION__PART_WITH_PORT, oldPartWithPort, partWithPort));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case FailurePropagationPackage.FPTC_SPECIFICATION__BASE_COMMENT:
+				if (resolve) return getBase_Comment();
+				return basicGetBase_Comment();
+			case FailurePropagationPackage.FPTC_SPECIFICATION__FAILURE:
+				return getFailure();
+			case FailurePropagationPackage.FPTC_SPECIFICATION__PART_WITH_PORT:
+				if (resolve) return getPartWithPort();
+				return basicGetPartWithPort();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case FailurePropagationPackage.FPTC_SPECIFICATION__BASE_COMMENT:
+				setBase_Comment((Comment)newValue);
+				return;
+			case FailurePropagationPackage.FPTC_SPECIFICATION__FAILURE:
+				getFailure().clear();
+				getFailure().addAll((Collection<? extends FailureType>)newValue);
+				return;
+			case FailurePropagationPackage.FPTC_SPECIFICATION__PART_WITH_PORT:
+				setPartWithPort((Property)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case FailurePropagationPackage.FPTC_SPECIFICATION__BASE_COMMENT:
+				setBase_Comment((Comment)null);
+				return;
+			case FailurePropagationPackage.FPTC_SPECIFICATION__FAILURE:
+				getFailure().clear();
+				return;
+			case FailurePropagationPackage.FPTC_SPECIFICATION__PART_WITH_PORT:
+				setPartWithPort((Property)null);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case FailurePropagationPackage.FPTC_SPECIFICATION__BASE_COMMENT:
+				return base_Comment != null;
+			case FailurePropagationPackage.FPTC_SPECIFICATION__FAILURE:
+				return failure != null && !failure.isEmpty();
+			case FailurePropagationPackage.FPTC_SPECIFICATION__PART_WITH_PORT:
+				return partWithPort != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (failure: ");
+		result.append(failure);
+		result.append(')');
+		return result.toString();
+	}
+
+} //FPTCSpecificationImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/impl/FailurePropagationAnalysisImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/impl/FailurePropagationAnalysisImpl.java
new file mode 100644
index 000000000..211877ecb
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/impl/FailurePropagationAnalysisImpl.java
@@ -0,0 +1,48 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.GQAM.impl.GaAnalysisContextImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationAnalysis;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Analysis</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class FailurePropagationAnalysisImpl extends GaAnalysisContextImpl implements FailurePropagationAnalysis {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected FailurePropagationAnalysisImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return FailurePropagationPackage.Literals.FAILURE_PROPAGATION_ANALYSIS;
+	}
+
+} //FailurePropagationAnalysisImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/impl/FailurePropagationFactoryImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/impl/FailurePropagationFactoryImpl.java
new file mode 100644
index 000000000..14c1b31b8
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/impl/FailurePropagationFactoryImpl.java
@@ -0,0 +1,189 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class FailurePropagationFactoryImpl extends EFactoryImpl implements FailurePropagationFactory {
+	/**
+	 * Creates the default factory implementation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static FailurePropagationFactory init() {
+		try {
+			FailurePropagationFactory theFailurePropagationFactory = (FailurePropagationFactory)EPackage.Registry.INSTANCE.getEFactory(FailurePropagationPackage.eNS_URI);
+			if (theFailurePropagationFactory != null) {
+				return theFailurePropagationFactory;
+			}
+		}
+		catch (Exception exception) {
+			EcorePlugin.INSTANCE.log(exception);
+		}
+		return new FailurePropagationFactoryImpl();
+	}
+
+	/**
+	 * Creates an instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public FailurePropagationFactoryImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EObject create(EClass eClass) {
+		switch (eClass.getClassifierID()) {
+			case FailurePropagationPackage.FPTC: return createFPTC();
+			case FailurePropagationPackage.FAILURE_PROPAGATION_ANALYSIS: return createFailurePropagationAnalysis();
+			case FailurePropagationPackage.FPTC_SPECIFICATION: return createFPTCSpecification();
+			case FailurePropagationPackage.FPTC_PORT_SLOT: return createFPTCPortSlot();
+			case FailurePropagationPackage.FI4FA: return createFI4FA();
+			case FailurePropagationPackage.FI4FA_SPECIFICATION: return createFI4FASpecification();
+			case FailurePropagationPackage.ACID_AVOIDABLE: return createACIDAvoidable();
+			case FailurePropagationPackage.ACID_MITIGATION: return createACIDMitigation();
+			case FailurePropagationPackage.FI4FA_ANALYSIS: return createFI4FAAnalysis();
+			default:
+				throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public FPTC createFPTC() {
+		FPTCImpl fptc = new FPTCImpl();
+		return fptc;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public FailurePropagationAnalysis createFailurePropagationAnalysis() {
+		FailurePropagationAnalysisImpl failurePropagationAnalysis = new FailurePropagationAnalysisImpl();
+		return failurePropagationAnalysis;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public FPTCSpecification createFPTCSpecification() {
+		FPTCSpecificationImpl fptcSpecification = new FPTCSpecificationImpl();
+		return fptcSpecification;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public FPTCPortSlot createFPTCPortSlot() {
+		FPTCPortSlotImpl fptcPortSlot = new FPTCPortSlotImpl();
+		return fptcPortSlot;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public FI4FA createFI4FA() {
+		FI4FAImpl fi4FA = new FI4FAImpl();
+		return fi4FA;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public FI4FASpecification createFI4FASpecification() {
+		FI4FASpecificationImpl fi4FASpecification = new FI4FASpecificationImpl();
+		return fi4FASpecification;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ACIDAvoidable createACIDAvoidable() {
+		ACIDAvoidableImpl acidAvoidable = new ACIDAvoidableImpl();
+		return acidAvoidable;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ACIDMitigation createACIDMitigation() {
+		ACIDMitigationImpl acidMitigation = new ACIDMitigationImpl();
+		return acidMitigation;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public FI4FAAnalysis createFI4FAAnalysis() {
+		FI4FAAnalysisImpl fi4FAAnalysis = new FI4FAAnalysisImpl();
+		return fi4FAAnalysis;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public FailurePropagationPackage getFailurePropagationPackage() {
+		return (FailurePropagationPackage)getEPackage();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @deprecated
+	 * @generated
+	 */
+	@Deprecated
+	public static FailurePropagationPackage getPackage() {
+		return FailurePropagationPackage.eINSTANCE;
+	}
+
+} //FailurePropagationFactoryImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/impl/FailurePropagationPackageImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/impl/FailurePropagationPackageImpl.java
new file mode 100644
index 000000000..77f4aecc9
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/impl/FailurePropagationPackageImpl.java
@@ -0,0 +1,706 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+import org.eclipse.papyrus.MARTE.MARTEPackage;
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.GQAM.GQAMPackage;
+import org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.BasicNFP_TypesPackage;
+import org.eclipse.papyrus.MARTE_Library.GRM_BasicTypes.GRM_BasicTypesPackage;
+import org.eclipse.papyrus.MARTE_Library.MARTE_DataTypes.MARTE_DataTypesPackage;
+import org.eclipse.papyrus.MARTE_Library.MARTE_PrimitivesTypes.MARTE_PrimitivesTypesPackage;
+import org.eclipse.papyrus.MARTE_Library.MeasurementUnits.MeasurementUnitsPackage;
+import org.eclipse.papyrus.MARTE_Library.RS_Library.RS_LibraryPackage;
+import org.eclipse.papyrus.MARTE_Library.TimeLibrary.TimeLibraryPackage;
+import org.eclipse.papyrus.MARTE_Library.TimeTypesLibrary.TimeTypesLibraryPackage;
+import org.eclipse.uml2.types.TypesPackage;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.polarsys.chess.chessmlprofile.chessmlprofilePackage;
+import org.polarsys.chess.chessmlprofile.ComponentModel.ComponentModelPackage;
+import org.polarsys.chess.chessmlprofile.ComponentModel.impl.ComponentModelPackageImpl;
+import org.polarsys.chess.chessmlprofile.Core.CorePackage;
+import org.polarsys.chess.chessmlprofile.Core.CHESSViews.CHESSViewsPackage;
+import org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl.CHESSViewsPackageImpl;
+import org.polarsys.chess.chessmlprofile.Core.impl.CorePackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.DataFlowCallGraph.DataFlowCallGraphPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.DataFlowCallGraph.impl.DataFlowCallGraphPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.DependableComponentPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.impl.DependableComponentPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEAPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEADataTypes.FMEADataTypesPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEADataTypes.impl.FMEADataTypesPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.impl.FMEAPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.ACIDAvoidable;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.ACIDMitigation;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FI4FAAnalysis;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FI4FASpecification;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FPTCPortSlot;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FPTCSpecification;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationAnalysis;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationFactory;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.FailurePropagationDataTypesPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.impl.FailurePropagationDataTypesPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans.MitigationMeansPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans.impl.MitigationMeansPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.FaultTolerancePackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.impl.FaultTolerancePackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.MaintenanceMonitoringPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.impl.MaintenanceMonitoringPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.StateBasedAnalysisPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.impl.StateBasedAnalysisPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StateBasedComponentsPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.impl.StateBasedComponentsPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.StateBasedDataTypesPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.impl.StateBasedDataTypesPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatsPropagationPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.ThreatsPropagationPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.DeploymentConfAnalysisPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.impl.DeploymentConfAnalysisPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HardwareBaselinePackage;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.HardwareBaselinePackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTComponentModelPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.RTDataTypesPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.impl.RTDataTypesPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.impl.RTComponentModelPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingAnalysisPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.TimingConstraintsPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.impl.TimingConstraintsPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.impl.TimingAnalysisPackageImpl;
+import org.polarsys.chess.chessmlprofile.impl.chessmlprofilePackageImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class FailurePropagationPackageImpl extends EPackageImpl implements FailurePropagationPackage {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass fptcEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass failurePropagationAnalysisEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass fptcSpecificationEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass fptcPortSlotEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass fi4FAEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass fi4FASpecificationEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass acidAvoidableEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass acidMitigationEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass fi4FAAnalysisEClass = null;
+
+	/**
+	 * Creates an instance of the model <b>Package</b>, registered with
+	 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+	 * package URI value.
+	 * <p>Note: the correct way to create the package is via the static
+	 * factory method {@link #init init()}, which also performs
+	 * initialization of the package, or returns the registered package,
+	 * if one already exists.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.emf.ecore.EPackage.Registry
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationPackage#eNS_URI
+	 * @see #init()
+	 * @generated
+	 */
+	private FailurePropagationPackageImpl() {
+		super(eNS_URI, FailurePropagationFactory.eINSTANCE);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static boolean isInited = false;
+
+	/**
+	 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+	 * 
+	 * <p>This method is used to initialize {@link FailurePropagationPackage#eINSTANCE} when that field is accessed.
+	 * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #eNS_URI
+	 * @see #createPackageContents()
+	 * @see #initializePackageContents()
+	 * @generated
+	 */
+	public static FailurePropagationPackage init() {
+		if (isInited) return (FailurePropagationPackage)EPackage.Registry.INSTANCE.getEPackage(FailurePropagationPackage.eNS_URI);
+
+		// Obtain or create and register package
+		FailurePropagationPackageImpl theFailurePropagationPackage = (FailurePropagationPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof FailurePropagationPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new FailurePropagationPackageImpl());
+
+		isInited = true;
+
+		// Initialize simple dependencies
+		MARTEPackage.eINSTANCE.eClass();
+		MeasurementUnitsPackage.eINSTANCE.eClass();
+		GRM_BasicTypesPackage.eINSTANCE.eClass();
+		MARTE_DataTypesPackage.eINSTANCE.eClass();
+		BasicNFP_TypesPackage.eINSTANCE.eClass();
+		TimeTypesLibraryPackage.eINSTANCE.eClass();
+		TimeLibraryPackage.eINSTANCE.eClass();
+		RS_LibraryPackage.eINSTANCE.eClass();
+		MARTE_PrimitivesTypesPackage.eINSTANCE.eClass();
+		BasicNFP_TypesPackage.eINSTANCE.eClass();
+
+		// Obtain or create and register interdependencies
+		chessmlprofilePackageImpl thechessmlprofilePackage = (chessmlprofilePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(chessmlprofilePackage.eNS_URI) instanceof chessmlprofilePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(chessmlprofilePackage.eNS_URI) : chessmlprofilePackage.eINSTANCE);
+		CorePackageImpl theCorePackage = (CorePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(CorePackage.eNS_URI) instanceof CorePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(CorePackage.eNS_URI) : CorePackage.eINSTANCE);
+		CHESSViewsPackageImpl theCHESSViewsPackage = (CHESSViewsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(CHESSViewsPackage.eNS_URI) instanceof CHESSViewsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(CHESSViewsPackage.eNS_URI) : CHESSViewsPackage.eINSTANCE);
+		FailurePropagationDataTypesPackageImpl theFailurePropagationDataTypesPackage = (FailurePropagationDataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FailurePropagationDataTypesPackage.eNS_URI) instanceof FailurePropagationDataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FailurePropagationDataTypesPackage.eNS_URI) : FailurePropagationDataTypesPackage.eINSTANCE);
+		DependableComponentPackageImpl theDependableComponentPackage = (DependableComponentPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DependableComponentPackage.eNS_URI) instanceof DependableComponentPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DependableComponentPackage.eNS_URI) : DependableComponentPackage.eINSTANCE);
+		ThreatsPropagationPackageImpl theThreatsPropagationPackage = (ThreatsPropagationPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ThreatsPropagationPackage.eNS_URI) instanceof ThreatsPropagationPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ThreatsPropagationPackage.eNS_URI) : ThreatsPropagationPackage.eINSTANCE);
+		DataFlowCallGraphPackageImpl theDataFlowCallGraphPackage = (DataFlowCallGraphPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DataFlowCallGraphPackage.eNS_URI) instanceof DataFlowCallGraphPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DataFlowCallGraphPackage.eNS_URI) : DataFlowCallGraphPackage.eINSTANCE);
+		StateBasedDataTypesPackageImpl theStateBasedDataTypesPackage = (StateBasedDataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(StateBasedDataTypesPackage.eNS_URI) instanceof StateBasedDataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(StateBasedDataTypesPackage.eNS_URI) : StateBasedDataTypesPackage.eINSTANCE);
+		StateBasedComponentsPackageImpl theStateBasedComponentsPackage = (StateBasedComponentsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(StateBasedComponentsPackage.eNS_URI) instanceof StateBasedComponentsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(StateBasedComponentsPackage.eNS_URI) : StateBasedComponentsPackage.eINSTANCE);
+		FaultTolerancePackageImpl theFaultTolerancePackage = (FaultTolerancePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FaultTolerancePackage.eNS_URI) instanceof FaultTolerancePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FaultTolerancePackage.eNS_URI) : FaultTolerancePackage.eINSTANCE);
+		MaintenanceMonitoringPackageImpl theMaintenanceMonitoringPackage = (MaintenanceMonitoringPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(MaintenanceMonitoringPackage.eNS_URI) instanceof MaintenanceMonitoringPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(MaintenanceMonitoringPackage.eNS_URI) : MaintenanceMonitoringPackage.eINSTANCE);
+		StateBasedAnalysisPackageImpl theStateBasedAnalysisPackage = (StateBasedAnalysisPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(StateBasedAnalysisPackage.eNS_URI) instanceof StateBasedAnalysisPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(StateBasedAnalysisPackage.eNS_URI) : StateBasedAnalysisPackage.eINSTANCE);
+		FMEAPackageImpl theFMEAPackage = (FMEAPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FMEAPackage.eNS_URI) instanceof FMEAPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FMEAPackage.eNS_URI) : FMEAPackage.eINSTANCE);
+		FMEADataTypesPackageImpl theFMEADataTypesPackage = (FMEADataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FMEADataTypesPackage.eNS_URI) instanceof FMEADataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FMEADataTypesPackage.eNS_URI) : FMEADataTypesPackage.eINSTANCE);
+		MitigationMeansPackageImpl theMitigationMeansPackage = (MitigationMeansPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(MitigationMeansPackage.eNS_URI) instanceof MitigationMeansPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(MitigationMeansPackage.eNS_URI) : MitigationMeansPackage.eINSTANCE);
+		TimingAnalysisPackageImpl theTimingAnalysisPackage = (TimingAnalysisPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimingAnalysisPackage.eNS_URI) instanceof TimingAnalysisPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimingAnalysisPackage.eNS_URI) : TimingAnalysisPackage.eINSTANCE);
+		TimingConstraintsPackageImpl theTimingConstraintsPackage = (TimingConstraintsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimingConstraintsPackage.eNS_URI) instanceof TimingConstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimingConstraintsPackage.eNS_URI) : TimingConstraintsPackage.eINSTANCE);
+		HardwareBaselinePackageImpl theHardwareBaselinePackage = (HardwareBaselinePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HardwareBaselinePackage.eNS_URI) instanceof HardwareBaselinePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HardwareBaselinePackage.eNS_URI) : HardwareBaselinePackage.eINSTANCE);
+		DeploymentConfAnalysisPackageImpl theDeploymentConfAnalysisPackage = (DeploymentConfAnalysisPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DeploymentConfAnalysisPackage.eNS_URI) instanceof DeploymentConfAnalysisPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DeploymentConfAnalysisPackage.eNS_URI) : DeploymentConfAnalysisPackage.eINSTANCE);
+		RTComponentModelPackageImpl theRTComponentModelPackage = (RTComponentModelPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RTComponentModelPackage.eNS_URI) instanceof RTComponentModelPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RTComponentModelPackage.eNS_URI) : RTComponentModelPackage.eINSTANCE);
+		RTDataTypesPackageImpl theRTDataTypesPackage = (RTDataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RTDataTypesPackage.eNS_URI) instanceof RTDataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RTDataTypesPackage.eNS_URI) : RTDataTypesPackage.eINSTANCE);
+		ComponentModelPackageImpl theComponentModelPackage = (ComponentModelPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ComponentModelPackage.eNS_URI) instanceof ComponentModelPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ComponentModelPackage.eNS_URI) : ComponentModelPackage.eINSTANCE);
+
+		// Create package meta-data objects
+		theFailurePropagationPackage.createPackageContents();
+		thechessmlprofilePackage.createPackageContents();
+		theCorePackage.createPackageContents();
+		theCHESSViewsPackage.createPackageContents();
+		theFailurePropagationDataTypesPackage.createPackageContents();
+		theDependableComponentPackage.createPackageContents();
+		theThreatsPropagationPackage.createPackageContents();
+		theDataFlowCallGraphPackage.createPackageContents();
+		theStateBasedDataTypesPackage.createPackageContents();
+		theStateBasedComponentsPackage.createPackageContents();
+		theFaultTolerancePackage.createPackageContents();
+		theMaintenanceMonitoringPackage.createPackageContents();
+		theStateBasedAnalysisPackage.createPackageContents();
+		theFMEAPackage.createPackageContents();
+		theFMEADataTypesPackage.createPackageContents();
+		theMitigationMeansPackage.createPackageContents();
+		theTimingAnalysisPackage.createPackageContents();
+		theTimingConstraintsPackage.createPackageContents();
+		theHardwareBaselinePackage.createPackageContents();
+		theDeploymentConfAnalysisPackage.createPackageContents();
+		theRTComponentModelPackage.createPackageContents();
+		theRTDataTypesPackage.createPackageContents();
+		theComponentModelPackage.createPackageContents();
+
+		// Initialize created meta-data
+		theFailurePropagationPackage.initializePackageContents();
+		thechessmlprofilePackage.initializePackageContents();
+		theCorePackage.initializePackageContents();
+		theCHESSViewsPackage.initializePackageContents();
+		theFailurePropagationDataTypesPackage.initializePackageContents();
+		theDependableComponentPackage.initializePackageContents();
+		theThreatsPropagationPackage.initializePackageContents();
+		theDataFlowCallGraphPackage.initializePackageContents();
+		theStateBasedDataTypesPackage.initializePackageContents();
+		theStateBasedComponentsPackage.initializePackageContents();
+		theFaultTolerancePackage.initializePackageContents();
+		theMaintenanceMonitoringPackage.initializePackageContents();
+		theStateBasedAnalysisPackage.initializePackageContents();
+		theFMEAPackage.initializePackageContents();
+		theFMEADataTypesPackage.initializePackageContents();
+		theMitigationMeansPackage.initializePackageContents();
+		theTimingAnalysisPackage.initializePackageContents();
+		theTimingConstraintsPackage.initializePackageContents();
+		theHardwareBaselinePackage.initializePackageContents();
+		theDeploymentConfAnalysisPackage.initializePackageContents();
+		theRTComponentModelPackage.initializePackageContents();
+		theRTDataTypesPackage.initializePackageContents();
+		theComponentModelPackage.initializePackageContents();
+
+		// Mark meta-data to indicate it can't be changed
+		theFailurePropagationPackage.freeze();
+
+  
+		// Update the registry and return the package
+		EPackage.Registry.INSTANCE.put(FailurePropagationPackage.eNS_URI, theFailurePropagationPackage);
+		return theFailurePropagationPackage;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getFPTC() {
+		return fptcEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getFPTC_Fptc() {
+		return (EAttribute)fptcEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getFPTC_Base_Comment() {
+		return (EReference)fptcEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getFailurePropagationAnalysis() {
+		return failurePropagationAnalysisEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getFPTCSpecification() {
+		return fptcSpecificationEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getFPTCSpecification_Base_Comment() {
+		return (EReference)fptcSpecificationEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getFPTCSpecification_Failure() {
+		return (EAttribute)fptcSpecificationEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getFPTCSpecification_PartWithPort() {
+		return (EReference)fptcSpecificationEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getFPTCPortSlot() {
+		return fptcPortSlotEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getFPTCPortSlot_FPTCSpecification() {
+		return (EReference)fptcPortSlotEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getFPTCPortSlot_Base_Slot() {
+		return (EReference)fptcPortSlotEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getFI4FA() {
+		return fi4FAEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getFI4FA_Fi4fa() {
+		return (EAttribute)fi4FAEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getFI4FASpecification() {
+		return fi4FASpecificationEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getACIDAvoidable() {
+		return acidAvoidableEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getACIDAvoidable_A() {
+		return (EAttribute)acidAvoidableEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getACIDAvoidable_C() {
+		return (EAttribute)acidAvoidableEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getACIDAvoidable_Base_Comment() {
+		return (EReference)acidAvoidableEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getACIDAvoidable_I() {
+		return (EAttribute)acidAvoidableEClass.getEStructuralFeatures().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getACIDAvoidable_D() {
+		return (EAttribute)acidAvoidableEClass.getEStructuralFeatures().get(4);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getACIDMitigation() {
+		return acidMitigationEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getACIDMitigation_Base_Comment() {
+		return (EReference)acidMitigationEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getACIDMitigation_A() {
+		return (EAttribute)acidMitigationEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getACIDMitigation_C() {
+		return (EAttribute)acidMitigationEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getACIDMitigation_I() {
+		return (EAttribute)acidMitigationEClass.getEStructuralFeatures().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getACIDMitigation_D() {
+		return (EAttribute)acidMitigationEClass.getEStructuralFeatures().get(4);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getFI4FAAnalysis() {
+		return fi4FAAnalysisEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public FailurePropagationFactory getFailurePropagationFactory() {
+		return (FailurePropagationFactory)getEFactoryInstance();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isCreated = false;
+
+	/**
+	 * Creates the meta-model objects for the package.  This method is
+	 * guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void createPackageContents() {
+		if (isCreated) return;
+		isCreated = true;
+
+		// Create classes and their features
+		fptcEClass = createEClass(FPTC);
+		createEAttribute(fptcEClass, FPTC__FPTC);
+		createEReference(fptcEClass, FPTC__BASE_COMMENT);
+
+		failurePropagationAnalysisEClass = createEClass(FAILURE_PROPAGATION_ANALYSIS);
+
+		fptcSpecificationEClass = createEClass(FPTC_SPECIFICATION);
+		createEReference(fptcSpecificationEClass, FPTC_SPECIFICATION__BASE_COMMENT);
+		createEAttribute(fptcSpecificationEClass, FPTC_SPECIFICATION__FAILURE);
+		createEReference(fptcSpecificationEClass, FPTC_SPECIFICATION__PART_WITH_PORT);
+
+		fptcPortSlotEClass = createEClass(FPTC_PORT_SLOT);
+		createEReference(fptcPortSlotEClass, FPTC_PORT_SLOT__FPTC_SPECIFICATION);
+		createEReference(fptcPortSlotEClass, FPTC_PORT_SLOT__BASE_SLOT);
+
+		fi4FAEClass = createEClass(FI4FA);
+		createEAttribute(fi4FAEClass, FI4FA__FI4FA);
+
+		fi4FASpecificationEClass = createEClass(FI4FA_SPECIFICATION);
+
+		acidAvoidableEClass = createEClass(ACID_AVOIDABLE);
+		createEAttribute(acidAvoidableEClass, ACID_AVOIDABLE__A);
+		createEAttribute(acidAvoidableEClass, ACID_AVOIDABLE__C);
+		createEReference(acidAvoidableEClass, ACID_AVOIDABLE__BASE_COMMENT);
+		createEAttribute(acidAvoidableEClass, ACID_AVOIDABLE__I);
+		createEAttribute(acidAvoidableEClass, ACID_AVOIDABLE__D);
+
+		acidMitigationEClass = createEClass(ACID_MITIGATION);
+		createEReference(acidMitigationEClass, ACID_MITIGATION__BASE_COMMENT);
+		createEAttribute(acidMitigationEClass, ACID_MITIGATION__A);
+		createEAttribute(acidMitigationEClass, ACID_MITIGATION__C);
+		createEAttribute(acidMitigationEClass, ACID_MITIGATION__I);
+		createEAttribute(acidMitigationEClass, ACID_MITIGATION__D);
+
+		fi4FAAnalysisEClass = createEClass(FI4FA_ANALYSIS);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isInitialized = false;
+
+	/**
+	 * Complete the initialization of the package and its meta-model.  This
+	 * method is guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void initializePackageContents() {
+		if (isInitialized) return;
+		isInitialized = true;
+
+		// Initialize package
+		setName(eNAME);
+		setNsPrefix(eNS_PREFIX);
+		setNsURI(eNS_URI);
+
+		// Obtain other dependent packages
+		FailurePropagationDataTypesPackage theFailurePropagationDataTypesPackage = (FailurePropagationDataTypesPackage)EPackage.Registry.INSTANCE.getEPackage(FailurePropagationDataTypesPackage.eNS_URI);
+		DependableComponentPackage theDependableComponentPackage = (DependableComponentPackage)EPackage.Registry.INSTANCE.getEPackage(DependableComponentPackage.eNS_URI);
+		TypesPackage theTypesPackage = (TypesPackage)EPackage.Registry.INSTANCE.getEPackage(TypesPackage.eNS_URI);
+		UMLPackage theUMLPackage = (UMLPackage)EPackage.Registry.INSTANCE.getEPackage(UMLPackage.eNS_URI);
+		GQAMPackage theGQAMPackage = (GQAMPackage)EPackage.Registry.INSTANCE.getEPackage(GQAMPackage.eNS_URI);
+
+		// Add subpackages
+		getESubpackages().add(theFailurePropagationDataTypesPackage);
+
+		// Create type parameters
+
+		// Set bounds for type parameters
+
+		// Add supertypes to classes
+		fptcEClass.getESuperTypes().add(theDependableComponentPackage.getDependableComponent());
+		failurePropagationAnalysisEClass.getESuperTypes().add(theGQAMPackage.getGaAnalysisContext());
+		fi4FAEClass.getESuperTypes().add(theDependableComponentPackage.getDependableComponent());
+		fi4FASpecificationEClass.getESuperTypes().add(this.getFPTCSpecification());
+		fi4FAAnalysisEClass.getESuperTypes().add(theGQAMPackage.getGaAnalysisContext());
+
+		// Initialize classes and features; add operations and parameters
+		initEClass(fptcEClass, org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FPTC.class, "FPTC", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getFPTC_Fptc(), theTypesPackage.getString(), "fptc", null, 1, 1, org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FPTC.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEReference(getFPTC_Base_Comment(), theUMLPackage.getComment(), null, "base_Comment", null, 1, 1, org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FPTC.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+		initEClass(failurePropagationAnalysisEClass, FailurePropagationAnalysis.class, "FailurePropagationAnalysis", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+		initEClass(fptcSpecificationEClass, FPTCSpecification.class, "FPTCSpecification", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getFPTCSpecification_Base_Comment(), theUMLPackage.getComment(), null, "base_Comment", null, 1, 1, FPTCSpecification.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getFPTCSpecification_Failure(), theFailurePropagationDataTypesPackage.getFailureType(), "failure", null, 0, -1, FPTCSpecification.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEReference(getFPTCSpecification_PartWithPort(), theUMLPackage.getProperty(), null, "partWithPort", null, 1, 1, FPTCSpecification.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+		initEClass(fptcPortSlotEClass, FPTCPortSlot.class, "FPTCPortSlot", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getFPTCPortSlot_FPTCSpecification(), this.getFPTCSpecification(), null, "FPTCSpecification", null, 1, 1, FPTCPortSlot.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEReference(getFPTCPortSlot_Base_Slot(), theUMLPackage.getSlot(), null, "base_Slot", null, 1, 1, FPTCPortSlot.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+		initEClass(fi4FAEClass, org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FI4FA.class, "FI4FA", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getFI4FA_Fi4fa(), theTypesPackage.getString(), "fi4fa", null, 1, 1, org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FI4FA.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+		initEClass(fi4FASpecificationEClass, FI4FASpecification.class, "FI4FASpecification", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+		initEClass(acidAvoidableEClass, ACIDAvoidable.class, "ACIDAvoidable", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getACIDAvoidable_A(), theFailurePropagationDataTypesPackage.getA_avoidable(), "a", null, 0, 1, ACIDAvoidable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getACIDAvoidable_C(), theFailurePropagationDataTypesPackage.getC_avoidable(), "c", null, 0, 1, ACIDAvoidable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEReference(getACIDAvoidable_Base_Comment(), theUMLPackage.getComment(), null, "base_Comment", null, 1, 1, ACIDAvoidable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getACIDAvoidable_I(), theFailurePropagationDataTypesPackage.getI_avoidable(), "i", null, 0, 1, ACIDAvoidable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getACIDAvoidable_D(), theFailurePropagationDataTypesPackage.getD_avoidable(), "d", null, 0, 1, ACIDAvoidable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+		initEClass(acidMitigationEClass, ACIDMitigation.class, "ACIDMitigation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getACIDMitigation_Base_Comment(), theUMLPackage.getComment(), null, "base_Comment", null, 1, 1, ACIDMitigation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getACIDMitigation_A(), theFailurePropagationDataTypesPackage.getA_mitigation(), "a", null, 0, 1, ACIDMitigation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getACIDMitigation_C(), theFailurePropagationDataTypesPackage.getC_mitigation(), "c", null, 0, 1, ACIDMitigation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getACIDMitigation_I(), theFailurePropagationDataTypesPackage.getI_mitigation(), "i", null, 0, 1, ACIDMitigation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getACIDMitigation_D(), theFailurePropagationDataTypesPackage.getD_mitigation(), "d", null, 0, 1, ACIDMitigation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+		initEClass(fi4FAAnalysisEClass, FI4FAAnalysis.class, "FI4FAAnalysis", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+		// Create annotations
+		// http://www.eclipse.org/uml2/2.0.0/UML
+		createUMLAnnotations();
+	}
+
+	/**
+	 * Initializes the annotations for <b>http://www.eclipse.org/uml2/2.0.0/UML</b>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void createUMLAnnotations() {
+		String source = "http://www.eclipse.org/uml2/2.0.0/UML";	
+		addAnnotation
+		  (acidMitigationEClass, 
+		   source, 
+		   new String[] {
+			 "originalName", "ACIDMitigation "
+		   });
+	}
+
+} //FailurePropagationPackageImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/util/FailurePropagationAdapterFactory.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/util/FailurePropagationAdapterFactory.java
new file mode 100644
index 000000000..2697398f6
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/util/FailurePropagationAdapterFactory.java
@@ -0,0 +1,346 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.GQAM.GaAnalysisContext;
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.ExpressionContext;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.CoreElements.Configuration;
+import org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.DependableComponent;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationPackage
+ * @generated
+ */
+public class FailurePropagationAdapterFactory extends AdapterFactoryImpl {
+	/**
+	 * The cached model package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static FailurePropagationPackage modelPackage;
+
+	/**
+	 * Creates an instance of the adapter factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public FailurePropagationAdapterFactory() {
+		if (modelPackage == null) {
+			modelPackage = FailurePropagationPackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Returns whether this factory is applicable for the type of the object.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+	 * <!-- end-user-doc -->
+	 * @return whether this factory is applicable for the type of the object.
+	 * @generated
+	 */
+	@Override
+	public boolean isFactoryForType(Object object) {
+		if (object == modelPackage) {
+			return true;
+		}
+		if (object instanceof EObject) {
+			return ((EObject)object).eClass().getEPackage() == modelPackage;
+		}
+		return false;
+	}
+
+	/**
+	 * The switch that delegates to the <code>createXXX</code> methods.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected FailurePropagationSwitch<Adapter> modelSwitch =
+		new FailurePropagationSwitch<Adapter>() {
+			@Override
+			public Adapter caseFPTC(FPTC object) {
+				return createFPTCAdapter();
+			}
+			@Override
+			public Adapter caseFailurePropagationAnalysis(FailurePropagationAnalysis object) {
+				return createFailurePropagationAnalysisAdapter();
+			}
+			@Override
+			public Adapter caseFPTCSpecification(FPTCSpecification object) {
+				return createFPTCSpecificationAdapter();
+			}
+			@Override
+			public Adapter caseFPTCPortSlot(FPTCPortSlot object) {
+				return createFPTCPortSlotAdapter();
+			}
+			@Override
+			public Adapter caseFI4FA(FI4FA object) {
+				return createFI4FAAdapter();
+			}
+			@Override
+			public Adapter caseFI4FASpecification(FI4FASpecification object) {
+				return createFI4FASpecificationAdapter();
+			}
+			@Override
+			public Adapter caseACIDAvoidable(ACIDAvoidable object) {
+				return createACIDAvoidableAdapter();
+			}
+			@Override
+			public Adapter caseACIDMitigation(ACIDMitigation object) {
+				return createACIDMitigationAdapter();
+			}
+			@Override
+			public Adapter caseFI4FAAnalysis(FI4FAAnalysis object) {
+				return createFI4FAAnalysisAdapter();
+			}
+			@Override
+			public Adapter caseDependableComponent(DependableComponent object) {
+				return createDependableComponentAdapter();
+			}
+			@Override
+			public Adapter caseConfiguration(Configuration object) {
+				return createConfigurationAdapter();
+			}
+			@Override
+			public Adapter caseExpressionContext(ExpressionContext object) {
+				return createExpressionContextAdapter();
+			}
+			@Override
+			public Adapter caseGaAnalysisContext(GaAnalysisContext object) {
+				return createGaAnalysisContextAdapter();
+			}
+			@Override
+			public Adapter defaultCase(EObject object) {
+				return createEObjectAdapter();
+			}
+		};
+
+	/**
+	 * Creates an adapter for the <code>target</code>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param target the object to adapt.
+	 * @return the adapter for the <code>target</code>.
+	 * @generated
+	 */
+	@Override
+	public Adapter createAdapter(Notifier target) {
+		return modelSwitch.doSwitch((EObject)target);
+	}
+
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FPTC <em>FPTC</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FPTC
+	 * @generated
+	 */
+	public Adapter createFPTCAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationAnalysis <em>Analysis</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationAnalysis
+	 * @generated
+	 */
+	public Adapter createFailurePropagationAnalysisAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FPTCSpecification <em>FPTC Specification</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FPTCSpecification
+	 * @generated
+	 */
+	public Adapter createFPTCSpecificationAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FPTCPortSlot <em>FPTC Port Slot</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FPTCPortSlot
+	 * @generated
+	 */
+	public Adapter createFPTCPortSlotAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FI4FA <em>FI4FA</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FI4FA
+	 * @generated
+	 */
+	public Adapter createFI4FAAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FI4FASpecification <em>FI4FA Specification</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FI4FASpecification
+	 * @generated
+	 */
+	public Adapter createFI4FASpecificationAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.ACIDAvoidable <em>ACID Avoidable</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.ACIDAvoidable
+	 * @generated
+	 */
+	public Adapter createACIDAvoidableAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.ACIDMitigation <em>ACID Mitigation</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.ACIDMitigation
+	 * @generated
+	 */
+	public Adapter createACIDMitigationAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FI4FAAnalysis <em>FI4FA Analysis</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FI4FAAnalysis
+	 * @generated
+	 */
+	public Adapter createFI4FAAnalysisAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.DependableComponent <em>Dependable Component</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.DependableComponent
+	 * @generated
+	 */
+	public Adapter createDependableComponentAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_Foundations.CoreElements.Configuration <em>Configuration</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.papyrus.MARTE.MARTE_Foundations.CoreElements.Configuration
+	 * @generated
+	 */
+	public Adapter createConfigurationAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.ExpressionContext <em>Expression Context</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.ExpressionContext
+	 * @generated
+	 */
+	public Adapter createExpressionContextAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.GQAM.GaAnalysisContext <em>Ga Analysis Context</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.GQAM.GaAnalysisContext
+	 * @generated
+	 */
+	public Adapter createGaAnalysisContextAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for the default case.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @generated
+	 */
+	public Adapter createEObjectAdapter() {
+		return null;
+	}
+
+} //FailurePropagationAdapterFactory
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/util/FailurePropagationResourceFactoryImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/util/FailurePropagationResourceFactoryImpl.java
new file mode 100644
index 000000000..6c6d56cb9
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/util/FailurePropagationResourceFactoryImpl.java
@@ -0,0 +1,61 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.util;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.resource.impl.ResourceFactoryImpl;
+
+import org.eclipse.emf.ecore.xmi.XMLResource;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource Factory</b> associated with the package.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.util.FailurePropagationResourceImpl
+ * @generated
+ */
+public class FailurePropagationResourceFactoryImpl extends ResourceFactoryImpl {
+	/**
+	 * Creates an instance of the resource factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public FailurePropagationResourceFactoryImpl() {
+		super();
+	}
+
+	/**
+	 * Creates an instance of the resource.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Resource createResource(URI uri) {
+		XMLResource result = new FailurePropagationResourceImpl(uri);
+		result.getDefaultSaveOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
+		result.getDefaultLoadOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
+
+		result.getDefaultSaveOptions().put(XMLResource.OPTION_SCHEMA_LOCATION, Boolean.TRUE);
+
+		result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+		result.getDefaultSaveOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+
+		result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_LEXICAL_HANDLER, Boolean.TRUE);
+		return result;
+	}
+
+} //FailurePropagationResourceFactoryImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/util/FailurePropagationResourceImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/util/FailurePropagationResourceImpl.java
new file mode 100644
index 000000000..500869beb
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/util/FailurePropagationResourceImpl.java
@@ -0,0 +1,37 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.util;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource </b> associated with the package.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.util.FailurePropagationResourceFactoryImpl
+ * @generated
+ */
+public class FailurePropagationResourceImpl extends XMLResourceImpl {
+	/**
+	 * Creates an instance of the resource.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param uri the URI of the new resource.
+	 * @generated
+	 */
+	public FailurePropagationResourceImpl(URI uri) {
+		super(uri);
+	}
+
+} //FailurePropagationResourceImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/util/FailurePropagationSwitch.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/util/FailurePropagationSwitch.java
new file mode 100644
index 000000000..43592756c
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/util/FailurePropagationSwitch.java
@@ -0,0 +1,358 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.util.Switch;
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.GQAM.GaAnalysisContext;
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.ExpressionContext;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.CoreElements.Configuration;
+import org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.DependableComponent;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationPackage
+ * @generated
+ */
+public class FailurePropagationSwitch<T> extends Switch<T> {
+	/**
+	 * The cached model package
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static FailurePropagationPackage modelPackage;
+
+	/**
+	 * Creates an instance of the switch.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public FailurePropagationSwitch() {
+		if (modelPackage == null) {
+			modelPackage = FailurePropagationPackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Checks whether this is a switch for the given package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @parameter ePackage the package in question.
+	 * @return whether this is a switch for the given package.
+	 * @generated
+	 */
+	@Override
+	protected boolean isSwitchFor(EPackage ePackage) {
+		return ePackage == modelPackage;
+	}
+
+	/**
+	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the first non-null result returned by a <code>caseXXX</code> call.
+	 * @generated
+	 */
+	@Override
+	protected T doSwitch(int classifierID, EObject theEObject) {
+		switch (classifierID) {
+			case FailurePropagationPackage.FPTC: {
+				FPTC fptc = (FPTC)theEObject;
+				T result = caseFPTC(fptc);
+				if (result == null) result = caseDependableComponent(fptc);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case FailurePropagationPackage.FAILURE_PROPAGATION_ANALYSIS: {
+				FailurePropagationAnalysis failurePropagationAnalysis = (FailurePropagationAnalysis)theEObject;
+				T result = caseFailurePropagationAnalysis(failurePropagationAnalysis);
+				if (result == null) result = caseGaAnalysisContext(failurePropagationAnalysis);
+				if (result == null) result = caseConfiguration(failurePropagationAnalysis);
+				if (result == null) result = caseExpressionContext(failurePropagationAnalysis);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case FailurePropagationPackage.FPTC_SPECIFICATION: {
+				FPTCSpecification fptcSpecification = (FPTCSpecification)theEObject;
+				T result = caseFPTCSpecification(fptcSpecification);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case FailurePropagationPackage.FPTC_PORT_SLOT: {
+				FPTCPortSlot fptcPortSlot = (FPTCPortSlot)theEObject;
+				T result = caseFPTCPortSlot(fptcPortSlot);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case FailurePropagationPackage.FI4FA: {
+				FI4FA fi4FA = (FI4FA)theEObject;
+				T result = caseFI4FA(fi4FA);
+				if (result == null) result = caseDependableComponent(fi4FA);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case FailurePropagationPackage.FI4FA_SPECIFICATION: {
+				FI4FASpecification fi4FASpecification = (FI4FASpecification)theEObject;
+				T result = caseFI4FASpecification(fi4FASpecification);
+				if (result == null) result = caseFPTCSpecification(fi4FASpecification);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case FailurePropagationPackage.ACID_AVOIDABLE: {
+				ACIDAvoidable acidAvoidable = (ACIDAvoidable)theEObject;
+				T result = caseACIDAvoidable(acidAvoidable);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case FailurePropagationPackage.ACID_MITIGATION: {
+				ACIDMitigation acidMitigation = (ACIDMitigation)theEObject;
+				T result = caseACIDMitigation(acidMitigation);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case FailurePropagationPackage.FI4FA_ANALYSIS: {
+				FI4FAAnalysis fi4FAAnalysis = (FI4FAAnalysis)theEObject;
+				T result = caseFI4FAAnalysis(fi4FAAnalysis);
+				if (result == null) result = caseGaAnalysisContext(fi4FAAnalysis);
+				if (result == null) result = caseConfiguration(fi4FAAnalysis);
+				if (result == null) result = caseExpressionContext(fi4FAAnalysis);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			default: return defaultCase(theEObject);
+		}
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>FPTC</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>FPTC</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseFPTC(FPTC object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Analysis</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Analysis</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseFailurePropagationAnalysis(FailurePropagationAnalysis object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>FPTC Specification</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>FPTC Specification</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseFPTCSpecification(FPTCSpecification object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>FPTC Port Slot</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>FPTC Port Slot</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseFPTCPortSlot(FPTCPortSlot object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>FI4FA</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>FI4FA</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseFI4FA(FI4FA object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>FI4FA Specification</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>FI4FA Specification</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseFI4FASpecification(FI4FASpecification object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>ACID Avoidable</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>ACID Avoidable</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseACIDAvoidable(ACIDAvoidable object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>ACID Mitigation</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>ACID Mitigation</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseACIDMitigation(ACIDMitigation object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>FI4FA Analysis</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>FI4FA Analysis</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseFI4FAAnalysis(FI4FAAnalysis object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Dependable Component</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Dependable Component</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseDependableComponent(DependableComponent object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Configuration</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Configuration</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseConfiguration(Configuration object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Expression Context</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Expression Context</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseExpressionContext(ExpressionContext object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Ga Analysis Context</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Ga Analysis Context</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseGaAnalysisContext(GaAnalysisContext object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch, but this is the last case anyway.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+	 * @generated
+	 */
+	@Override
+	public T defaultCase(EObject object) {
+		return null;
+	}
+
+} //FailurePropagationSwitch
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/util/FailurePropagationXMLProcessor.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/util/FailurePropagationXMLProcessor.java
new file mode 100644
index 000000000..c3ca53540
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/FailurePropagation/util/FailurePropagationXMLProcessor.java
@@ -0,0 +1,56 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.util;
+
+import java.util.Map;
+
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.xmi.util.XMLProcessor;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationPackage;
+
+/**
+ * This class contains helper methods to serialize and deserialize XML documents
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class FailurePropagationXMLProcessor extends XMLProcessor {
+
+	/**
+	 * Public constructor to instantiate the helper.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public FailurePropagationXMLProcessor() {
+		super((EPackage.Registry.INSTANCE));
+		FailurePropagationPackage.eINSTANCE.eClass();
+	}
+	
+	/**
+	 * Register for "*" and "xml" file extensions the FailurePropagationResourceFactoryImpl factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected Map<String, Resource.Factory> getRegistrations() {
+		if (registrations == null) {
+			super.getRegistrations();
+			registrations.put(XML_EXTENSION, new FailurePropagationResourceFactoryImpl());
+			registrations.put(STAR_EXTENSION, new FailurePropagationResourceFactoryImpl());
+		}
+		return registrations;
+	}
+
+} //FailurePropagationXMLProcessor
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/MitigationMeans/MitigationMeansFactory.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/MitigationMeans/MitigationMeansFactory.java
new file mode 100644
index 000000000..e1c3d8924
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/MitigationMeans/MitigationMeansFactory.java
@@ -0,0 +1,51 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans.MitigationMeansPackage
+ * @generated
+ */
+public interface MitigationMeansFactory extends EFactory {
+	/**
+	 * The singleton instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	MitigationMeansFactory eINSTANCE = org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans.impl.MitigationMeansFactoryImpl.init();
+
+	/**
+	 * Returns a new object of class '<em>Transmission With Protocol</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Transmission With Protocol</em>'.
+	 * @generated
+	 */
+	TransmissionWithProtocol createTransmissionWithProtocol();
+
+	/**
+	 * Returns the package supported by this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the package supported by this factory.
+	 * @generated
+	 */
+	MitigationMeansPackage getMitigationMeansPackage();
+
+} //MitigationMeansFactory
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/MitigationMeans/MitigationMeansPackage.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/MitigationMeans/MitigationMeansPackage.java
new file mode 100644
index 000000000..e497c5968
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/MitigationMeans/MitigationMeansPackage.java
@@ -0,0 +1,215 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ *   <li>each class,</li>
+ *   <li>each feature of each class,</li>
+ *   <li>each enum,</li>
+ *   <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans.MitigationMeansFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface MitigationMeansPackage extends EPackage {
+	/**
+	 * The package name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNAME = "MitigationMeans";
+
+	/**
+	 * The package namespace URI.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_URI = "http://CHESS.Dependability/MitigationMeans";
+
+	/**
+	 * The package namespace name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_PREFIX = "MitigationMeans";
+
+	/**
+	 * The singleton instance of the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	MitigationMeansPackage eINSTANCE = org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans.impl.MitigationMeansPackageImpl.init();
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans.impl.TransmissionWithProtocolImpl <em>Transmission With Protocol</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans.impl.TransmissionWithProtocolImpl
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans.impl.MitigationMeansPackageImpl#getTransmissionWithProtocol()
+	 * @generated
+	 */
+	int TRANSMISSION_WITH_PROTOCOL = 0;
+
+	/**
+	 * The feature id for the '<em><b>Base Connector</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TRANSMISSION_WITH_PROTOCOL__BASE_CONNECTOR = 0;
+
+	/**
+	 * The feature id for the '<em><b>CRC</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TRANSMISSION_WITH_PROTOCOL__CRC = 1;
+
+	/**
+	 * The feature id for the '<em><b>Use Seq ID</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TRANSMISSION_WITH_PROTOCOL__USE_SEQ_ID = 2;
+
+	/**
+	 * The number of structural features of the '<em>Transmission With Protocol</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TRANSMISSION_WITH_PROTOCOL_FEATURE_COUNT = 3;
+
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans.TransmissionWithProtocol <em>Transmission With Protocol</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Transmission With Protocol</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans.TransmissionWithProtocol
+	 * @generated
+	 */
+	EClass getTransmissionWithProtocol();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans.TransmissionWithProtocol#getBase_Connector <em>Base Connector</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Base Connector</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans.TransmissionWithProtocol#getBase_Connector()
+	 * @see #getTransmissionWithProtocol()
+	 * @generated
+	 */
+	EReference getTransmissionWithProtocol_Base_Connector();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans.TransmissionWithProtocol#getCRC <em>CRC</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>CRC</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans.TransmissionWithProtocol#getCRC()
+	 * @see #getTransmissionWithProtocol()
+	 * @generated
+	 */
+	EAttribute getTransmissionWithProtocol_CRC();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans.TransmissionWithProtocol#isUseSeqID <em>Use Seq ID</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Use Seq ID</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans.TransmissionWithProtocol#isUseSeqID()
+	 * @see #getTransmissionWithProtocol()
+	 * @generated
+	 */
+	EAttribute getTransmissionWithProtocol_UseSeqID();
+
+	/**
+	 * Returns the factory that creates the instances of the model.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the factory that creates the instances of the model.
+	 * @generated
+	 */
+	MitigationMeansFactory getMitigationMeansFactory();
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * Defines literals for the meta objects that represent
+	 * <ul>
+	 *   <li>each class,</li>
+	 *   <li>each feature of each class,</li>
+	 *   <li>each enum,</li>
+	 *   <li>and each data type</li>
+	 * </ul>
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	interface Literals {
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans.impl.TransmissionWithProtocolImpl <em>Transmission With Protocol</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans.impl.TransmissionWithProtocolImpl
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans.impl.MitigationMeansPackageImpl#getTransmissionWithProtocol()
+		 * @generated
+		 */
+		EClass TRANSMISSION_WITH_PROTOCOL = eINSTANCE.getTransmissionWithProtocol();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Connector</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference TRANSMISSION_WITH_PROTOCOL__BASE_CONNECTOR = eINSTANCE.getTransmissionWithProtocol_Base_Connector();
+
+		/**
+		 * The meta object literal for the '<em><b>CRC</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute TRANSMISSION_WITH_PROTOCOL__CRC = eINSTANCE.getTransmissionWithProtocol_CRC();
+
+		/**
+		 * The meta object literal for the '<em><b>Use Seq ID</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute TRANSMISSION_WITH_PROTOCOL__USE_SEQ_ID = eINSTANCE.getTransmissionWithProtocol_UseSeqID();
+
+	}
+
+} //MitigationMeansPackage
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/MitigationMeans/TransmissionWithProtocol.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/MitigationMeans/TransmissionWithProtocol.java
new file mode 100644
index 000000000..7a6ad5fc1
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/MitigationMeans/TransmissionWithProtocol.java
@@ -0,0 +1,115 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.uml2.uml.Connector;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Transmission With Protocol</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans.TransmissionWithProtocol#getBase_Connector <em>Base Connector</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans.TransmissionWithProtocol#getCRC <em>CRC</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans.TransmissionWithProtocol#isUseSeqID <em>Use Seq ID</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans.MitigationMeansPackage#getTransmissionWithProtocol()
+ * @model
+ * @generated
+ */
+public interface TransmissionWithProtocol extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Base Connector</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Connector</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Base Connector</em>' reference.
+	 * @see #setBase_Connector(Connector)
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans.MitigationMeansPackage#getTransmissionWithProtocol_Base_Connector()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	Connector getBase_Connector();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans.TransmissionWithProtocol#getBase_Connector <em>Base Connector</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Base Connector</em>' reference.
+	 * @see #getBase_Connector()
+	 * @generated
+	 */
+	void setBase_Connector(Connector value);
+
+	/**
+	 * Returns the value of the '<em><b>CRC</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>CRC</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>CRC</em>' attribute.
+	 * @see #setCRC(String)
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans.MitigationMeansPackage#getTransmissionWithProtocol_CRC()
+	 * @model dataType="org.eclipse.uml2.types.String" required="true" ordered="false"
+	 * @generated
+	 */
+	String getCRC();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans.TransmissionWithProtocol#getCRC <em>CRC</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>CRC</em>' attribute.
+	 * @see #getCRC()
+	 * @generated
+	 */
+	void setCRC(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Use Seq ID</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Use Seq ID</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Use Seq ID</em>' attribute.
+	 * @see #setUseSeqID(boolean)
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans.MitigationMeansPackage#getTransmissionWithProtocol_UseSeqID()
+	 * @model dataType="org.eclipse.uml2.types.Boolean" required="true" ordered="false"
+	 * @generated
+	 */
+	boolean isUseSeqID();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans.TransmissionWithProtocol#isUseSeqID <em>Use Seq ID</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Use Seq ID</em>' attribute.
+	 * @see #isUseSeqID()
+	 * @generated
+	 */
+	void setUseSeqID(boolean value);
+
+} // TransmissionWithProtocol
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/MitigationMeans/impl/MitigationMeansFactoryImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/MitigationMeans/impl/MitigationMeansFactoryImpl.java
new file mode 100644
index 000000000..0383156b9
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/MitigationMeans/impl/MitigationMeansFactoryImpl.java
@@ -0,0 +1,101 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class MitigationMeansFactoryImpl extends EFactoryImpl implements MitigationMeansFactory {
+	/**
+	 * Creates the default factory implementation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static MitigationMeansFactory init() {
+		try {
+			MitigationMeansFactory theMitigationMeansFactory = (MitigationMeansFactory)EPackage.Registry.INSTANCE.getEFactory(MitigationMeansPackage.eNS_URI);
+			if (theMitigationMeansFactory != null) {
+				return theMitigationMeansFactory;
+			}
+		}
+		catch (Exception exception) {
+			EcorePlugin.INSTANCE.log(exception);
+		}
+		return new MitigationMeansFactoryImpl();
+	}
+
+	/**
+	 * Creates an instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public MitigationMeansFactoryImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EObject create(EClass eClass) {
+		switch (eClass.getClassifierID()) {
+			case MitigationMeansPackage.TRANSMISSION_WITH_PROTOCOL: return createTransmissionWithProtocol();
+			default:
+				throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public TransmissionWithProtocol createTransmissionWithProtocol() {
+		TransmissionWithProtocolImpl transmissionWithProtocol = new TransmissionWithProtocolImpl();
+		return transmissionWithProtocol;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public MitigationMeansPackage getMitigationMeansPackage() {
+		return (MitigationMeansPackage)getEPackage();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @deprecated
+	 * @generated
+	 */
+	@Deprecated
+	public static MitigationMeansPackage getPackage() {
+		return MitigationMeansPackage.eINSTANCE;
+	}
+
+} //MitigationMeansFactoryImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/MitigationMeans/impl/MitigationMeansPackageImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/MitigationMeans/impl/MitigationMeansPackageImpl.java
new file mode 100644
index 000000000..237c667b7
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/MitigationMeans/impl/MitigationMeansPackageImpl.java
@@ -0,0 +1,343 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+import org.eclipse.papyrus.MARTE.MARTEPackage;
+import org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.BasicNFP_TypesPackage;
+import org.eclipse.papyrus.MARTE_Library.GRM_BasicTypes.GRM_BasicTypesPackage;
+import org.eclipse.papyrus.MARTE_Library.MARTE_DataTypes.MARTE_DataTypesPackage;
+import org.eclipse.papyrus.MARTE_Library.MARTE_PrimitivesTypes.MARTE_PrimitivesTypesPackage;
+import org.eclipse.papyrus.MARTE_Library.MeasurementUnits.MeasurementUnitsPackage;
+import org.eclipse.papyrus.MARTE_Library.RS_Library.RS_LibraryPackage;
+import org.eclipse.papyrus.MARTE_Library.TimeLibrary.TimeLibraryPackage;
+import org.eclipse.papyrus.MARTE_Library.TimeTypesLibrary.TimeTypesLibraryPackage;
+import org.eclipse.uml2.types.TypesPackage;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.polarsys.chess.chessmlprofile.chessmlprofilePackage;
+import org.polarsys.chess.chessmlprofile.ComponentModel.ComponentModelPackage;
+import org.polarsys.chess.chessmlprofile.ComponentModel.impl.ComponentModelPackageImpl;
+import org.polarsys.chess.chessmlprofile.Core.CorePackage;
+import org.polarsys.chess.chessmlprofile.Core.CHESSViews.CHESSViewsPackage;
+import org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl.CHESSViewsPackageImpl;
+import org.polarsys.chess.chessmlprofile.Core.impl.CorePackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.DataFlowCallGraph.DataFlowCallGraphPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.DataFlowCallGraph.impl.DataFlowCallGraphPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.DependableComponentPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.impl.DependableComponentPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEAPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEADataTypes.FMEADataTypesPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEADataTypes.impl.FMEADataTypesPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.impl.FMEAPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.FailurePropagationDataTypesPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.impl.FailurePropagationDataTypesPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl.FailurePropagationPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans.MitigationMeansFactory;
+import org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans.MitigationMeansPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans.TransmissionWithProtocol;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.FaultTolerancePackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.impl.FaultTolerancePackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.MaintenanceMonitoringPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.impl.MaintenanceMonitoringPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.StateBasedAnalysisPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.impl.StateBasedAnalysisPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StateBasedComponentsPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.impl.StateBasedComponentsPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.StateBasedDataTypesPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.impl.StateBasedDataTypesPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatsPropagationPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.ThreatsPropagationPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.DeploymentConfAnalysisPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.impl.DeploymentConfAnalysisPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HardwareBaselinePackage;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.HardwareBaselinePackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTComponentModelPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.RTDataTypesPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.impl.RTDataTypesPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.impl.RTComponentModelPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingAnalysisPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.TimingConstraintsPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.impl.TimingConstraintsPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.impl.TimingAnalysisPackageImpl;
+import org.polarsys.chess.chessmlprofile.impl.chessmlprofilePackageImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class MitigationMeansPackageImpl extends EPackageImpl implements MitigationMeansPackage {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass transmissionWithProtocolEClass = null;
+
+	/**
+	 * Creates an instance of the model <b>Package</b>, registered with
+	 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+	 * package URI value.
+	 * <p>Note: the correct way to create the package is via the static
+	 * factory method {@link #init init()}, which also performs
+	 * initialization of the package, or returns the registered package,
+	 * if one already exists.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.emf.ecore.EPackage.Registry
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans.MitigationMeansPackage#eNS_URI
+	 * @see #init()
+	 * @generated
+	 */
+	private MitigationMeansPackageImpl() {
+		super(eNS_URI, MitigationMeansFactory.eINSTANCE);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static boolean isInited = false;
+
+	/**
+	 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+	 * 
+	 * <p>This method is used to initialize {@link MitigationMeansPackage#eINSTANCE} when that field is accessed.
+	 * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #eNS_URI
+	 * @see #createPackageContents()
+	 * @see #initializePackageContents()
+	 * @generated
+	 */
+	public static MitigationMeansPackage init() {
+		if (isInited) return (MitigationMeansPackage)EPackage.Registry.INSTANCE.getEPackage(MitigationMeansPackage.eNS_URI);
+
+		// Obtain or create and register package
+		MitigationMeansPackageImpl theMitigationMeansPackage = (MitigationMeansPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof MitigationMeansPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new MitigationMeansPackageImpl());
+
+		isInited = true;
+
+		// Initialize simple dependencies
+		MARTEPackage.eINSTANCE.eClass();
+		MeasurementUnitsPackage.eINSTANCE.eClass();
+		GRM_BasicTypesPackage.eINSTANCE.eClass();
+		MARTE_DataTypesPackage.eINSTANCE.eClass();
+		BasicNFP_TypesPackage.eINSTANCE.eClass();
+		TimeTypesLibraryPackage.eINSTANCE.eClass();
+		TimeLibraryPackage.eINSTANCE.eClass();
+		RS_LibraryPackage.eINSTANCE.eClass();
+		MARTE_PrimitivesTypesPackage.eINSTANCE.eClass();
+		BasicNFP_TypesPackage.eINSTANCE.eClass();
+
+		// Obtain or create and register interdependencies
+		chessmlprofilePackageImpl thechessmlprofilePackage = (chessmlprofilePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(chessmlprofilePackage.eNS_URI) instanceof chessmlprofilePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(chessmlprofilePackage.eNS_URI) : chessmlprofilePackage.eINSTANCE);
+		CorePackageImpl theCorePackage = (CorePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(CorePackage.eNS_URI) instanceof CorePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(CorePackage.eNS_URI) : CorePackage.eINSTANCE);
+		CHESSViewsPackageImpl theCHESSViewsPackage = (CHESSViewsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(CHESSViewsPackage.eNS_URI) instanceof CHESSViewsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(CHESSViewsPackage.eNS_URI) : CHESSViewsPackage.eINSTANCE);
+		FailurePropagationPackageImpl theFailurePropagationPackage = (FailurePropagationPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FailurePropagationPackage.eNS_URI) instanceof FailurePropagationPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FailurePropagationPackage.eNS_URI) : FailurePropagationPackage.eINSTANCE);
+		FailurePropagationDataTypesPackageImpl theFailurePropagationDataTypesPackage = (FailurePropagationDataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FailurePropagationDataTypesPackage.eNS_URI) instanceof FailurePropagationDataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FailurePropagationDataTypesPackage.eNS_URI) : FailurePropagationDataTypesPackage.eINSTANCE);
+		DependableComponentPackageImpl theDependableComponentPackage = (DependableComponentPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DependableComponentPackage.eNS_URI) instanceof DependableComponentPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DependableComponentPackage.eNS_URI) : DependableComponentPackage.eINSTANCE);
+		ThreatsPropagationPackageImpl theThreatsPropagationPackage = (ThreatsPropagationPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ThreatsPropagationPackage.eNS_URI) instanceof ThreatsPropagationPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ThreatsPropagationPackage.eNS_URI) : ThreatsPropagationPackage.eINSTANCE);
+		DataFlowCallGraphPackageImpl theDataFlowCallGraphPackage = (DataFlowCallGraphPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DataFlowCallGraphPackage.eNS_URI) instanceof DataFlowCallGraphPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DataFlowCallGraphPackage.eNS_URI) : DataFlowCallGraphPackage.eINSTANCE);
+		StateBasedDataTypesPackageImpl theStateBasedDataTypesPackage = (StateBasedDataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(StateBasedDataTypesPackage.eNS_URI) instanceof StateBasedDataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(StateBasedDataTypesPackage.eNS_URI) : StateBasedDataTypesPackage.eINSTANCE);
+		StateBasedComponentsPackageImpl theStateBasedComponentsPackage = (StateBasedComponentsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(StateBasedComponentsPackage.eNS_URI) instanceof StateBasedComponentsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(StateBasedComponentsPackage.eNS_URI) : StateBasedComponentsPackage.eINSTANCE);
+		FaultTolerancePackageImpl theFaultTolerancePackage = (FaultTolerancePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FaultTolerancePackage.eNS_URI) instanceof FaultTolerancePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FaultTolerancePackage.eNS_URI) : FaultTolerancePackage.eINSTANCE);
+		MaintenanceMonitoringPackageImpl theMaintenanceMonitoringPackage = (MaintenanceMonitoringPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(MaintenanceMonitoringPackage.eNS_URI) instanceof MaintenanceMonitoringPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(MaintenanceMonitoringPackage.eNS_URI) : MaintenanceMonitoringPackage.eINSTANCE);
+		StateBasedAnalysisPackageImpl theStateBasedAnalysisPackage = (StateBasedAnalysisPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(StateBasedAnalysisPackage.eNS_URI) instanceof StateBasedAnalysisPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(StateBasedAnalysisPackage.eNS_URI) : StateBasedAnalysisPackage.eINSTANCE);
+		FMEAPackageImpl theFMEAPackage = (FMEAPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FMEAPackage.eNS_URI) instanceof FMEAPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FMEAPackage.eNS_URI) : FMEAPackage.eINSTANCE);
+		FMEADataTypesPackageImpl theFMEADataTypesPackage = (FMEADataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FMEADataTypesPackage.eNS_URI) instanceof FMEADataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FMEADataTypesPackage.eNS_URI) : FMEADataTypesPackage.eINSTANCE);
+		TimingAnalysisPackageImpl theTimingAnalysisPackage = (TimingAnalysisPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimingAnalysisPackage.eNS_URI) instanceof TimingAnalysisPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimingAnalysisPackage.eNS_URI) : TimingAnalysisPackage.eINSTANCE);
+		TimingConstraintsPackageImpl theTimingConstraintsPackage = (TimingConstraintsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimingConstraintsPackage.eNS_URI) instanceof TimingConstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimingConstraintsPackage.eNS_URI) : TimingConstraintsPackage.eINSTANCE);
+		HardwareBaselinePackageImpl theHardwareBaselinePackage = (HardwareBaselinePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HardwareBaselinePackage.eNS_URI) instanceof HardwareBaselinePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HardwareBaselinePackage.eNS_URI) : HardwareBaselinePackage.eINSTANCE);
+		DeploymentConfAnalysisPackageImpl theDeploymentConfAnalysisPackage = (DeploymentConfAnalysisPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DeploymentConfAnalysisPackage.eNS_URI) instanceof DeploymentConfAnalysisPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DeploymentConfAnalysisPackage.eNS_URI) : DeploymentConfAnalysisPackage.eINSTANCE);
+		RTComponentModelPackageImpl theRTComponentModelPackage = (RTComponentModelPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RTComponentModelPackage.eNS_URI) instanceof RTComponentModelPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RTComponentModelPackage.eNS_URI) : RTComponentModelPackage.eINSTANCE);
+		RTDataTypesPackageImpl theRTDataTypesPackage = (RTDataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RTDataTypesPackage.eNS_URI) instanceof RTDataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RTDataTypesPackage.eNS_URI) : RTDataTypesPackage.eINSTANCE);
+		ComponentModelPackageImpl theComponentModelPackage = (ComponentModelPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ComponentModelPackage.eNS_URI) instanceof ComponentModelPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ComponentModelPackage.eNS_URI) : ComponentModelPackage.eINSTANCE);
+
+		// Create package meta-data objects
+		theMitigationMeansPackage.createPackageContents();
+		thechessmlprofilePackage.createPackageContents();
+		theCorePackage.createPackageContents();
+		theCHESSViewsPackage.createPackageContents();
+		theFailurePropagationPackage.createPackageContents();
+		theFailurePropagationDataTypesPackage.createPackageContents();
+		theDependableComponentPackage.createPackageContents();
+		theThreatsPropagationPackage.createPackageContents();
+		theDataFlowCallGraphPackage.createPackageContents();
+		theStateBasedDataTypesPackage.createPackageContents();
+		theStateBasedComponentsPackage.createPackageContents();
+		theFaultTolerancePackage.createPackageContents();
+		theMaintenanceMonitoringPackage.createPackageContents();
+		theStateBasedAnalysisPackage.createPackageContents();
+		theFMEAPackage.createPackageContents();
+		theFMEADataTypesPackage.createPackageContents();
+		theTimingAnalysisPackage.createPackageContents();
+		theTimingConstraintsPackage.createPackageContents();
+		theHardwareBaselinePackage.createPackageContents();
+		theDeploymentConfAnalysisPackage.createPackageContents();
+		theRTComponentModelPackage.createPackageContents();
+		theRTDataTypesPackage.createPackageContents();
+		theComponentModelPackage.createPackageContents();
+
+		// Initialize created meta-data
+		theMitigationMeansPackage.initializePackageContents();
+		thechessmlprofilePackage.initializePackageContents();
+		theCorePackage.initializePackageContents();
+		theCHESSViewsPackage.initializePackageContents();
+		theFailurePropagationPackage.initializePackageContents();
+		theFailurePropagationDataTypesPackage.initializePackageContents();
+		theDependableComponentPackage.initializePackageContents();
+		theThreatsPropagationPackage.initializePackageContents();
+		theDataFlowCallGraphPackage.initializePackageContents();
+		theStateBasedDataTypesPackage.initializePackageContents();
+		theStateBasedComponentsPackage.initializePackageContents();
+		theFaultTolerancePackage.initializePackageContents();
+		theMaintenanceMonitoringPackage.initializePackageContents();
+		theStateBasedAnalysisPackage.initializePackageContents();
+		theFMEAPackage.initializePackageContents();
+		theFMEADataTypesPackage.initializePackageContents();
+		theTimingAnalysisPackage.initializePackageContents();
+		theTimingConstraintsPackage.initializePackageContents();
+		theHardwareBaselinePackage.initializePackageContents();
+		theDeploymentConfAnalysisPackage.initializePackageContents();
+		theRTComponentModelPackage.initializePackageContents();
+		theRTDataTypesPackage.initializePackageContents();
+		theComponentModelPackage.initializePackageContents();
+
+		// Mark meta-data to indicate it can't be changed
+		theMitigationMeansPackage.freeze();
+
+  
+		// Update the registry and return the package
+		EPackage.Registry.INSTANCE.put(MitigationMeansPackage.eNS_URI, theMitigationMeansPackage);
+		return theMitigationMeansPackage;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getTransmissionWithProtocol() {
+		return transmissionWithProtocolEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getTransmissionWithProtocol_Base_Connector() {
+		return (EReference)transmissionWithProtocolEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getTransmissionWithProtocol_CRC() {
+		return (EAttribute)transmissionWithProtocolEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getTransmissionWithProtocol_UseSeqID() {
+		return (EAttribute)transmissionWithProtocolEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public MitigationMeansFactory getMitigationMeansFactory() {
+		return (MitigationMeansFactory)getEFactoryInstance();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isCreated = false;
+
+	/**
+	 * Creates the meta-model objects for the package.  This method is
+	 * guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void createPackageContents() {
+		if (isCreated) return;
+		isCreated = true;
+
+		// Create classes and their features
+		transmissionWithProtocolEClass = createEClass(TRANSMISSION_WITH_PROTOCOL);
+		createEReference(transmissionWithProtocolEClass, TRANSMISSION_WITH_PROTOCOL__BASE_CONNECTOR);
+		createEAttribute(transmissionWithProtocolEClass, TRANSMISSION_WITH_PROTOCOL__CRC);
+		createEAttribute(transmissionWithProtocolEClass, TRANSMISSION_WITH_PROTOCOL__USE_SEQ_ID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isInitialized = false;
+
+	/**
+	 * Complete the initialization of the package and its meta-model.  This
+	 * method is guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void initializePackageContents() {
+		if (isInitialized) return;
+		isInitialized = true;
+
+		// Initialize package
+		setName(eNAME);
+		setNsPrefix(eNS_PREFIX);
+		setNsURI(eNS_URI);
+
+		// Obtain other dependent packages
+		UMLPackage theUMLPackage = (UMLPackage)EPackage.Registry.INSTANCE.getEPackage(UMLPackage.eNS_URI);
+		TypesPackage theTypesPackage = (TypesPackage)EPackage.Registry.INSTANCE.getEPackage(TypesPackage.eNS_URI);
+
+		// Create type parameters
+
+		// Set bounds for type parameters
+
+		// Add supertypes to classes
+
+		// Initialize classes and features; add operations and parameters
+		initEClass(transmissionWithProtocolEClass, TransmissionWithProtocol.class, "TransmissionWithProtocol", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getTransmissionWithProtocol_Base_Connector(), theUMLPackage.getConnector(), null, "base_Connector", null, 1, 1, TransmissionWithProtocol.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getTransmissionWithProtocol_CRC(), theTypesPackage.getString(), "CRC", null, 1, 1, TransmissionWithProtocol.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getTransmissionWithProtocol_UseSeqID(), theTypesPackage.getBoolean(), "UseSeqID", null, 1, 1, TransmissionWithProtocol.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+	}
+
+} //MitigationMeansPackageImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/MitigationMeans/impl/TransmissionWithProtocolImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/MitigationMeans/impl/TransmissionWithProtocolImpl.java
new file mode 100644
index 000000000..80e86a00d
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/MitigationMeans/impl/TransmissionWithProtocolImpl.java
@@ -0,0 +1,285 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.uml2.uml.Connector;
+import org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans.MitigationMeansPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans.TransmissionWithProtocol;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Transmission With Protocol</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans.impl.TransmissionWithProtocolImpl#getBase_Connector <em>Base Connector</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans.impl.TransmissionWithProtocolImpl#getCRC <em>CRC</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans.impl.TransmissionWithProtocolImpl#isUseSeqID <em>Use Seq ID</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class TransmissionWithProtocolImpl extends EObjectImpl implements TransmissionWithProtocol {
+	/**
+	 * The cached value of the '{@link #getBase_Connector() <em>Base Connector</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBase_Connector()
+	 * @generated
+	 * @ordered
+	 */
+	protected Connector base_Connector;
+
+	/**
+	 * The default value of the '{@link #getCRC() <em>CRC</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getCRC()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String CRC_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getCRC() <em>CRC</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getCRC()
+	 * @generated
+	 * @ordered
+	 */
+	protected String crc = CRC_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #isUseSeqID() <em>Use Seq ID</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #isUseSeqID()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final boolean USE_SEQ_ID_EDEFAULT = false;
+
+	/**
+	 * The cached value of the '{@link #isUseSeqID() <em>Use Seq ID</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #isUseSeqID()
+	 * @generated
+	 * @ordered
+	 */
+	protected boolean useSeqID = USE_SEQ_ID_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected TransmissionWithProtocolImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return MitigationMeansPackage.Literals.TRANSMISSION_WITH_PROTOCOL;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Connector getBase_Connector() {
+		if (base_Connector != null && base_Connector.eIsProxy()) {
+			InternalEObject oldBase_Connector = (InternalEObject)base_Connector;
+			base_Connector = (Connector)eResolveProxy(oldBase_Connector);
+			if (base_Connector != oldBase_Connector) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, MitigationMeansPackage.TRANSMISSION_WITH_PROTOCOL__BASE_CONNECTOR, oldBase_Connector, base_Connector));
+			}
+		}
+		return base_Connector;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Connector basicGetBase_Connector() {
+		return base_Connector;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setBase_Connector(Connector newBase_Connector) {
+		Connector oldBase_Connector = base_Connector;
+		base_Connector = newBase_Connector;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, MitigationMeansPackage.TRANSMISSION_WITH_PROTOCOL__BASE_CONNECTOR, oldBase_Connector, base_Connector));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getCRC() {
+		return crc;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setCRC(String newCRC) {
+		String oldCRC = crc;
+		crc = newCRC;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, MitigationMeansPackage.TRANSMISSION_WITH_PROTOCOL__CRC, oldCRC, crc));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public boolean isUseSeqID() {
+		return useSeqID;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setUseSeqID(boolean newUseSeqID) {
+		boolean oldUseSeqID = useSeqID;
+		useSeqID = newUseSeqID;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, MitigationMeansPackage.TRANSMISSION_WITH_PROTOCOL__USE_SEQ_ID, oldUseSeqID, useSeqID));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case MitigationMeansPackage.TRANSMISSION_WITH_PROTOCOL__BASE_CONNECTOR:
+				if (resolve) return getBase_Connector();
+				return basicGetBase_Connector();
+			case MitigationMeansPackage.TRANSMISSION_WITH_PROTOCOL__CRC:
+				return getCRC();
+			case MitigationMeansPackage.TRANSMISSION_WITH_PROTOCOL__USE_SEQ_ID:
+				return isUseSeqID();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case MitigationMeansPackage.TRANSMISSION_WITH_PROTOCOL__BASE_CONNECTOR:
+				setBase_Connector((Connector)newValue);
+				return;
+			case MitigationMeansPackage.TRANSMISSION_WITH_PROTOCOL__CRC:
+				setCRC((String)newValue);
+				return;
+			case MitigationMeansPackage.TRANSMISSION_WITH_PROTOCOL__USE_SEQ_ID:
+				setUseSeqID((Boolean)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case MitigationMeansPackage.TRANSMISSION_WITH_PROTOCOL__BASE_CONNECTOR:
+				setBase_Connector((Connector)null);
+				return;
+			case MitigationMeansPackage.TRANSMISSION_WITH_PROTOCOL__CRC:
+				setCRC(CRC_EDEFAULT);
+				return;
+			case MitigationMeansPackage.TRANSMISSION_WITH_PROTOCOL__USE_SEQ_ID:
+				setUseSeqID(USE_SEQ_ID_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case MitigationMeansPackage.TRANSMISSION_WITH_PROTOCOL__BASE_CONNECTOR:
+				return base_Connector != null;
+			case MitigationMeansPackage.TRANSMISSION_WITH_PROTOCOL__CRC:
+				return CRC_EDEFAULT == null ? crc != null : !CRC_EDEFAULT.equals(crc);
+			case MitigationMeansPackage.TRANSMISSION_WITH_PROTOCOL__USE_SEQ_ID:
+				return useSeqID != USE_SEQ_ID_EDEFAULT;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (CRC: ");
+		result.append(crc);
+		result.append(", UseSeqID: ");
+		result.append(useSeqID);
+		result.append(')');
+		return result.toString();
+	}
+
+} //TransmissionWithProtocolImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/MitigationMeans/util/MitigationMeansAdapterFactory.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/MitigationMeans/util/MitigationMeansAdapterFactory.java
new file mode 100644
index 000000000..ef906296d
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/MitigationMeans/util/MitigationMeansAdapterFactory.java
@@ -0,0 +1,126 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+import org.eclipse.emf.ecore.EObject;
+import org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans.MitigationMeansPackage
+ * @generated
+ */
+public class MitigationMeansAdapterFactory extends AdapterFactoryImpl {
+	/**
+	 * The cached model package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static MitigationMeansPackage modelPackage;
+
+	/**
+	 * Creates an instance of the adapter factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public MitigationMeansAdapterFactory() {
+		if (modelPackage == null) {
+			modelPackage = MitigationMeansPackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Returns whether this factory is applicable for the type of the object.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+	 * <!-- end-user-doc -->
+	 * @return whether this factory is applicable for the type of the object.
+	 * @generated
+	 */
+	@Override
+	public boolean isFactoryForType(Object object) {
+		if (object == modelPackage) {
+			return true;
+		}
+		if (object instanceof EObject) {
+			return ((EObject)object).eClass().getEPackage() == modelPackage;
+		}
+		return false;
+	}
+
+	/**
+	 * The switch that delegates to the <code>createXXX</code> methods.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected MitigationMeansSwitch<Adapter> modelSwitch =
+		new MitigationMeansSwitch<Adapter>() {
+			@Override
+			public Adapter caseTransmissionWithProtocol(TransmissionWithProtocol object) {
+				return createTransmissionWithProtocolAdapter();
+			}
+			@Override
+			public Adapter defaultCase(EObject object) {
+				return createEObjectAdapter();
+			}
+		};
+
+	/**
+	 * Creates an adapter for the <code>target</code>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param target the object to adapt.
+	 * @return the adapter for the <code>target</code>.
+	 * @generated
+	 */
+	@Override
+	public Adapter createAdapter(Notifier target) {
+		return modelSwitch.doSwitch((EObject)target);
+	}
+
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans.TransmissionWithProtocol <em>Transmission With Protocol</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans.TransmissionWithProtocol
+	 * @generated
+	 */
+	public Adapter createTransmissionWithProtocolAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for the default case.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @generated
+	 */
+	public Adapter createEObjectAdapter() {
+		return null;
+	}
+
+} //MitigationMeansAdapterFactory
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/MitigationMeans/util/MitigationMeansResourceFactoryImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/MitigationMeans/util/MitigationMeansResourceFactoryImpl.java
new file mode 100644
index 000000000..58f82dd55
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/MitigationMeans/util/MitigationMeansResourceFactoryImpl.java
@@ -0,0 +1,61 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans.util;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.resource.impl.ResourceFactoryImpl;
+
+import org.eclipse.emf.ecore.xmi.XMLResource;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource Factory</b> associated with the package.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans.util.MitigationMeansResourceImpl
+ * @generated
+ */
+public class MitigationMeansResourceFactoryImpl extends ResourceFactoryImpl {
+	/**
+	 * Creates an instance of the resource factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public MitigationMeansResourceFactoryImpl() {
+		super();
+	}
+
+	/**
+	 * Creates an instance of the resource.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Resource createResource(URI uri) {
+		XMLResource result = new MitigationMeansResourceImpl(uri);
+		result.getDefaultSaveOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
+		result.getDefaultLoadOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
+
+		result.getDefaultSaveOptions().put(XMLResource.OPTION_SCHEMA_LOCATION, Boolean.TRUE);
+
+		result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+		result.getDefaultSaveOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+
+		result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_LEXICAL_HANDLER, Boolean.TRUE);
+		return result;
+	}
+
+} //MitigationMeansResourceFactoryImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/MitigationMeans/util/MitigationMeansResourceImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/MitigationMeans/util/MitigationMeansResourceImpl.java
new file mode 100644
index 000000000..b6368998f
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/MitigationMeans/util/MitigationMeansResourceImpl.java
@@ -0,0 +1,37 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans.util;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource </b> associated with the package.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans.util.MitigationMeansResourceFactoryImpl
+ * @generated
+ */
+public class MitigationMeansResourceImpl extends XMLResourceImpl {
+	/**
+	 * Creates an instance of the resource.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param uri the URI of the new resource.
+	 * @generated
+	 */
+	public MitigationMeansResourceImpl(URI uri) {
+		super(uri);
+	}
+
+} //MitigationMeansResourceImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/MitigationMeans/util/MitigationMeansSwitch.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/MitigationMeans/util/MitigationMeansSwitch.java
new file mode 100644
index 000000000..3261e1423
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/MitigationMeans/util/MitigationMeansSwitch.java
@@ -0,0 +1,117 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.util.Switch;
+import org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans.MitigationMeansPackage
+ * @generated
+ */
+public class MitigationMeansSwitch<T> extends Switch<T> {
+	/**
+	 * The cached model package
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static MitigationMeansPackage modelPackage;
+
+	/**
+	 * Creates an instance of the switch.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public MitigationMeansSwitch() {
+		if (modelPackage == null) {
+			modelPackage = MitigationMeansPackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Checks whether this is a switch for the given package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @parameter ePackage the package in question.
+	 * @return whether this is a switch for the given package.
+	 * @generated
+	 */
+	@Override
+	protected boolean isSwitchFor(EPackage ePackage) {
+		return ePackage == modelPackage;
+	}
+
+	/**
+	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the first non-null result returned by a <code>caseXXX</code> call.
+	 * @generated
+	 */
+	@Override
+	protected T doSwitch(int classifierID, EObject theEObject) {
+		switch (classifierID) {
+			case MitigationMeansPackage.TRANSMISSION_WITH_PROTOCOL: {
+				TransmissionWithProtocol transmissionWithProtocol = (TransmissionWithProtocol)theEObject;
+				T result = caseTransmissionWithProtocol(transmissionWithProtocol);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			default: return defaultCase(theEObject);
+		}
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Transmission With Protocol</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Transmission With Protocol</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseTransmissionWithProtocol(TransmissionWithProtocol object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch, but this is the last case anyway.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+	 * @generated
+	 */
+	@Override
+	public T defaultCase(EObject object) {
+		return null;
+	}
+
+} //MitigationMeansSwitch
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/MitigationMeans/util/MitigationMeansXMLProcessor.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/MitigationMeans/util/MitigationMeansXMLProcessor.java
new file mode 100644
index 000000000..fa2bc6242
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/MitigationMeans/util/MitigationMeansXMLProcessor.java
@@ -0,0 +1,56 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans.util;
+
+import java.util.Map;
+
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.xmi.util.XMLProcessor;
+import org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans.MitigationMeansPackage;
+
+/**
+ * This class contains helper methods to serialize and deserialize XML documents
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class MitigationMeansXMLProcessor extends XMLProcessor {
+
+	/**
+	 * Public constructor to instantiate the helper.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public MitigationMeansXMLProcessor() {
+		super((EPackage.Registry.INSTANCE));
+		MitigationMeansPackage.eINSTANCE.eClass();
+	}
+	
+	/**
+	 * Register for "*" and "xml" file extensions the MitigationMeansResourceFactoryImpl factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected Map<String, Resource.Factory> getRegistrations() {
+		if (registrations == null) {
+			super.getRegistrations();
+			registrations.put(XML_EXTENSION, new MitigationMeansResourceFactoryImpl());
+			registrations.put(STAR_EXTENSION, new MitigationMeansResourceFactoryImpl());
+		}
+		return registrations;
+	}
+
+} //MitigationMeansXMLProcessor
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/FaultTolerance/Adjudicator.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/FaultTolerance/Adjudicator.java
new file mode 100644
index 000000000..afa81c86e
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/FaultTolerance/Adjudicator.java
@@ -0,0 +1,88 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.uml2.uml.Component;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Adjudicator</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.Adjudicator#getBase_Component <em>Base Component</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.Adjudicator#getCoverage <em>Coverage</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.FaultTolerancePackage#getAdjudicator()
+ * @model
+ * @generated
+ */
+public interface Adjudicator extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Base Component</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Component</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Base Component</em>' reference.
+	 * @see #setBase_Component(Component)
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.FaultTolerancePackage#getAdjudicator_Base_Component()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	Component getBase_Component();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.Adjudicator#getBase_Component <em>Base Component</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Base Component</em>' reference.
+	 * @see #getBase_Component()
+	 * @generated
+	 */
+	void setBase_Component(Component value);
+
+	/**
+	 * Returns the value of the '<em><b>Coverage</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Coverage</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Coverage</em>' attribute.
+	 * @see #setCoverage(String)
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.FaultTolerancePackage#getAdjudicator_Coverage()
+	 * @model dataType="org.eclipse.papyrus.MARTE_Library.MARTE_PrimitivesTypes.Real" required="true" ordered="false"
+	 * @generated
+	 */
+	String getCoverage();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.Adjudicator#getCoverage <em>Coverage</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Coverage</em>' attribute.
+	 * @see #getCoverage()
+	 * @generated
+	 */
+	void setCoverage(String value);
+
+} // Adjudicator
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/FaultTolerance/FaultToleranceFactory.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/FaultTolerance/FaultToleranceFactory.java
new file mode 100644
index 000000000..7f3fc8e1a
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/FaultTolerance/FaultToleranceFactory.java
@@ -0,0 +1,78 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.FaultTolerancePackage
+ * @generated
+ */
+public interface FaultToleranceFactory extends EFactory {
+	/**
+	 * The singleton instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	FaultToleranceFactory eINSTANCE = org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.impl.FaultToleranceFactoryImpl.init();
+
+	/**
+	 * Returns a new object of class '<em>Fault Tolerant</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Fault Tolerant</em>'.
+	 * @generated
+	 */
+	FaultTolerant createFaultTolerant();
+
+	/**
+	 * Returns a new object of class '<em>Redundancy Manager</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Redundancy Manager</em>'.
+	 * @generated
+	 */
+	RedundancyManager createRedundancyManager();
+
+	/**
+	 * Returns a new object of class '<em>Variant</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Variant</em>'.
+	 * @generated
+	 */
+	Variant createVariant();
+
+	/**
+	 * Returns a new object of class '<em>Adjudicator</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Adjudicator</em>'.
+	 * @generated
+	 */
+	Adjudicator createAdjudicator();
+
+	/**
+	 * Returns the package supported by this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the package supported by this factory.
+	 * @generated
+	 */
+	FaultTolerancePackage getFaultTolerancePackage();
+
+} //FaultToleranceFactory
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/FaultTolerance/FaultTolerancePackage.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/FaultTolerance/FaultTolerancePackage.java
new file mode 100644
index 000000000..e39772a23
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/FaultTolerance/FaultTolerancePackage.java
@@ -0,0 +1,472 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ *   <li>each class,</li>
+ *   <li>each feature of each class,</li>
+ *   <li>each enum,</li>
+ *   <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.FaultToleranceFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface FaultTolerancePackage extends EPackage {
+	/**
+	 * The package name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNAME = "FaultTolerance";
+
+	/**
+	 * The package namespace URI.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_URI = "http://CHESS/Dependability/StateBased/FaultTolerance";
+
+	/**
+	 * The package namespace name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_PREFIX = "FaultTolerance";
+
+	/**
+	 * The singleton instance of the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	FaultTolerancePackage eINSTANCE = org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.impl.FaultTolerancePackageImpl.init();
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.impl.FaultTolerantImpl <em>Fault Tolerant</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.impl.FaultTolerantImpl
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.impl.FaultTolerancePackageImpl#getFaultTolerant()
+	 * @generated
+	 */
+	int FAULT_TOLERANT = 0;
+
+	/**
+	 * The feature id for the '<em><b>Base Component</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FAULT_TOLERANT__BASE_COMPONENT = 0;
+
+	/**
+	 * The feature id for the '<em><b>Scheme</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FAULT_TOLERANT__SCHEME = 1;
+
+	/**
+	 * The feature id for the '<em><b>Scheme Attrs</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FAULT_TOLERANT__SCHEME_ATTRS = 2;
+
+	/**
+	 * The number of structural features of the '<em>Fault Tolerant</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FAULT_TOLERANT_FEATURE_COUNT = 3;
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.impl.RedundancyManagerImpl <em>Redundancy Manager</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.impl.RedundancyManagerImpl
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.impl.FaultTolerancePackageImpl#getRedundancyManager()
+	 * @generated
+	 */
+	int REDUNDANCY_MANAGER = 1;
+
+	/**
+	 * The feature id for the '<em><b>Base Component</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REDUNDANCY_MANAGER__BASE_COMPONENT = 0;
+
+	/**
+	 * The feature id for the '<em><b>Scheme</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REDUNDANCY_MANAGER__SCHEME = 1;
+
+	/**
+	 * The number of structural features of the '<em>Redundancy Manager</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REDUNDANCY_MANAGER_FEATURE_COUNT = 2;
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.impl.VariantImpl <em>Variant</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.impl.VariantImpl
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.impl.FaultTolerancePackageImpl#getVariant()
+	 * @generated
+	 */
+	int VARIANT = 2;
+
+	/**
+	 * The feature id for the '<em><b>Base Component</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int VARIANT__BASE_COMPONENT = 0;
+
+	/**
+	 * The number of structural features of the '<em>Variant</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int VARIANT_FEATURE_COUNT = 1;
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.impl.AdjudicatorImpl <em>Adjudicator</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.impl.AdjudicatorImpl
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.impl.FaultTolerancePackageImpl#getAdjudicator()
+	 * @generated
+	 */
+	int ADJUDICATOR = 3;
+
+	/**
+	 * The feature id for the '<em><b>Base Component</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ADJUDICATOR__BASE_COMPONENT = 0;
+
+	/**
+	 * The feature id for the '<em><b>Coverage</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ADJUDICATOR__COVERAGE = 1;
+
+	/**
+	 * The number of structural features of the '<em>Adjudicator</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ADJUDICATOR_FEATURE_COUNT = 2;
+
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.FaultTolerant <em>Fault Tolerant</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Fault Tolerant</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.FaultTolerant
+	 * @generated
+	 */
+	EClass getFaultTolerant();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.FaultTolerant#getBase_Component <em>Base Component</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Base Component</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.FaultTolerant#getBase_Component()
+	 * @see #getFaultTolerant()
+	 * @generated
+	 */
+	EReference getFaultTolerant_Base_Component();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.FaultTolerant#getScheme <em>Scheme</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Scheme</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.FaultTolerant#getScheme()
+	 * @see #getFaultTolerant()
+	 * @generated
+	 */
+	EAttribute getFaultTolerant_Scheme();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.FaultTolerant#getSchemeAttrs <em>Scheme Attrs</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Scheme Attrs</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.FaultTolerant#getSchemeAttrs()
+	 * @see #getFaultTolerant()
+	 * @generated
+	 */
+	EReference getFaultTolerant_SchemeAttrs();
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.RedundancyManager <em>Redundancy Manager</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Redundancy Manager</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.RedundancyManager
+	 * @generated
+	 */
+	EClass getRedundancyManager();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.RedundancyManager#getBase_Component <em>Base Component</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Base Component</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.RedundancyManager#getBase_Component()
+	 * @see #getRedundancyManager()
+	 * @generated
+	 */
+	EReference getRedundancyManager_Base_Component();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.RedundancyManager#getScheme <em>Scheme</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Scheme</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.RedundancyManager#getScheme()
+	 * @see #getRedundancyManager()
+	 * @generated
+	 */
+	EAttribute getRedundancyManager_Scheme();
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.Variant <em>Variant</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Variant</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.Variant
+	 * @generated
+	 */
+	EClass getVariant();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.Variant#getBase_Component <em>Base Component</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Base Component</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.Variant#getBase_Component()
+	 * @see #getVariant()
+	 * @generated
+	 */
+	EReference getVariant_Base_Component();
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.Adjudicator <em>Adjudicator</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Adjudicator</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.Adjudicator
+	 * @generated
+	 */
+	EClass getAdjudicator();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.Adjudicator#getBase_Component <em>Base Component</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Base Component</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.Adjudicator#getBase_Component()
+	 * @see #getAdjudicator()
+	 * @generated
+	 */
+	EReference getAdjudicator_Base_Component();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.Adjudicator#getCoverage <em>Coverage</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Coverage</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.Adjudicator#getCoverage()
+	 * @see #getAdjudicator()
+	 * @generated
+	 */
+	EAttribute getAdjudicator_Coverage();
+
+	/**
+	 * Returns the factory that creates the instances of the model.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the factory that creates the instances of the model.
+	 * @generated
+	 */
+	FaultToleranceFactory getFaultToleranceFactory();
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * Defines literals for the meta objects that represent
+	 * <ul>
+	 *   <li>each class,</li>
+	 *   <li>each feature of each class,</li>
+	 *   <li>each enum,</li>
+	 *   <li>and each data type</li>
+	 * </ul>
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	interface Literals {
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.impl.FaultTolerantImpl <em>Fault Tolerant</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.impl.FaultTolerantImpl
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.impl.FaultTolerancePackageImpl#getFaultTolerant()
+		 * @generated
+		 */
+		EClass FAULT_TOLERANT = eINSTANCE.getFaultTolerant();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Component</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference FAULT_TOLERANT__BASE_COMPONENT = eINSTANCE.getFaultTolerant_Base_Component();
+
+		/**
+		 * The meta object literal for the '<em><b>Scheme</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute FAULT_TOLERANT__SCHEME = eINSTANCE.getFaultTolerant_Scheme();
+
+		/**
+		 * The meta object literal for the '<em><b>Scheme Attrs</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference FAULT_TOLERANT__SCHEME_ATTRS = eINSTANCE.getFaultTolerant_SchemeAttrs();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.impl.RedundancyManagerImpl <em>Redundancy Manager</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.impl.RedundancyManagerImpl
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.impl.FaultTolerancePackageImpl#getRedundancyManager()
+		 * @generated
+		 */
+		EClass REDUNDANCY_MANAGER = eINSTANCE.getRedundancyManager();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Component</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference REDUNDANCY_MANAGER__BASE_COMPONENT = eINSTANCE.getRedundancyManager_Base_Component();
+
+		/**
+		 * The meta object literal for the '<em><b>Scheme</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute REDUNDANCY_MANAGER__SCHEME = eINSTANCE.getRedundancyManager_Scheme();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.impl.VariantImpl <em>Variant</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.impl.VariantImpl
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.impl.FaultTolerancePackageImpl#getVariant()
+		 * @generated
+		 */
+		EClass VARIANT = eINSTANCE.getVariant();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Component</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference VARIANT__BASE_COMPONENT = eINSTANCE.getVariant_Base_Component();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.impl.AdjudicatorImpl <em>Adjudicator</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.impl.AdjudicatorImpl
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.impl.FaultTolerancePackageImpl#getAdjudicator()
+		 * @generated
+		 */
+		EClass ADJUDICATOR = eINSTANCE.getAdjudicator();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Component</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ADJUDICATOR__BASE_COMPONENT = eINSTANCE.getAdjudicator_Base_Component();
+
+		/**
+		 * The meta object literal for the '<em><b>Coverage</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute ADJUDICATOR__COVERAGE = eINSTANCE.getAdjudicator_Coverage();
+
+	}
+
+} //FaultTolerancePackage
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/FaultTolerance/FaultTolerant.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/FaultTolerance/FaultTolerant.java
new file mode 100644
index 000000000..2a5e2bd3b
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/FaultTolerance/FaultTolerant.java
@@ -0,0 +1,119 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.OpaqueExpression;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.RedundancyKind;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Fault Tolerant</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.FaultTolerant#getBase_Component <em>Base Component</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.FaultTolerant#getScheme <em>Scheme</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.FaultTolerant#getSchemeAttrs <em>Scheme Attrs</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.FaultTolerancePackage#getFaultTolerant()
+ * @model
+ * @generated
+ */
+public interface FaultTolerant extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Base Component</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Component</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Base Component</em>' reference.
+	 * @see #setBase_Component(Component)
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.FaultTolerancePackage#getFaultTolerant_Base_Component()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	Component getBase_Component();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.FaultTolerant#getBase_Component <em>Base Component</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Base Component</em>' reference.
+	 * @see #getBase_Component()
+	 * @generated
+	 */
+	void setBase_Component(Component value);
+
+	/**
+	 * Returns the value of the '<em><b>Scheme</b></em>' attribute.
+	 * The literals are from the enumeration {@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.RedundancyKind}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Scheme</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Scheme</em>' attribute.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.RedundancyKind
+	 * @see #setScheme(RedundancyKind)
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.FaultTolerancePackage#getFaultTolerant_Scheme()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	RedundancyKind getScheme();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.FaultTolerant#getScheme <em>Scheme</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Scheme</em>' attribute.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.RedundancyKind
+	 * @see #getScheme()
+	 * @generated
+	 */
+	void setScheme(RedundancyKind value);
+
+	/**
+	 * Returns the value of the '<em><b>Scheme Attrs</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Scheme Attrs</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Scheme Attrs</em>' reference.
+	 * @see #setSchemeAttrs(OpaqueExpression)
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.FaultTolerancePackage#getFaultTolerant_SchemeAttrs()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	OpaqueExpression getSchemeAttrs();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.FaultTolerant#getSchemeAttrs <em>Scheme Attrs</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Scheme Attrs</em>' reference.
+	 * @see #getSchemeAttrs()
+	 * @generated
+	 */
+	void setSchemeAttrs(OpaqueExpression value);
+
+} // FaultTolerant
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/FaultTolerance/RedundancyManager.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/FaultTolerance/RedundancyManager.java
new file mode 100644
index 000000000..2c7bc2c5a
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/FaultTolerance/RedundancyManager.java
@@ -0,0 +1,91 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.uml2.uml.Component;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.RedundancyKind;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Redundancy Manager</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.RedundancyManager#getBase_Component <em>Base Component</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.RedundancyManager#getScheme <em>Scheme</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.FaultTolerancePackage#getRedundancyManager()
+ * @model
+ * @generated
+ */
+public interface RedundancyManager extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Base Component</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Component</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Base Component</em>' reference.
+	 * @see #setBase_Component(Component)
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.FaultTolerancePackage#getRedundancyManager_Base_Component()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	Component getBase_Component();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.RedundancyManager#getBase_Component <em>Base Component</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Base Component</em>' reference.
+	 * @see #getBase_Component()
+	 * @generated
+	 */
+	void setBase_Component(Component value);
+
+	/**
+	 * Returns the value of the '<em><b>Scheme</b></em>' attribute.
+	 * The literals are from the enumeration {@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.RedundancyKind}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Scheme</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Scheme</em>' attribute.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.RedundancyKind
+	 * @see #setScheme(RedundancyKind)
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.FaultTolerancePackage#getRedundancyManager_Scheme()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	RedundancyKind getScheme();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.RedundancyManager#getScheme <em>Scheme</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Scheme</em>' attribute.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.RedundancyKind
+	 * @see #getScheme()
+	 * @generated
+	 */
+	void setScheme(RedundancyKind value);
+
+} // RedundancyManager
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/FaultTolerance/Variant.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/FaultTolerance/Variant.java
new file mode 100644
index 000000000..452830413
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/FaultTolerance/Variant.java
@@ -0,0 +1,61 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.uml2.uml.Component;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Variant</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.Variant#getBase_Component <em>Base Component</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.FaultTolerancePackage#getVariant()
+ * @model
+ * @generated
+ */
+public interface Variant extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Base Component</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Component</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Base Component</em>' reference.
+	 * @see #setBase_Component(Component)
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.FaultTolerancePackage#getVariant_Base_Component()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	Component getBase_Component();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.Variant#getBase_Component <em>Base Component</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Base Component</em>' reference.
+	 * @see #getBase_Component()
+	 * @generated
+	 */
+	void setBase_Component(Component value);
+
+} // Variant
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/FaultTolerance/impl/AdjudicatorImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/FaultTolerance/impl/AdjudicatorImpl.java
new file mode 100644
index 000000000..4d26f800b
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/FaultTolerance/impl/AdjudicatorImpl.java
@@ -0,0 +1,231 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.uml2.uml.Component;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.Adjudicator;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.FaultTolerancePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Adjudicator</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.impl.AdjudicatorImpl#getBase_Component <em>Base Component</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.impl.AdjudicatorImpl#getCoverage <em>Coverage</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class AdjudicatorImpl extends EObjectImpl implements Adjudicator {
+	/**
+	 * The cached value of the '{@link #getBase_Component() <em>Base Component</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBase_Component()
+	 * @generated
+	 * @ordered
+	 */
+	protected Component base_Component;
+
+	/**
+	 * The default value of the '{@link #getCoverage() <em>Coverage</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getCoverage()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String COVERAGE_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getCoverage() <em>Coverage</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getCoverage()
+	 * @generated
+	 * @ordered
+	 */
+	protected String coverage = COVERAGE_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected AdjudicatorImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return FaultTolerancePackage.Literals.ADJUDICATOR;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Component getBase_Component() {
+		if (base_Component != null && base_Component.eIsProxy()) {
+			InternalEObject oldBase_Component = (InternalEObject)base_Component;
+			base_Component = (Component)eResolveProxy(oldBase_Component);
+			if (base_Component != oldBase_Component) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, FaultTolerancePackage.ADJUDICATOR__BASE_COMPONENT, oldBase_Component, base_Component));
+			}
+		}
+		return base_Component;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Component basicGetBase_Component() {
+		return base_Component;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setBase_Component(Component newBase_Component) {
+		Component oldBase_Component = base_Component;
+		base_Component = newBase_Component;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, FaultTolerancePackage.ADJUDICATOR__BASE_COMPONENT, oldBase_Component, base_Component));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getCoverage() {
+		return coverage;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setCoverage(String newCoverage) {
+		String oldCoverage = coverage;
+		coverage = newCoverage;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, FaultTolerancePackage.ADJUDICATOR__COVERAGE, oldCoverage, coverage));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case FaultTolerancePackage.ADJUDICATOR__BASE_COMPONENT:
+				if (resolve) return getBase_Component();
+				return basicGetBase_Component();
+			case FaultTolerancePackage.ADJUDICATOR__COVERAGE:
+				return getCoverage();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case FaultTolerancePackage.ADJUDICATOR__BASE_COMPONENT:
+				setBase_Component((Component)newValue);
+				return;
+			case FaultTolerancePackage.ADJUDICATOR__COVERAGE:
+				setCoverage((String)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case FaultTolerancePackage.ADJUDICATOR__BASE_COMPONENT:
+				setBase_Component((Component)null);
+				return;
+			case FaultTolerancePackage.ADJUDICATOR__COVERAGE:
+				setCoverage(COVERAGE_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case FaultTolerancePackage.ADJUDICATOR__BASE_COMPONENT:
+				return base_Component != null;
+			case FaultTolerancePackage.ADJUDICATOR__COVERAGE:
+				return COVERAGE_EDEFAULT == null ? coverage != null : !COVERAGE_EDEFAULT.equals(coverage);
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (coverage: ");
+		result.append(coverage);
+		result.append(')');
+		return result.toString();
+	}
+
+} //AdjudicatorImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/FaultTolerance/impl/FaultToleranceFactoryImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/FaultTolerance/impl/FaultToleranceFactoryImpl.java
new file mode 100644
index 000000000..93d889106
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/FaultTolerance/impl/FaultToleranceFactoryImpl.java
@@ -0,0 +1,134 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class FaultToleranceFactoryImpl extends EFactoryImpl implements FaultToleranceFactory {
+	/**
+	 * Creates the default factory implementation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static FaultToleranceFactory init() {
+		try {
+			FaultToleranceFactory theFaultToleranceFactory = (FaultToleranceFactory)EPackage.Registry.INSTANCE.getEFactory(FaultTolerancePackage.eNS_URI);
+			if (theFaultToleranceFactory != null) {
+				return theFaultToleranceFactory;
+			}
+		}
+		catch (Exception exception) {
+			EcorePlugin.INSTANCE.log(exception);
+		}
+		return new FaultToleranceFactoryImpl();
+	}
+
+	/**
+	 * Creates an instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public FaultToleranceFactoryImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EObject create(EClass eClass) {
+		switch (eClass.getClassifierID()) {
+			case FaultTolerancePackage.FAULT_TOLERANT: return createFaultTolerant();
+			case FaultTolerancePackage.REDUNDANCY_MANAGER: return createRedundancyManager();
+			case FaultTolerancePackage.VARIANT: return createVariant();
+			case FaultTolerancePackage.ADJUDICATOR: return createAdjudicator();
+			default:
+				throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public FaultTolerant createFaultTolerant() {
+		FaultTolerantImpl faultTolerant = new FaultTolerantImpl();
+		return faultTolerant;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public RedundancyManager createRedundancyManager() {
+		RedundancyManagerImpl redundancyManager = new RedundancyManagerImpl();
+		return redundancyManager;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Variant createVariant() {
+		VariantImpl variant = new VariantImpl();
+		return variant;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Adjudicator createAdjudicator() {
+		AdjudicatorImpl adjudicator = new AdjudicatorImpl();
+		return adjudicator;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public FaultTolerancePackage getFaultTolerancePackage() {
+		return (FaultTolerancePackage)getEPackage();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @deprecated
+	 * @generated
+	 */
+	@Deprecated
+	public static FaultTolerancePackage getPackage() {
+		return FaultTolerancePackage.eINSTANCE;
+	}
+
+} //FaultToleranceFactoryImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/FaultTolerance/impl/FaultTolerancePackageImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/FaultTolerance/impl/FaultTolerancePackageImpl.java
new file mode 100644
index 000000000..657849a9e
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/FaultTolerance/impl/FaultTolerancePackageImpl.java
@@ -0,0 +1,461 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+import org.eclipse.papyrus.MARTE.MARTEPackage;
+import org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.BasicNFP_TypesPackage;
+import org.eclipse.papyrus.MARTE_Library.GRM_BasicTypes.GRM_BasicTypesPackage;
+import org.eclipse.papyrus.MARTE_Library.MARTE_DataTypes.MARTE_DataTypesPackage;
+import org.eclipse.papyrus.MARTE_Library.MARTE_PrimitivesTypes.MARTE_PrimitivesTypesPackage;
+import org.eclipse.papyrus.MARTE_Library.MeasurementUnits.MeasurementUnitsPackage;
+import org.eclipse.papyrus.MARTE_Library.RS_Library.RS_LibraryPackage;
+import org.eclipse.papyrus.MARTE_Library.TimeLibrary.TimeLibraryPackage;
+import org.eclipse.papyrus.MARTE_Library.TimeTypesLibrary.TimeTypesLibraryPackage;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.polarsys.chess.chessmlprofile.chessmlprofilePackage;
+import org.polarsys.chess.chessmlprofile.ComponentModel.ComponentModelPackage;
+import org.polarsys.chess.chessmlprofile.ComponentModel.impl.ComponentModelPackageImpl;
+import org.polarsys.chess.chessmlprofile.Core.CorePackage;
+import org.polarsys.chess.chessmlprofile.Core.CHESSViews.CHESSViewsPackage;
+import org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl.CHESSViewsPackageImpl;
+import org.polarsys.chess.chessmlprofile.Core.impl.CorePackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.DataFlowCallGraph.DataFlowCallGraphPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.DataFlowCallGraph.impl.DataFlowCallGraphPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.DependableComponentPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.impl.DependableComponentPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEAPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEADataTypes.FMEADataTypesPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEADataTypes.impl.FMEADataTypesPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.impl.FMEAPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.FailurePropagationDataTypesPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.impl.FailurePropagationDataTypesPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl.FailurePropagationPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans.MitigationMeansPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans.impl.MitigationMeansPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.Adjudicator;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.FaultToleranceFactory;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.FaultTolerancePackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.FaultTolerant;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.RedundancyManager;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.Variant;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.MaintenanceMonitoringPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.impl.MaintenanceMonitoringPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.StateBasedAnalysisPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.impl.StateBasedAnalysisPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StateBasedComponentsPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.impl.StateBasedComponentsPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.StateBasedDataTypesPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.impl.StateBasedDataTypesPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatsPropagationPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.ThreatsPropagationPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.DeploymentConfAnalysisPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.impl.DeploymentConfAnalysisPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HardwareBaselinePackage;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.HardwareBaselinePackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTComponentModelPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.RTDataTypesPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.impl.RTDataTypesPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.impl.RTComponentModelPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingAnalysisPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.TimingConstraintsPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.impl.TimingConstraintsPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.impl.TimingAnalysisPackageImpl;
+import org.polarsys.chess.chessmlprofile.impl.chessmlprofilePackageImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class FaultTolerancePackageImpl extends EPackageImpl implements FaultTolerancePackage {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass faultTolerantEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass redundancyManagerEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass variantEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass adjudicatorEClass = null;
+
+	/**
+	 * Creates an instance of the model <b>Package</b>, registered with
+	 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+	 * package URI value.
+	 * <p>Note: the correct way to create the package is via the static
+	 * factory method {@link #init init()}, which also performs
+	 * initialization of the package, or returns the registered package,
+	 * if one already exists.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.emf.ecore.EPackage.Registry
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.FaultTolerancePackage#eNS_URI
+	 * @see #init()
+	 * @generated
+	 */
+	private FaultTolerancePackageImpl() {
+		super(eNS_URI, FaultToleranceFactory.eINSTANCE);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static boolean isInited = false;
+
+	/**
+	 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+	 * 
+	 * <p>This method is used to initialize {@link FaultTolerancePackage#eINSTANCE} when that field is accessed.
+	 * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #eNS_URI
+	 * @see #createPackageContents()
+	 * @see #initializePackageContents()
+	 * @generated
+	 */
+	public static FaultTolerancePackage init() {
+		if (isInited) return (FaultTolerancePackage)EPackage.Registry.INSTANCE.getEPackage(FaultTolerancePackage.eNS_URI);
+
+		// Obtain or create and register package
+		FaultTolerancePackageImpl theFaultTolerancePackage = (FaultTolerancePackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof FaultTolerancePackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new FaultTolerancePackageImpl());
+
+		isInited = true;
+
+		// Initialize simple dependencies
+		MARTEPackage.eINSTANCE.eClass();
+		MeasurementUnitsPackage.eINSTANCE.eClass();
+		GRM_BasicTypesPackage.eINSTANCE.eClass();
+		MARTE_DataTypesPackage.eINSTANCE.eClass();
+		BasicNFP_TypesPackage.eINSTANCE.eClass();
+		TimeTypesLibraryPackage.eINSTANCE.eClass();
+		TimeLibraryPackage.eINSTANCE.eClass();
+		RS_LibraryPackage.eINSTANCE.eClass();
+		MARTE_PrimitivesTypesPackage.eINSTANCE.eClass();
+		BasicNFP_TypesPackage.eINSTANCE.eClass();
+
+		// Obtain or create and register interdependencies
+		chessmlprofilePackageImpl thechessmlprofilePackage = (chessmlprofilePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(chessmlprofilePackage.eNS_URI) instanceof chessmlprofilePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(chessmlprofilePackage.eNS_URI) : chessmlprofilePackage.eINSTANCE);
+		CorePackageImpl theCorePackage = (CorePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(CorePackage.eNS_URI) instanceof CorePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(CorePackage.eNS_URI) : CorePackage.eINSTANCE);
+		CHESSViewsPackageImpl theCHESSViewsPackage = (CHESSViewsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(CHESSViewsPackage.eNS_URI) instanceof CHESSViewsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(CHESSViewsPackage.eNS_URI) : CHESSViewsPackage.eINSTANCE);
+		FailurePropagationPackageImpl theFailurePropagationPackage = (FailurePropagationPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FailurePropagationPackage.eNS_URI) instanceof FailurePropagationPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FailurePropagationPackage.eNS_URI) : FailurePropagationPackage.eINSTANCE);
+		FailurePropagationDataTypesPackageImpl theFailurePropagationDataTypesPackage = (FailurePropagationDataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FailurePropagationDataTypesPackage.eNS_URI) instanceof FailurePropagationDataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FailurePropagationDataTypesPackage.eNS_URI) : FailurePropagationDataTypesPackage.eINSTANCE);
+		DependableComponentPackageImpl theDependableComponentPackage = (DependableComponentPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DependableComponentPackage.eNS_URI) instanceof DependableComponentPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DependableComponentPackage.eNS_URI) : DependableComponentPackage.eINSTANCE);
+		ThreatsPropagationPackageImpl theThreatsPropagationPackage = (ThreatsPropagationPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ThreatsPropagationPackage.eNS_URI) instanceof ThreatsPropagationPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ThreatsPropagationPackage.eNS_URI) : ThreatsPropagationPackage.eINSTANCE);
+		DataFlowCallGraphPackageImpl theDataFlowCallGraphPackage = (DataFlowCallGraphPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DataFlowCallGraphPackage.eNS_URI) instanceof DataFlowCallGraphPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DataFlowCallGraphPackage.eNS_URI) : DataFlowCallGraphPackage.eINSTANCE);
+		StateBasedDataTypesPackageImpl theStateBasedDataTypesPackage = (StateBasedDataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(StateBasedDataTypesPackage.eNS_URI) instanceof StateBasedDataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(StateBasedDataTypesPackage.eNS_URI) : StateBasedDataTypesPackage.eINSTANCE);
+		StateBasedComponentsPackageImpl theStateBasedComponentsPackage = (StateBasedComponentsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(StateBasedComponentsPackage.eNS_URI) instanceof StateBasedComponentsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(StateBasedComponentsPackage.eNS_URI) : StateBasedComponentsPackage.eINSTANCE);
+		MaintenanceMonitoringPackageImpl theMaintenanceMonitoringPackage = (MaintenanceMonitoringPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(MaintenanceMonitoringPackage.eNS_URI) instanceof MaintenanceMonitoringPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(MaintenanceMonitoringPackage.eNS_URI) : MaintenanceMonitoringPackage.eINSTANCE);
+		StateBasedAnalysisPackageImpl theStateBasedAnalysisPackage = (StateBasedAnalysisPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(StateBasedAnalysisPackage.eNS_URI) instanceof StateBasedAnalysisPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(StateBasedAnalysisPackage.eNS_URI) : StateBasedAnalysisPackage.eINSTANCE);
+		FMEAPackageImpl theFMEAPackage = (FMEAPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FMEAPackage.eNS_URI) instanceof FMEAPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FMEAPackage.eNS_URI) : FMEAPackage.eINSTANCE);
+		FMEADataTypesPackageImpl theFMEADataTypesPackage = (FMEADataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FMEADataTypesPackage.eNS_URI) instanceof FMEADataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FMEADataTypesPackage.eNS_URI) : FMEADataTypesPackage.eINSTANCE);
+		MitigationMeansPackageImpl theMitigationMeansPackage = (MitigationMeansPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(MitigationMeansPackage.eNS_URI) instanceof MitigationMeansPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(MitigationMeansPackage.eNS_URI) : MitigationMeansPackage.eINSTANCE);
+		TimingAnalysisPackageImpl theTimingAnalysisPackage = (TimingAnalysisPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimingAnalysisPackage.eNS_URI) instanceof TimingAnalysisPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimingAnalysisPackage.eNS_URI) : TimingAnalysisPackage.eINSTANCE);
+		TimingConstraintsPackageImpl theTimingConstraintsPackage = (TimingConstraintsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimingConstraintsPackage.eNS_URI) instanceof TimingConstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimingConstraintsPackage.eNS_URI) : TimingConstraintsPackage.eINSTANCE);
+		HardwareBaselinePackageImpl theHardwareBaselinePackage = (HardwareBaselinePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HardwareBaselinePackage.eNS_URI) instanceof HardwareBaselinePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HardwareBaselinePackage.eNS_URI) : HardwareBaselinePackage.eINSTANCE);
+		DeploymentConfAnalysisPackageImpl theDeploymentConfAnalysisPackage = (DeploymentConfAnalysisPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DeploymentConfAnalysisPackage.eNS_URI) instanceof DeploymentConfAnalysisPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DeploymentConfAnalysisPackage.eNS_URI) : DeploymentConfAnalysisPackage.eINSTANCE);
+		RTComponentModelPackageImpl theRTComponentModelPackage = (RTComponentModelPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RTComponentModelPackage.eNS_URI) instanceof RTComponentModelPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RTComponentModelPackage.eNS_URI) : RTComponentModelPackage.eINSTANCE);
+		RTDataTypesPackageImpl theRTDataTypesPackage = (RTDataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RTDataTypesPackage.eNS_URI) instanceof RTDataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RTDataTypesPackage.eNS_URI) : RTDataTypesPackage.eINSTANCE);
+		ComponentModelPackageImpl theComponentModelPackage = (ComponentModelPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ComponentModelPackage.eNS_URI) instanceof ComponentModelPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ComponentModelPackage.eNS_URI) : ComponentModelPackage.eINSTANCE);
+
+		// Create package meta-data objects
+		theFaultTolerancePackage.createPackageContents();
+		thechessmlprofilePackage.createPackageContents();
+		theCorePackage.createPackageContents();
+		theCHESSViewsPackage.createPackageContents();
+		theFailurePropagationPackage.createPackageContents();
+		theFailurePropagationDataTypesPackage.createPackageContents();
+		theDependableComponentPackage.createPackageContents();
+		theThreatsPropagationPackage.createPackageContents();
+		theDataFlowCallGraphPackage.createPackageContents();
+		theStateBasedDataTypesPackage.createPackageContents();
+		theStateBasedComponentsPackage.createPackageContents();
+		theMaintenanceMonitoringPackage.createPackageContents();
+		theStateBasedAnalysisPackage.createPackageContents();
+		theFMEAPackage.createPackageContents();
+		theFMEADataTypesPackage.createPackageContents();
+		theMitigationMeansPackage.createPackageContents();
+		theTimingAnalysisPackage.createPackageContents();
+		theTimingConstraintsPackage.createPackageContents();
+		theHardwareBaselinePackage.createPackageContents();
+		theDeploymentConfAnalysisPackage.createPackageContents();
+		theRTComponentModelPackage.createPackageContents();
+		theRTDataTypesPackage.createPackageContents();
+		theComponentModelPackage.createPackageContents();
+
+		// Initialize created meta-data
+		theFaultTolerancePackage.initializePackageContents();
+		thechessmlprofilePackage.initializePackageContents();
+		theCorePackage.initializePackageContents();
+		theCHESSViewsPackage.initializePackageContents();
+		theFailurePropagationPackage.initializePackageContents();
+		theFailurePropagationDataTypesPackage.initializePackageContents();
+		theDependableComponentPackage.initializePackageContents();
+		theThreatsPropagationPackage.initializePackageContents();
+		theDataFlowCallGraphPackage.initializePackageContents();
+		theStateBasedDataTypesPackage.initializePackageContents();
+		theStateBasedComponentsPackage.initializePackageContents();
+		theMaintenanceMonitoringPackage.initializePackageContents();
+		theStateBasedAnalysisPackage.initializePackageContents();
+		theFMEAPackage.initializePackageContents();
+		theFMEADataTypesPackage.initializePackageContents();
+		theMitigationMeansPackage.initializePackageContents();
+		theTimingAnalysisPackage.initializePackageContents();
+		theTimingConstraintsPackage.initializePackageContents();
+		theHardwareBaselinePackage.initializePackageContents();
+		theDeploymentConfAnalysisPackage.initializePackageContents();
+		theRTComponentModelPackage.initializePackageContents();
+		theRTDataTypesPackage.initializePackageContents();
+		theComponentModelPackage.initializePackageContents();
+
+		// Mark meta-data to indicate it can't be changed
+		theFaultTolerancePackage.freeze();
+
+  
+		// Update the registry and return the package
+		EPackage.Registry.INSTANCE.put(FaultTolerancePackage.eNS_URI, theFaultTolerancePackage);
+		return theFaultTolerancePackage;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getFaultTolerant() {
+		return faultTolerantEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getFaultTolerant_Base_Component() {
+		return (EReference)faultTolerantEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getFaultTolerant_Scheme() {
+		return (EAttribute)faultTolerantEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getFaultTolerant_SchemeAttrs() {
+		return (EReference)faultTolerantEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getRedundancyManager() {
+		return redundancyManagerEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getRedundancyManager_Base_Component() {
+		return (EReference)redundancyManagerEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getRedundancyManager_Scheme() {
+		return (EAttribute)redundancyManagerEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getVariant() {
+		return variantEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getVariant_Base_Component() {
+		return (EReference)variantEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getAdjudicator() {
+		return adjudicatorEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getAdjudicator_Base_Component() {
+		return (EReference)adjudicatorEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getAdjudicator_Coverage() {
+		return (EAttribute)adjudicatorEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public FaultToleranceFactory getFaultToleranceFactory() {
+		return (FaultToleranceFactory)getEFactoryInstance();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isCreated = false;
+
+	/**
+	 * Creates the meta-model objects for the package.  This method is
+	 * guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void createPackageContents() {
+		if (isCreated) return;
+		isCreated = true;
+
+		// Create classes and their features
+		faultTolerantEClass = createEClass(FAULT_TOLERANT);
+		createEReference(faultTolerantEClass, FAULT_TOLERANT__BASE_COMPONENT);
+		createEAttribute(faultTolerantEClass, FAULT_TOLERANT__SCHEME);
+		createEReference(faultTolerantEClass, FAULT_TOLERANT__SCHEME_ATTRS);
+
+		redundancyManagerEClass = createEClass(REDUNDANCY_MANAGER);
+		createEReference(redundancyManagerEClass, REDUNDANCY_MANAGER__BASE_COMPONENT);
+		createEAttribute(redundancyManagerEClass, REDUNDANCY_MANAGER__SCHEME);
+
+		variantEClass = createEClass(VARIANT);
+		createEReference(variantEClass, VARIANT__BASE_COMPONENT);
+
+		adjudicatorEClass = createEClass(ADJUDICATOR);
+		createEReference(adjudicatorEClass, ADJUDICATOR__BASE_COMPONENT);
+		createEAttribute(adjudicatorEClass, ADJUDICATOR__COVERAGE);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isInitialized = false;
+
+	/**
+	 * Complete the initialization of the package and its meta-model.  This
+	 * method is guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void initializePackageContents() {
+		if (isInitialized) return;
+		isInitialized = true;
+
+		// Initialize package
+		setName(eNAME);
+		setNsPrefix(eNS_PREFIX);
+		setNsURI(eNS_URI);
+
+		// Obtain other dependent packages
+		UMLPackage theUMLPackage = (UMLPackage)EPackage.Registry.INSTANCE.getEPackage(UMLPackage.eNS_URI);
+		StateBasedDataTypesPackage theStateBasedDataTypesPackage = (StateBasedDataTypesPackage)EPackage.Registry.INSTANCE.getEPackage(StateBasedDataTypesPackage.eNS_URI);
+		MARTE_PrimitivesTypesPackage theMARTE_PrimitivesTypesPackage = (MARTE_PrimitivesTypesPackage)EPackage.Registry.INSTANCE.getEPackage(MARTE_PrimitivesTypesPackage.eNS_URI);
+
+		// Create type parameters
+
+		// Set bounds for type parameters
+
+		// Add supertypes to classes
+
+		// Initialize classes and features; add operations and parameters
+		initEClass(faultTolerantEClass, FaultTolerant.class, "FaultTolerant", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getFaultTolerant_Base_Component(), theUMLPackage.getComponent(), null, "base_Component", null, 1, 1, FaultTolerant.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getFaultTolerant_Scheme(), theStateBasedDataTypesPackage.getRedundancyKind(), "scheme", null, 1, 1, FaultTolerant.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEReference(getFaultTolerant_SchemeAttrs(), theUMLPackage.getOpaqueExpression(), null, "schemeAttrs", null, 1, 1, FaultTolerant.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+		initEClass(redundancyManagerEClass, RedundancyManager.class, "RedundancyManager", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getRedundancyManager_Base_Component(), theUMLPackage.getComponent(), null, "base_Component", null, 1, 1, RedundancyManager.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getRedundancyManager_Scheme(), theStateBasedDataTypesPackage.getRedundancyKind(), "scheme", null, 1, 1, RedundancyManager.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+		initEClass(variantEClass, Variant.class, "Variant", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getVariant_Base_Component(), theUMLPackage.getComponent(), null, "base_Component", null, 1, 1, Variant.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+		initEClass(adjudicatorEClass, Adjudicator.class, "Adjudicator", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getAdjudicator_Base_Component(), theUMLPackage.getComponent(), null, "base_Component", null, 1, 1, Adjudicator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getAdjudicator_Coverage(), theMARTE_PrimitivesTypesPackage.getReal(), "coverage", null, 1, 1, Adjudicator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+	}
+
+} //FaultTolerancePackageImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/FaultTolerance/impl/FaultTolerantImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/FaultTolerance/impl/FaultTolerantImpl.java
new file mode 100644
index 000000000..25181bbce
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/FaultTolerance/impl/FaultTolerantImpl.java
@@ -0,0 +1,293 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.OpaqueExpression;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.FaultTolerancePackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.FaultTolerant;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.RedundancyKind;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Fault Tolerant</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.impl.FaultTolerantImpl#getBase_Component <em>Base Component</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.impl.FaultTolerantImpl#getScheme <em>Scheme</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.impl.FaultTolerantImpl#getSchemeAttrs <em>Scheme Attrs</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class FaultTolerantImpl extends EObjectImpl implements FaultTolerant {
+	/**
+	 * The cached value of the '{@link #getBase_Component() <em>Base Component</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBase_Component()
+	 * @generated
+	 * @ordered
+	 */
+	protected Component base_Component;
+
+	/**
+	 * The default value of the '{@link #getScheme() <em>Scheme</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getScheme()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final RedundancyKind SCHEME_EDEFAULT = RedundancyKind.TMR;
+
+	/**
+	 * The cached value of the '{@link #getScheme() <em>Scheme</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getScheme()
+	 * @generated
+	 * @ordered
+	 */
+	protected RedundancyKind scheme = SCHEME_EDEFAULT;
+
+	/**
+	 * The cached value of the '{@link #getSchemeAttrs() <em>Scheme Attrs</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getSchemeAttrs()
+	 * @generated
+	 * @ordered
+	 */
+	protected OpaqueExpression schemeAttrs;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected FaultTolerantImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return FaultTolerancePackage.Literals.FAULT_TOLERANT;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Component getBase_Component() {
+		if (base_Component != null && base_Component.eIsProxy()) {
+			InternalEObject oldBase_Component = (InternalEObject)base_Component;
+			base_Component = (Component)eResolveProxy(oldBase_Component);
+			if (base_Component != oldBase_Component) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, FaultTolerancePackage.FAULT_TOLERANT__BASE_COMPONENT, oldBase_Component, base_Component));
+			}
+		}
+		return base_Component;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Component basicGetBase_Component() {
+		return base_Component;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setBase_Component(Component newBase_Component) {
+		Component oldBase_Component = base_Component;
+		base_Component = newBase_Component;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, FaultTolerancePackage.FAULT_TOLERANT__BASE_COMPONENT, oldBase_Component, base_Component));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public RedundancyKind getScheme() {
+		return scheme;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setScheme(RedundancyKind newScheme) {
+		RedundancyKind oldScheme = scheme;
+		scheme = newScheme == null ? SCHEME_EDEFAULT : newScheme;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, FaultTolerancePackage.FAULT_TOLERANT__SCHEME, oldScheme, scheme));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public OpaqueExpression getSchemeAttrs() {
+		if (schemeAttrs != null && schemeAttrs.eIsProxy()) {
+			InternalEObject oldSchemeAttrs = (InternalEObject)schemeAttrs;
+			schemeAttrs = (OpaqueExpression)eResolveProxy(oldSchemeAttrs);
+			if (schemeAttrs != oldSchemeAttrs) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, FaultTolerancePackage.FAULT_TOLERANT__SCHEME_ATTRS, oldSchemeAttrs, schemeAttrs));
+			}
+		}
+		return schemeAttrs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public OpaqueExpression basicGetSchemeAttrs() {
+		return schemeAttrs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setSchemeAttrs(OpaqueExpression newSchemeAttrs) {
+		OpaqueExpression oldSchemeAttrs = schemeAttrs;
+		schemeAttrs = newSchemeAttrs;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, FaultTolerancePackage.FAULT_TOLERANT__SCHEME_ATTRS, oldSchemeAttrs, schemeAttrs));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case FaultTolerancePackage.FAULT_TOLERANT__BASE_COMPONENT:
+				if (resolve) return getBase_Component();
+				return basicGetBase_Component();
+			case FaultTolerancePackage.FAULT_TOLERANT__SCHEME:
+				return getScheme();
+			case FaultTolerancePackage.FAULT_TOLERANT__SCHEME_ATTRS:
+				if (resolve) return getSchemeAttrs();
+				return basicGetSchemeAttrs();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case FaultTolerancePackage.FAULT_TOLERANT__BASE_COMPONENT:
+				setBase_Component((Component)newValue);
+				return;
+			case FaultTolerancePackage.FAULT_TOLERANT__SCHEME:
+				setScheme((RedundancyKind)newValue);
+				return;
+			case FaultTolerancePackage.FAULT_TOLERANT__SCHEME_ATTRS:
+				setSchemeAttrs((OpaqueExpression)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case FaultTolerancePackage.FAULT_TOLERANT__BASE_COMPONENT:
+				setBase_Component((Component)null);
+				return;
+			case FaultTolerancePackage.FAULT_TOLERANT__SCHEME:
+				setScheme(SCHEME_EDEFAULT);
+				return;
+			case FaultTolerancePackage.FAULT_TOLERANT__SCHEME_ATTRS:
+				setSchemeAttrs((OpaqueExpression)null);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case FaultTolerancePackage.FAULT_TOLERANT__BASE_COMPONENT:
+				return base_Component != null;
+			case FaultTolerancePackage.FAULT_TOLERANT__SCHEME:
+				return scheme != SCHEME_EDEFAULT;
+			case FaultTolerancePackage.FAULT_TOLERANT__SCHEME_ATTRS:
+				return schemeAttrs != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (scheme: ");
+		result.append(scheme);
+		result.append(')');
+		return result.toString();
+	}
+
+} //FaultTolerantImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/FaultTolerance/impl/RedundancyManagerImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/FaultTolerance/impl/RedundancyManagerImpl.java
new file mode 100644
index 000000000..9efc7a2c2
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/FaultTolerance/impl/RedundancyManagerImpl.java
@@ -0,0 +1,232 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.uml2.uml.Component;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.FaultTolerancePackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.RedundancyManager;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.RedundancyKind;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Redundancy Manager</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.impl.RedundancyManagerImpl#getBase_Component <em>Base Component</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.impl.RedundancyManagerImpl#getScheme <em>Scheme</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class RedundancyManagerImpl extends EObjectImpl implements RedundancyManager {
+	/**
+	 * The cached value of the '{@link #getBase_Component() <em>Base Component</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBase_Component()
+	 * @generated
+	 * @ordered
+	 */
+	protected Component base_Component;
+
+	/**
+	 * The default value of the '{@link #getScheme() <em>Scheme</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getScheme()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final RedundancyKind SCHEME_EDEFAULT = RedundancyKind.TMR;
+
+	/**
+	 * The cached value of the '{@link #getScheme() <em>Scheme</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getScheme()
+	 * @generated
+	 * @ordered
+	 */
+	protected RedundancyKind scheme = SCHEME_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected RedundancyManagerImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return FaultTolerancePackage.Literals.REDUNDANCY_MANAGER;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Component getBase_Component() {
+		if (base_Component != null && base_Component.eIsProxy()) {
+			InternalEObject oldBase_Component = (InternalEObject)base_Component;
+			base_Component = (Component)eResolveProxy(oldBase_Component);
+			if (base_Component != oldBase_Component) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, FaultTolerancePackage.REDUNDANCY_MANAGER__BASE_COMPONENT, oldBase_Component, base_Component));
+			}
+		}
+		return base_Component;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Component basicGetBase_Component() {
+		return base_Component;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setBase_Component(Component newBase_Component) {
+		Component oldBase_Component = base_Component;
+		base_Component = newBase_Component;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, FaultTolerancePackage.REDUNDANCY_MANAGER__BASE_COMPONENT, oldBase_Component, base_Component));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public RedundancyKind getScheme() {
+		return scheme;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setScheme(RedundancyKind newScheme) {
+		RedundancyKind oldScheme = scheme;
+		scheme = newScheme == null ? SCHEME_EDEFAULT : newScheme;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, FaultTolerancePackage.REDUNDANCY_MANAGER__SCHEME, oldScheme, scheme));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case FaultTolerancePackage.REDUNDANCY_MANAGER__BASE_COMPONENT:
+				if (resolve) return getBase_Component();
+				return basicGetBase_Component();
+			case FaultTolerancePackage.REDUNDANCY_MANAGER__SCHEME:
+				return getScheme();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case FaultTolerancePackage.REDUNDANCY_MANAGER__BASE_COMPONENT:
+				setBase_Component((Component)newValue);
+				return;
+			case FaultTolerancePackage.REDUNDANCY_MANAGER__SCHEME:
+				setScheme((RedundancyKind)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case FaultTolerancePackage.REDUNDANCY_MANAGER__BASE_COMPONENT:
+				setBase_Component((Component)null);
+				return;
+			case FaultTolerancePackage.REDUNDANCY_MANAGER__SCHEME:
+				setScheme(SCHEME_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case FaultTolerancePackage.REDUNDANCY_MANAGER__BASE_COMPONENT:
+				return base_Component != null;
+			case FaultTolerancePackage.REDUNDANCY_MANAGER__SCHEME:
+				return scheme != SCHEME_EDEFAULT;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (scheme: ");
+		result.append(scheme);
+		result.append(')');
+		return result.toString();
+	}
+
+} //RedundancyManagerImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/FaultTolerance/impl/VariantImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/FaultTolerance/impl/VariantImpl.java
new file mode 100644
index 000000000..03d496037
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/FaultTolerance/impl/VariantImpl.java
@@ -0,0 +1,163 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.uml2.uml.Component;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.FaultTolerancePackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.Variant;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Variant</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.impl.VariantImpl#getBase_Component <em>Base Component</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class VariantImpl extends EObjectImpl implements Variant {
+	/**
+	 * The cached value of the '{@link #getBase_Component() <em>Base Component</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBase_Component()
+	 * @generated
+	 * @ordered
+	 */
+	protected Component base_Component;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected VariantImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return FaultTolerancePackage.Literals.VARIANT;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Component getBase_Component() {
+		if (base_Component != null && base_Component.eIsProxy()) {
+			InternalEObject oldBase_Component = (InternalEObject)base_Component;
+			base_Component = (Component)eResolveProxy(oldBase_Component);
+			if (base_Component != oldBase_Component) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, FaultTolerancePackage.VARIANT__BASE_COMPONENT, oldBase_Component, base_Component));
+			}
+		}
+		return base_Component;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Component basicGetBase_Component() {
+		return base_Component;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setBase_Component(Component newBase_Component) {
+		Component oldBase_Component = base_Component;
+		base_Component = newBase_Component;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, FaultTolerancePackage.VARIANT__BASE_COMPONENT, oldBase_Component, base_Component));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case FaultTolerancePackage.VARIANT__BASE_COMPONENT:
+				if (resolve) return getBase_Component();
+				return basicGetBase_Component();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case FaultTolerancePackage.VARIANT__BASE_COMPONENT:
+				setBase_Component((Component)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case FaultTolerancePackage.VARIANT__BASE_COMPONENT:
+				setBase_Component((Component)null);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case FaultTolerancePackage.VARIANT__BASE_COMPONENT:
+				return base_Component != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //VariantImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/FaultTolerance/util/FaultToleranceAdapterFactory.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/FaultTolerance/util/FaultToleranceAdapterFactory.java
new file mode 100644
index 000000000..326517ff9
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/FaultTolerance/util/FaultToleranceAdapterFactory.java
@@ -0,0 +1,180 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+import org.eclipse.emf.ecore.EObject;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.FaultTolerancePackage
+ * @generated
+ */
+public class FaultToleranceAdapterFactory extends AdapterFactoryImpl {
+	/**
+	 * The cached model package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static FaultTolerancePackage modelPackage;
+
+	/**
+	 * Creates an instance of the adapter factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public FaultToleranceAdapterFactory() {
+		if (modelPackage == null) {
+			modelPackage = FaultTolerancePackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Returns whether this factory is applicable for the type of the object.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+	 * <!-- end-user-doc -->
+	 * @return whether this factory is applicable for the type of the object.
+	 * @generated
+	 */
+	@Override
+	public boolean isFactoryForType(Object object) {
+		if (object == modelPackage) {
+			return true;
+		}
+		if (object instanceof EObject) {
+			return ((EObject)object).eClass().getEPackage() == modelPackage;
+		}
+		return false;
+	}
+
+	/**
+	 * The switch that delegates to the <code>createXXX</code> methods.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected FaultToleranceSwitch<Adapter> modelSwitch =
+		new FaultToleranceSwitch<Adapter>() {
+			@Override
+			public Adapter caseFaultTolerant(FaultTolerant object) {
+				return createFaultTolerantAdapter();
+			}
+			@Override
+			public Adapter caseRedundancyManager(RedundancyManager object) {
+				return createRedundancyManagerAdapter();
+			}
+			@Override
+			public Adapter caseVariant(Variant object) {
+				return createVariantAdapter();
+			}
+			@Override
+			public Adapter caseAdjudicator(Adjudicator object) {
+				return createAdjudicatorAdapter();
+			}
+			@Override
+			public Adapter defaultCase(EObject object) {
+				return createEObjectAdapter();
+			}
+		};
+
+	/**
+	 * Creates an adapter for the <code>target</code>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param target the object to adapt.
+	 * @return the adapter for the <code>target</code>.
+	 * @generated
+	 */
+	@Override
+	public Adapter createAdapter(Notifier target) {
+		return modelSwitch.doSwitch((EObject)target);
+	}
+
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.FaultTolerant <em>Fault Tolerant</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.FaultTolerant
+	 * @generated
+	 */
+	public Adapter createFaultTolerantAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.RedundancyManager <em>Redundancy Manager</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.RedundancyManager
+	 * @generated
+	 */
+	public Adapter createRedundancyManagerAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.Variant <em>Variant</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.Variant
+	 * @generated
+	 */
+	public Adapter createVariantAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.Adjudicator <em>Adjudicator</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.Adjudicator
+	 * @generated
+	 */
+	public Adapter createAdjudicatorAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for the default case.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @generated
+	 */
+	public Adapter createEObjectAdapter() {
+		return null;
+	}
+
+} //FaultToleranceAdapterFactory
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/FaultTolerance/util/FaultToleranceResourceFactoryImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/FaultTolerance/util/FaultToleranceResourceFactoryImpl.java
new file mode 100644
index 000000000..02c5b03d1
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/FaultTolerance/util/FaultToleranceResourceFactoryImpl.java
@@ -0,0 +1,61 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.util;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.resource.impl.ResourceFactoryImpl;
+
+import org.eclipse.emf.ecore.xmi.XMLResource;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource Factory</b> associated with the package.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.util.FaultToleranceResourceImpl
+ * @generated
+ */
+public class FaultToleranceResourceFactoryImpl extends ResourceFactoryImpl {
+	/**
+	 * Creates an instance of the resource factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public FaultToleranceResourceFactoryImpl() {
+		super();
+	}
+
+	/**
+	 * Creates an instance of the resource.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Resource createResource(URI uri) {
+		XMLResource result = new FaultToleranceResourceImpl(uri);
+		result.getDefaultSaveOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
+		result.getDefaultLoadOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
+
+		result.getDefaultSaveOptions().put(XMLResource.OPTION_SCHEMA_LOCATION, Boolean.TRUE);
+
+		result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+		result.getDefaultSaveOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+
+		result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_LEXICAL_HANDLER, Boolean.TRUE);
+		return result;
+	}
+
+} //FaultToleranceResourceFactoryImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/FaultTolerance/util/FaultToleranceResourceImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/FaultTolerance/util/FaultToleranceResourceImpl.java
new file mode 100644
index 000000000..d6772e626
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/FaultTolerance/util/FaultToleranceResourceImpl.java
@@ -0,0 +1,37 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.util;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource </b> associated with the package.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.util.FaultToleranceResourceFactoryImpl
+ * @generated
+ */
+public class FaultToleranceResourceImpl extends XMLResourceImpl {
+	/**
+	 * Creates an instance of the resource.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param uri the URI of the new resource.
+	 * @generated
+	 */
+	public FaultToleranceResourceImpl(URI uri) {
+		super(uri);
+	}
+
+} //FaultToleranceResourceImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/FaultTolerance/util/FaultToleranceSwitch.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/FaultTolerance/util/FaultToleranceSwitch.java
new file mode 100644
index 000000000..81d57dcc0
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/FaultTolerance/util/FaultToleranceSwitch.java
@@ -0,0 +1,183 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.util;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.util.Switch;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.FaultTolerancePackage
+ * @generated
+ */
+public class FaultToleranceSwitch<T> extends Switch<T> {
+	/**
+	 * The cached model package
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static FaultTolerancePackage modelPackage;
+
+	/**
+	 * Creates an instance of the switch.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public FaultToleranceSwitch() {
+		if (modelPackage == null) {
+			modelPackage = FaultTolerancePackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Checks whether this is a switch for the given package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @parameter ePackage the package in question.
+	 * @return whether this is a switch for the given package.
+	 * @generated
+	 */
+	@Override
+	protected boolean isSwitchFor(EPackage ePackage) {
+		return ePackage == modelPackage;
+	}
+
+	/**
+	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the first non-null result returned by a <code>caseXXX</code> call.
+	 * @generated
+	 */
+	@Override
+	protected T doSwitch(int classifierID, EObject theEObject) {
+		switch (classifierID) {
+			case FaultTolerancePackage.FAULT_TOLERANT: {
+				FaultTolerant faultTolerant = (FaultTolerant)theEObject;
+				T result = caseFaultTolerant(faultTolerant);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case FaultTolerancePackage.REDUNDANCY_MANAGER: {
+				RedundancyManager redundancyManager = (RedundancyManager)theEObject;
+				T result = caseRedundancyManager(redundancyManager);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case FaultTolerancePackage.VARIANT: {
+				Variant variant = (Variant)theEObject;
+				T result = caseVariant(variant);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case FaultTolerancePackage.ADJUDICATOR: {
+				Adjudicator adjudicator = (Adjudicator)theEObject;
+				T result = caseAdjudicator(adjudicator);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			default: return defaultCase(theEObject);
+		}
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Fault Tolerant</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Fault Tolerant</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseFaultTolerant(FaultTolerant object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Redundancy Manager</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Redundancy Manager</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseRedundancyManager(RedundancyManager object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Variant</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Variant</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseVariant(Variant object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Adjudicator</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Adjudicator</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseAdjudicator(Adjudicator object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch, but this is the last case anyway.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+	 * @generated
+	 */
+	@Override
+	public T defaultCase(EObject object) {
+		return null;
+	}
+
+} //FaultToleranceSwitch
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/FaultTolerance/util/FaultToleranceXMLProcessor.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/FaultTolerance/util/FaultToleranceXMLProcessor.java
new file mode 100644
index 000000000..2676b158f
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/FaultTolerance/util/FaultToleranceXMLProcessor.java
@@ -0,0 +1,56 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.util;
+
+import java.util.Map;
+
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.xmi.util.XMLProcessor;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.FaultTolerancePackage;
+
+/**
+ * This class contains helper methods to serialize and deserialize XML documents
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class FaultToleranceXMLProcessor extends XMLProcessor {
+
+	/**
+	 * Public constructor to instantiate the helper.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public FaultToleranceXMLProcessor() {
+		super((EPackage.Registry.INSTANCE));
+		FaultTolerancePackage.eINSTANCE.eClass();
+	}
+	
+	/**
+	 * Register for "*" and "xml" file extensions the FaultToleranceResourceFactoryImpl factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected Map<String, Resource.Factory> getRegistrations() {
+		if (registrations == null) {
+			super.getRegistrations();
+			registrations.put(XML_EXTENSION, new FaultToleranceResourceFactoryImpl());
+			registrations.put(STAR_EXTENSION, new FaultToleranceResourceFactoryImpl());
+		}
+		return registrations;
+	}
+
+} //FaultToleranceXMLProcessor
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/MaintenanceMonitoring/ErrorDetection.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/MaintenanceMonitoring/ErrorDetection.java
new file mode 100644
index 000000000..2f2799b4d
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/MaintenanceMonitoring/ErrorDetection.java
@@ -0,0 +1,114 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring;
+
+import org.eclipse.uml2.uml.Property;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.FailureMode;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Error Detection</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.ErrorDetection#getTargets <em>Targets</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.ErrorDetection#getCorrectionProbability <em>Correction Probability</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.ErrorDetection#getControlledFailure <em>Controlled Failure</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.MaintenanceMonitoringPackage#getErrorDetection()
+ * @model
+ * @generated
+ */
+public interface ErrorDetection extends MMActivities {
+	/**
+	 * Returns the value of the '<em><b>Targets</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Targets</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Targets</em>' reference.
+	 * @see #setTargets(Property)
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.MaintenanceMonitoringPackage#getErrorDetection_Targets()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	Property getTargets();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.ErrorDetection#getTargets <em>Targets</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Targets</em>' reference.
+	 * @see #getTargets()
+	 * @generated
+	 */
+	void setTargets(Property value);
+
+	/**
+	 * Returns the value of the '<em><b>Correction Probability</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Correction Probability</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Correction Probability</em>' attribute.
+	 * @see #setCorrectionProbability(String)
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.MaintenanceMonitoringPackage#getErrorDetection_CorrectionProbability()
+	 * @model dataType="org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.NFP_Real" required="true" ordered="false"
+	 * @generated
+	 */
+	String getCorrectionProbability();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.ErrorDetection#getCorrectionProbability <em>Correction Probability</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Correction Probability</em>' attribute.
+	 * @see #getCorrectionProbability()
+	 * @generated
+	 */
+	void setCorrectionProbability(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Controlled Failure</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Controlled Failure</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Controlled Failure</em>' reference.
+	 * @see #setControlledFailure(FailureMode)
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.MaintenanceMonitoringPackage#getErrorDetection_ControlledFailure()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	FailureMode getControlledFailure();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.ErrorDetection#getControlledFailure <em>Controlled Failure</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Controlled Failure</em>' reference.
+	 * @see #getControlledFailure()
+	 * @generated
+	 */
+	void setControlledFailure(FailureMode value);
+
+} // ErrorDetection
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/MaintenanceMonitoring/FailureDetection.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/MaintenanceMonitoring/FailureDetection.java
new file mode 100644
index 000000000..6fab225e0
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/MaintenanceMonitoring/FailureDetection.java
@@ -0,0 +1,74 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.uml2.uml.Activity;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Failure Detection</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.FailureDetection#getOnDetection <em>On Detection</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.MaintenanceMonitoringPackage#getFailureDetection()
+ * @model
+ * @generated
+ */
+public interface FailureDetection extends MMActivities {
+	/**
+	 * Returns the value of the '<em><b>On Detection</b></em>' reference list.
+	 * The list contents are of type {@link org.eclipse.uml2.uml.Activity}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>On Detection</em>' reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>On Detection</em>' reference list.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.MaintenanceMonitoringPackage#getFailureDetection_OnDetection()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	EList<Activity> getOnDetection();
+
+	/**
+	 * Retrieves the first {@link org.eclipse.uml2.uml.Activity} with the specified '<em><b>Name</b></em>' from the '<em><b>On Detection</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param name The '<em><b>Name</b></em>' of the {@link org.eclipse.uml2.uml.Activity} to retrieve, or <code>null</code>.
+	 * @return The first {@link org.eclipse.uml2.uml.Activity} with the specified '<em><b>Name</b></em>', or <code>null</code>.
+	 * @see #getOnDetection()
+	 * @generated
+	 */
+	Activity getOnDetection(String name);
+
+	/**
+	 * Retrieves the first {@link org.eclipse.uml2.uml.Activity} with the specified '<em><b>Name</b></em>' from the '<em><b>On Detection</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param name The '<em><b>Name</b></em>' of the {@link org.eclipse.uml2.uml.Activity} to retrieve, or <code>null</code>.
+	 * @param ignoreCase Whether to ignore case in {@link java.lang.String} comparisons.
+	 * @return The first {@link org.eclipse.uml2.uml.Activity} with the specified '<em><b>Name</b></em>', or <code>null</code>.
+	 * @see #getOnDetection()
+	 * @generated
+	 */
+	Activity getOnDetection(String name, boolean ignoreCase);
+
+} // FailureDetection
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/MaintenanceMonitoring/MMActivities.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/MaintenanceMonitoring/MMActivities.java
new file mode 100644
index 000000000..86cb6c634
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/MaintenanceMonitoring/MMActivities.java
@@ -0,0 +1,292 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.uml2.uml.Action;
+import org.eclipse.uml2.uml.Activity;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>MM Activities</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.MMActivities#getBase_Activity <em>Base Activity</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.MMActivities#getWhen <em>When</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.MMActivities#getDuration <em>Duration</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.MMActivities#getProbSuccess <em>Prob Success</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.MMActivities#getOnCompletion <em>On Completion</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.MMActivities#getOnSuccessfulCompletion <em>On Successful Completion</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.MMActivities#getOnFailedCompletion <em>On Failed Completion</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.MMActivities#getBase_Action <em>Base Action</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.MaintenanceMonitoringPackage#getMMActivities()
+ * @model
+ * @generated
+ */
+public interface MMActivities extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Base Activity</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Activity</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Base Activity</em>' reference.
+	 * @see #setBase_Activity(Activity)
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.MaintenanceMonitoringPackage#getMMActivities_Base_Activity()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	Activity getBase_Activity();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.MMActivities#getBase_Activity <em>Base Activity</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Base Activity</em>' reference.
+	 * @see #getBase_Activity()
+	 * @generated
+	 */
+	void setBase_Activity(Activity value);
+
+	/**
+	 * Returns the value of the '<em><b>When</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>When</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>When</em>' attribute.
+	 * @see #setWhen(String)
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.MaintenanceMonitoringPackage#getMMActivities_When()
+	 * @model dataType="org.eclipse.uml2.types.String" ordered="false"
+	 * @generated
+	 */
+	String getWhen();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.MMActivities#getWhen <em>When</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>When</em>' attribute.
+	 * @see #getWhen()
+	 * @generated
+	 */
+	void setWhen(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Duration</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Duration</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Duration</em>' attribute.
+	 * @see #setDuration(String)
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.MaintenanceMonitoringPackage#getMMActivities_Duration()
+	 * @model dataType="org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.NFP_Duration" required="true" ordered="false"
+	 * @generated
+	 */
+	String getDuration();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.MMActivities#getDuration <em>Duration</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Duration</em>' attribute.
+	 * @see #getDuration()
+	 * @generated
+	 */
+	void setDuration(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Prob Success</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Prob Success</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Prob Success</em>' attribute.
+	 * @see #setProbSuccess(String)
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.MaintenanceMonitoringPackage#getMMActivities_ProbSuccess()
+	 * @model dataType="org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.NFP_Real" required="true" ordered="false"
+	 * @generated
+	 */
+	String getProbSuccess();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.MMActivities#getProbSuccess <em>Prob Success</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Prob Success</em>' attribute.
+	 * @see #getProbSuccess()
+	 * @generated
+	 */
+	void setProbSuccess(String value);
+
+	/**
+	 * Returns the value of the '<em><b>On Completion</b></em>' reference list.
+	 * The list contents are of type {@link org.eclipse.uml2.uml.Activity}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>On Completion</em>' reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>On Completion</em>' reference list.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.MaintenanceMonitoringPackage#getMMActivities_OnCompletion()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	EList<Activity> getOnCompletion();
+
+	/**
+	 * Retrieves the first {@link org.eclipse.uml2.uml.Activity} with the specified '<em><b>Name</b></em>' from the '<em><b>On Completion</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param name The '<em><b>Name</b></em>' of the {@link org.eclipse.uml2.uml.Activity} to retrieve, or <code>null</code>.
+	 * @return The first {@link org.eclipse.uml2.uml.Activity} with the specified '<em><b>Name</b></em>', or <code>null</code>.
+	 * @see #getOnCompletion()
+	 * @generated
+	 */
+	Activity getOnCompletion(String name);
+
+	/**
+	 * Retrieves the first {@link org.eclipse.uml2.uml.Activity} with the specified '<em><b>Name</b></em>' from the '<em><b>On Completion</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param name The '<em><b>Name</b></em>' of the {@link org.eclipse.uml2.uml.Activity} to retrieve, or <code>null</code>.
+	 * @param ignoreCase Whether to ignore case in {@link java.lang.String} comparisons.
+	 * @return The first {@link org.eclipse.uml2.uml.Activity} with the specified '<em><b>Name</b></em>', or <code>null</code>.
+	 * @see #getOnCompletion()
+	 * @generated
+	 */
+	Activity getOnCompletion(String name, boolean ignoreCase);
+
+	/**
+	 * Returns the value of the '<em><b>On Successful Completion</b></em>' reference list.
+	 * The list contents are of type {@link org.eclipse.uml2.uml.Activity}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>On Successful Completion</em>' reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>On Successful Completion</em>' reference list.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.MaintenanceMonitoringPackage#getMMActivities_OnSuccessfulCompletion()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	EList<Activity> getOnSuccessfulCompletion();
+
+	/**
+	 * Retrieves the first {@link org.eclipse.uml2.uml.Activity} with the specified '<em><b>Name</b></em>' from the '<em><b>On Successful Completion</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param name The '<em><b>Name</b></em>' of the {@link org.eclipse.uml2.uml.Activity} to retrieve, or <code>null</code>.
+	 * @return The first {@link org.eclipse.uml2.uml.Activity} with the specified '<em><b>Name</b></em>', or <code>null</code>.
+	 * @see #getOnSuccessfulCompletion()
+	 * @generated
+	 */
+	Activity getOnSuccessfulCompletion(String name);
+
+	/**
+	 * Retrieves the first {@link org.eclipse.uml2.uml.Activity} with the specified '<em><b>Name</b></em>' from the '<em><b>On Successful Completion</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param name The '<em><b>Name</b></em>' of the {@link org.eclipse.uml2.uml.Activity} to retrieve, or <code>null</code>.
+	 * @param ignoreCase Whether to ignore case in {@link java.lang.String} comparisons.
+	 * @return The first {@link org.eclipse.uml2.uml.Activity} with the specified '<em><b>Name</b></em>', or <code>null</code>.
+	 * @see #getOnSuccessfulCompletion()
+	 * @generated
+	 */
+	Activity getOnSuccessfulCompletion(String name, boolean ignoreCase);
+
+	/**
+	 * Returns the value of the '<em><b>On Failed Completion</b></em>' reference list.
+	 * The list contents are of type {@link org.eclipse.uml2.uml.Activity}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>On Failed Completion</em>' reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>On Failed Completion</em>' reference list.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.MaintenanceMonitoringPackage#getMMActivities_OnFailedCompletion()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	EList<Activity> getOnFailedCompletion();
+
+	/**
+	 * Retrieves the first {@link org.eclipse.uml2.uml.Activity} with the specified '<em><b>Name</b></em>' from the '<em><b>On Failed Completion</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param name The '<em><b>Name</b></em>' of the {@link org.eclipse.uml2.uml.Activity} to retrieve, or <code>null</code>.
+	 * @return The first {@link org.eclipse.uml2.uml.Activity} with the specified '<em><b>Name</b></em>', or <code>null</code>.
+	 * @see #getOnFailedCompletion()
+	 * @generated
+	 */
+	Activity getOnFailedCompletion(String name);
+
+	/**
+	 * Retrieves the first {@link org.eclipse.uml2.uml.Activity} with the specified '<em><b>Name</b></em>' from the '<em><b>On Failed Completion</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param name The '<em><b>Name</b></em>' of the {@link org.eclipse.uml2.uml.Activity} to retrieve, or <code>null</code>.
+	 * @param ignoreCase Whether to ignore case in {@link java.lang.String} comparisons.
+	 * @return The first {@link org.eclipse.uml2.uml.Activity} with the specified '<em><b>Name</b></em>', or <code>null</code>.
+	 * @see #getOnFailedCompletion()
+	 * @generated
+	 */
+	Activity getOnFailedCompletion(String name, boolean ignoreCase);
+
+	/**
+	 * Returns the value of the '<em><b>Base Action</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Action</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Base Action</em>' reference.
+	 * @see #setBase_Action(Action)
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.MaintenanceMonitoringPackage#getMMActivities_Base_Action()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	Action getBase_Action();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.MMActivities#getBase_Action <em>Base Action</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Base Action</em>' reference.
+	 * @see #getBase_Action()
+	 * @generated
+	 */
+	void setBase_Action(Action value);
+
+} // MMActivities
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/MaintenanceMonitoring/MaintenanceMonitoringFactory.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/MaintenanceMonitoring/MaintenanceMonitoringFactory.java
new file mode 100644
index 000000000..778e76c06
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/MaintenanceMonitoring/MaintenanceMonitoringFactory.java
@@ -0,0 +1,87 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.MaintenanceMonitoringPackage
+ * @generated
+ */
+public interface MaintenanceMonitoringFactory extends EFactory {
+	/**
+	 * The singleton instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	MaintenanceMonitoringFactory eINSTANCE = org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.impl.MaintenanceMonitoringFactoryImpl.init();
+
+	/**
+	 * Returns a new object of class '<em>MM Activities</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>MM Activities</em>'.
+	 * @generated
+	 */
+	MMActivities createMMActivities();
+
+	/**
+	 * Returns a new object of class '<em>Repair</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Repair</em>'.
+	 * @generated
+	 */
+	Repair createRepair();
+
+	/**
+	 * Returns a new object of class '<em>Replace</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Replace</em>'.
+	 * @generated
+	 */
+	Replace createReplace();
+
+	/**
+	 * Returns a new object of class '<em>Error Detection</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Error Detection</em>'.
+	 * @generated
+	 */
+	ErrorDetection createErrorDetection();
+
+	/**
+	 * Returns a new object of class '<em>Failure Detection</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Failure Detection</em>'.
+	 * @generated
+	 */
+	FailureDetection createFailureDetection();
+
+	/**
+	 * Returns the package supported by this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the package supported by this factory.
+	 * @generated
+	 */
+	MaintenanceMonitoringPackage getMaintenanceMonitoringPackage();
+
+} //MaintenanceMonitoringFactory
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/MaintenanceMonitoring/MaintenanceMonitoringPackage.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/MaintenanceMonitoring/MaintenanceMonitoringPackage.java
new file mode 100644
index 000000000..a18353d1d
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/MaintenanceMonitoring/MaintenanceMonitoringPackage.java
@@ -0,0 +1,995 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ *   <li>each class,</li>
+ *   <li>each feature of each class,</li>
+ *   <li>each enum,</li>
+ *   <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.MaintenanceMonitoringFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface MaintenanceMonitoringPackage extends EPackage {
+	/**
+	 * The package name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNAME = "MaintenanceMonitoring";
+
+	/**
+	 * The package namespace URI.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_URI = "http://CHESS/Dependability/StateBased/MaintenanceMonitoring";
+
+	/**
+	 * The package namespace name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_PREFIX = "MaintenanceMonitoring";
+
+	/**
+	 * The singleton instance of the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	MaintenanceMonitoringPackage eINSTANCE = org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.impl.MaintenanceMonitoringPackageImpl.init();
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.impl.MMActivitiesImpl <em>MM Activities</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.impl.MMActivitiesImpl
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.impl.MaintenanceMonitoringPackageImpl#getMMActivities()
+	 * @generated
+	 */
+	int MM_ACTIVITIES = 0;
+
+	/**
+	 * The feature id for the '<em><b>Base Activity</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MM_ACTIVITIES__BASE_ACTIVITY = 0;
+
+	/**
+	 * The feature id for the '<em><b>When</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MM_ACTIVITIES__WHEN = 1;
+
+	/**
+	 * The feature id for the '<em><b>Duration</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MM_ACTIVITIES__DURATION = 2;
+
+	/**
+	 * The feature id for the '<em><b>Prob Success</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MM_ACTIVITIES__PROB_SUCCESS = 3;
+
+	/**
+	 * The feature id for the '<em><b>On Completion</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MM_ACTIVITIES__ON_COMPLETION = 4;
+
+	/**
+	 * The feature id for the '<em><b>On Successful Completion</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MM_ACTIVITIES__ON_SUCCESSFUL_COMPLETION = 5;
+
+	/**
+	 * The feature id for the '<em><b>On Failed Completion</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MM_ACTIVITIES__ON_FAILED_COMPLETION = 6;
+
+	/**
+	 * The feature id for the '<em><b>Base Action</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MM_ACTIVITIES__BASE_ACTION = 7;
+
+	/**
+	 * The number of structural features of the '<em>MM Activities</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MM_ACTIVITIES_FEATURE_COUNT = 8;
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.impl.RepairImpl <em>Repair</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.impl.RepairImpl
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.impl.MaintenanceMonitoringPackageImpl#getRepair()
+	 * @generated
+	 */
+	int REPAIR = 1;
+
+	/**
+	 * The feature id for the '<em><b>Base Activity</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REPAIR__BASE_ACTIVITY = MM_ACTIVITIES__BASE_ACTIVITY;
+
+	/**
+	 * The feature id for the '<em><b>When</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REPAIR__WHEN = MM_ACTIVITIES__WHEN;
+
+	/**
+	 * The feature id for the '<em><b>Duration</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REPAIR__DURATION = MM_ACTIVITIES__DURATION;
+
+	/**
+	 * The feature id for the '<em><b>Prob Success</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REPAIR__PROB_SUCCESS = MM_ACTIVITIES__PROB_SUCCESS;
+
+	/**
+	 * The feature id for the '<em><b>On Completion</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REPAIR__ON_COMPLETION = MM_ACTIVITIES__ON_COMPLETION;
+
+	/**
+	 * The feature id for the '<em><b>On Successful Completion</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REPAIR__ON_SUCCESSFUL_COMPLETION = MM_ACTIVITIES__ON_SUCCESSFUL_COMPLETION;
+
+	/**
+	 * The feature id for the '<em><b>On Failed Completion</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REPAIR__ON_FAILED_COMPLETION = MM_ACTIVITIES__ON_FAILED_COMPLETION;
+
+	/**
+	 * The feature id for the '<em><b>Base Action</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REPAIR__BASE_ACTION = MM_ACTIVITIES__BASE_ACTION;
+
+	/**
+	 * The feature id for the '<em><b>Targets</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REPAIR__TARGETS = MM_ACTIVITIES_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of structural features of the '<em>Repair</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REPAIR_FEATURE_COUNT = MM_ACTIVITIES_FEATURE_COUNT + 1;
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.impl.ReplaceImpl <em>Replace</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.impl.ReplaceImpl
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.impl.MaintenanceMonitoringPackageImpl#getReplace()
+	 * @generated
+	 */
+	int REPLACE = 2;
+
+	/**
+	 * The feature id for the '<em><b>Base Activity</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REPLACE__BASE_ACTIVITY = MM_ACTIVITIES__BASE_ACTIVITY;
+
+	/**
+	 * The feature id for the '<em><b>When</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REPLACE__WHEN = MM_ACTIVITIES__WHEN;
+
+	/**
+	 * The feature id for the '<em><b>Duration</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REPLACE__DURATION = MM_ACTIVITIES__DURATION;
+
+	/**
+	 * The feature id for the '<em><b>Prob Success</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REPLACE__PROB_SUCCESS = MM_ACTIVITIES__PROB_SUCCESS;
+
+	/**
+	 * The feature id for the '<em><b>On Completion</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REPLACE__ON_COMPLETION = MM_ACTIVITIES__ON_COMPLETION;
+
+	/**
+	 * The feature id for the '<em><b>On Successful Completion</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REPLACE__ON_SUCCESSFUL_COMPLETION = MM_ACTIVITIES__ON_SUCCESSFUL_COMPLETION;
+
+	/**
+	 * The feature id for the '<em><b>On Failed Completion</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REPLACE__ON_FAILED_COMPLETION = MM_ACTIVITIES__ON_FAILED_COMPLETION;
+
+	/**
+	 * The feature id for the '<em><b>Base Action</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REPLACE__BASE_ACTION = MM_ACTIVITIES__BASE_ACTION;
+
+	/**
+	 * The feature id for the '<em><b>Targets</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REPLACE__TARGETS = MM_ACTIVITIES_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Replacement</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REPLACE__REPLACEMENT = MM_ACTIVITIES_FEATURE_COUNT + 1;
+
+	/**
+	 * The number of structural features of the '<em>Replace</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REPLACE_FEATURE_COUNT = MM_ACTIVITIES_FEATURE_COUNT + 2;
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.impl.ErrorDetectionImpl <em>Error Detection</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.impl.ErrorDetectionImpl
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.impl.MaintenanceMonitoringPackageImpl#getErrorDetection()
+	 * @generated
+	 */
+	int ERROR_DETECTION = 3;
+
+	/**
+	 * The feature id for the '<em><b>Base Activity</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ERROR_DETECTION__BASE_ACTIVITY = MM_ACTIVITIES__BASE_ACTIVITY;
+
+	/**
+	 * The feature id for the '<em><b>When</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ERROR_DETECTION__WHEN = MM_ACTIVITIES__WHEN;
+
+	/**
+	 * The feature id for the '<em><b>Duration</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ERROR_DETECTION__DURATION = MM_ACTIVITIES__DURATION;
+
+	/**
+	 * The feature id for the '<em><b>Prob Success</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ERROR_DETECTION__PROB_SUCCESS = MM_ACTIVITIES__PROB_SUCCESS;
+
+	/**
+	 * The feature id for the '<em><b>On Completion</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ERROR_DETECTION__ON_COMPLETION = MM_ACTIVITIES__ON_COMPLETION;
+
+	/**
+	 * The feature id for the '<em><b>On Successful Completion</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ERROR_DETECTION__ON_SUCCESSFUL_COMPLETION = MM_ACTIVITIES__ON_SUCCESSFUL_COMPLETION;
+
+	/**
+	 * The feature id for the '<em><b>On Failed Completion</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ERROR_DETECTION__ON_FAILED_COMPLETION = MM_ACTIVITIES__ON_FAILED_COMPLETION;
+
+	/**
+	 * The feature id for the '<em><b>Base Action</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ERROR_DETECTION__BASE_ACTION = MM_ACTIVITIES__BASE_ACTION;
+
+	/**
+	 * The feature id for the '<em><b>Targets</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ERROR_DETECTION__TARGETS = MM_ACTIVITIES_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Correction Probability</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ERROR_DETECTION__CORRECTION_PROBABILITY = MM_ACTIVITIES_FEATURE_COUNT + 1;
+
+	/**
+	 * The feature id for the '<em><b>Controlled Failure</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ERROR_DETECTION__CONTROLLED_FAILURE = MM_ACTIVITIES_FEATURE_COUNT + 2;
+
+	/**
+	 * The number of structural features of the '<em>Error Detection</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ERROR_DETECTION_FEATURE_COUNT = MM_ACTIVITIES_FEATURE_COUNT + 3;
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.impl.FailureDetectionImpl <em>Failure Detection</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.impl.FailureDetectionImpl
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.impl.MaintenanceMonitoringPackageImpl#getFailureDetection()
+	 * @generated
+	 */
+	int FAILURE_DETECTION = 4;
+
+	/**
+	 * The feature id for the '<em><b>Base Activity</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FAILURE_DETECTION__BASE_ACTIVITY = MM_ACTIVITIES__BASE_ACTIVITY;
+
+	/**
+	 * The feature id for the '<em><b>When</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FAILURE_DETECTION__WHEN = MM_ACTIVITIES__WHEN;
+
+	/**
+	 * The feature id for the '<em><b>Duration</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FAILURE_DETECTION__DURATION = MM_ACTIVITIES__DURATION;
+
+	/**
+	 * The feature id for the '<em><b>Prob Success</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FAILURE_DETECTION__PROB_SUCCESS = MM_ACTIVITIES__PROB_SUCCESS;
+
+	/**
+	 * The feature id for the '<em><b>On Completion</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FAILURE_DETECTION__ON_COMPLETION = MM_ACTIVITIES__ON_COMPLETION;
+
+	/**
+	 * The feature id for the '<em><b>On Successful Completion</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FAILURE_DETECTION__ON_SUCCESSFUL_COMPLETION = MM_ACTIVITIES__ON_SUCCESSFUL_COMPLETION;
+
+	/**
+	 * The feature id for the '<em><b>On Failed Completion</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FAILURE_DETECTION__ON_FAILED_COMPLETION = MM_ACTIVITIES__ON_FAILED_COMPLETION;
+
+	/**
+	 * The feature id for the '<em><b>Base Action</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FAILURE_DETECTION__BASE_ACTION = MM_ACTIVITIES__BASE_ACTION;
+
+	/**
+	 * The feature id for the '<em><b>On Detection</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FAILURE_DETECTION__ON_DETECTION = MM_ACTIVITIES_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of structural features of the '<em>Failure Detection</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FAILURE_DETECTION_FEATURE_COUNT = MM_ACTIVITIES_FEATURE_COUNT + 1;
+
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.MMActivities <em>MM Activities</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>MM Activities</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.MMActivities
+	 * @generated
+	 */
+	EClass getMMActivities();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.MMActivities#getBase_Activity <em>Base Activity</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Base Activity</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.MMActivities#getBase_Activity()
+	 * @see #getMMActivities()
+	 * @generated
+	 */
+	EReference getMMActivities_Base_Activity();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.MMActivities#getWhen <em>When</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>When</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.MMActivities#getWhen()
+	 * @see #getMMActivities()
+	 * @generated
+	 */
+	EAttribute getMMActivities_When();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.MMActivities#getDuration <em>Duration</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Duration</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.MMActivities#getDuration()
+	 * @see #getMMActivities()
+	 * @generated
+	 */
+	EAttribute getMMActivities_Duration();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.MMActivities#getProbSuccess <em>Prob Success</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Prob Success</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.MMActivities#getProbSuccess()
+	 * @see #getMMActivities()
+	 * @generated
+	 */
+	EAttribute getMMActivities_ProbSuccess();
+
+	/**
+	 * Returns the meta object for the reference list '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.MMActivities#getOnCompletion <em>On Completion</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference list '<em>On Completion</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.MMActivities#getOnCompletion()
+	 * @see #getMMActivities()
+	 * @generated
+	 */
+	EReference getMMActivities_OnCompletion();
+
+	/**
+	 * Returns the meta object for the reference list '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.MMActivities#getOnSuccessfulCompletion <em>On Successful Completion</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference list '<em>On Successful Completion</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.MMActivities#getOnSuccessfulCompletion()
+	 * @see #getMMActivities()
+	 * @generated
+	 */
+	EReference getMMActivities_OnSuccessfulCompletion();
+
+	/**
+	 * Returns the meta object for the reference list '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.MMActivities#getOnFailedCompletion <em>On Failed Completion</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference list '<em>On Failed Completion</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.MMActivities#getOnFailedCompletion()
+	 * @see #getMMActivities()
+	 * @generated
+	 */
+	EReference getMMActivities_OnFailedCompletion();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.MMActivities#getBase_Action <em>Base Action</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Base Action</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.MMActivities#getBase_Action()
+	 * @see #getMMActivities()
+	 * @generated
+	 */
+	EReference getMMActivities_Base_Action();
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.Repair <em>Repair</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Repair</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.Repair
+	 * @generated
+	 */
+	EClass getRepair();
+
+	/**
+	 * Returns the meta object for the reference list '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.Repair#getTargets <em>Targets</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference list '<em>Targets</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.Repair#getTargets()
+	 * @see #getRepair()
+	 * @generated
+	 */
+	EReference getRepair_Targets();
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.Replace <em>Replace</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Replace</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.Replace
+	 * @generated
+	 */
+	EClass getReplace();
+
+	/**
+	 * Returns the meta object for the reference list '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.Replace#getTargets <em>Targets</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference list '<em>Targets</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.Replace#getTargets()
+	 * @see #getReplace()
+	 * @generated
+	 */
+	EReference getReplace_Targets();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.Replace#getReplacement <em>Replacement</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Replacement</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.Replace#getReplacement()
+	 * @see #getReplace()
+	 * @generated
+	 */
+	EReference getReplace_Replacement();
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.ErrorDetection <em>Error Detection</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Error Detection</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.ErrorDetection
+	 * @generated
+	 */
+	EClass getErrorDetection();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.ErrorDetection#getTargets <em>Targets</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Targets</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.ErrorDetection#getTargets()
+	 * @see #getErrorDetection()
+	 * @generated
+	 */
+	EReference getErrorDetection_Targets();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.ErrorDetection#getCorrectionProbability <em>Correction Probability</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Correction Probability</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.ErrorDetection#getCorrectionProbability()
+	 * @see #getErrorDetection()
+	 * @generated
+	 */
+	EAttribute getErrorDetection_CorrectionProbability();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.ErrorDetection#getControlledFailure <em>Controlled Failure</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Controlled Failure</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.ErrorDetection#getControlledFailure()
+	 * @see #getErrorDetection()
+	 * @generated
+	 */
+	EReference getErrorDetection_ControlledFailure();
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.FailureDetection <em>Failure Detection</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Failure Detection</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.FailureDetection
+	 * @generated
+	 */
+	EClass getFailureDetection();
+
+	/**
+	 * Returns the meta object for the reference list '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.FailureDetection#getOnDetection <em>On Detection</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference list '<em>On Detection</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.FailureDetection#getOnDetection()
+	 * @see #getFailureDetection()
+	 * @generated
+	 */
+	EReference getFailureDetection_OnDetection();
+
+	/**
+	 * Returns the factory that creates the instances of the model.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the factory that creates the instances of the model.
+	 * @generated
+	 */
+	MaintenanceMonitoringFactory getMaintenanceMonitoringFactory();
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * Defines literals for the meta objects that represent
+	 * <ul>
+	 *   <li>each class,</li>
+	 *   <li>each feature of each class,</li>
+	 *   <li>each enum,</li>
+	 *   <li>and each data type</li>
+	 * </ul>
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	interface Literals {
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.impl.MMActivitiesImpl <em>MM Activities</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.impl.MMActivitiesImpl
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.impl.MaintenanceMonitoringPackageImpl#getMMActivities()
+		 * @generated
+		 */
+		EClass MM_ACTIVITIES = eINSTANCE.getMMActivities();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Activity</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference MM_ACTIVITIES__BASE_ACTIVITY = eINSTANCE.getMMActivities_Base_Activity();
+
+		/**
+		 * The meta object literal for the '<em><b>When</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute MM_ACTIVITIES__WHEN = eINSTANCE.getMMActivities_When();
+
+		/**
+		 * The meta object literal for the '<em><b>Duration</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute MM_ACTIVITIES__DURATION = eINSTANCE.getMMActivities_Duration();
+
+		/**
+		 * The meta object literal for the '<em><b>Prob Success</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute MM_ACTIVITIES__PROB_SUCCESS = eINSTANCE.getMMActivities_ProbSuccess();
+
+		/**
+		 * The meta object literal for the '<em><b>On Completion</b></em>' reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference MM_ACTIVITIES__ON_COMPLETION = eINSTANCE.getMMActivities_OnCompletion();
+
+		/**
+		 * The meta object literal for the '<em><b>On Successful Completion</b></em>' reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference MM_ACTIVITIES__ON_SUCCESSFUL_COMPLETION = eINSTANCE.getMMActivities_OnSuccessfulCompletion();
+
+		/**
+		 * The meta object literal for the '<em><b>On Failed Completion</b></em>' reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference MM_ACTIVITIES__ON_FAILED_COMPLETION = eINSTANCE.getMMActivities_OnFailedCompletion();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Action</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference MM_ACTIVITIES__BASE_ACTION = eINSTANCE.getMMActivities_Base_Action();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.impl.RepairImpl <em>Repair</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.impl.RepairImpl
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.impl.MaintenanceMonitoringPackageImpl#getRepair()
+		 * @generated
+		 */
+		EClass REPAIR = eINSTANCE.getRepair();
+
+		/**
+		 * The meta object literal for the '<em><b>Targets</b></em>' reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference REPAIR__TARGETS = eINSTANCE.getRepair_Targets();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.impl.ReplaceImpl <em>Replace</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.impl.ReplaceImpl
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.impl.MaintenanceMonitoringPackageImpl#getReplace()
+		 * @generated
+		 */
+		EClass REPLACE = eINSTANCE.getReplace();
+
+		/**
+		 * The meta object literal for the '<em><b>Targets</b></em>' reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference REPLACE__TARGETS = eINSTANCE.getReplace_Targets();
+
+		/**
+		 * The meta object literal for the '<em><b>Replacement</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference REPLACE__REPLACEMENT = eINSTANCE.getReplace_Replacement();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.impl.ErrorDetectionImpl <em>Error Detection</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.impl.ErrorDetectionImpl
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.impl.MaintenanceMonitoringPackageImpl#getErrorDetection()
+		 * @generated
+		 */
+		EClass ERROR_DETECTION = eINSTANCE.getErrorDetection();
+
+		/**
+		 * The meta object literal for the '<em><b>Targets</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ERROR_DETECTION__TARGETS = eINSTANCE.getErrorDetection_Targets();
+
+		/**
+		 * The meta object literal for the '<em><b>Correction Probability</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute ERROR_DETECTION__CORRECTION_PROBABILITY = eINSTANCE.getErrorDetection_CorrectionProbability();
+
+		/**
+		 * The meta object literal for the '<em><b>Controlled Failure</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ERROR_DETECTION__CONTROLLED_FAILURE = eINSTANCE.getErrorDetection_ControlledFailure();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.impl.FailureDetectionImpl <em>Failure Detection</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.impl.FailureDetectionImpl
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.impl.MaintenanceMonitoringPackageImpl#getFailureDetection()
+		 * @generated
+		 */
+		EClass FAILURE_DETECTION = eINSTANCE.getFailureDetection();
+
+		/**
+		 * The meta object literal for the '<em><b>On Detection</b></em>' reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference FAILURE_DETECTION__ON_DETECTION = eINSTANCE.getFailureDetection_OnDetection();
+
+	}
+
+} //MaintenanceMonitoringPackage
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/MaintenanceMonitoring/Repair.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/MaintenanceMonitoring/Repair.java
new file mode 100644
index 000000000..64405050e
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/MaintenanceMonitoring/Repair.java
@@ -0,0 +1,80 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Type;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Repair</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.Repair#getTargets <em>Targets</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.MaintenanceMonitoringPackage#getRepair()
+ * @model
+ * @generated
+ */
+public interface Repair extends MMActivities {
+	/**
+	 * Returns the value of the '<em><b>Targets</b></em>' reference list.
+	 * The list contents are of type {@link org.eclipse.uml2.uml.Property}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Targets</em>' reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Targets</em>' reference list.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.MaintenanceMonitoringPackage#getRepair_Targets()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	EList<Property> getTargets();
+
+	/**
+	 * Retrieves the first {@link org.eclipse.uml2.uml.Property} with the specified '<em><b>Name</b></em>', and '<em><b>Type</b></em>' from the '<em><b>Targets</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param name The '<em><b>Name</b></em>' of the {@link org.eclipse.uml2.uml.Property} to retrieve, or <code>null</code>.
+	 * @param type The '<em><b>Type</b></em>' of the {@link org.eclipse.uml2.uml.Property} to retrieve, or <code>null</code>.
+	 * @return The first {@link org.eclipse.uml2.uml.Property} with the specified '<em><b>Name</b></em>', and '<em><b>Type</b></em>', or <code>null</code>.
+	 * @see #getTargets()
+	 * @generated
+	 */
+	Property getTargets(String name, Type type);
+
+	/**
+	 * Retrieves the first {@link org.eclipse.uml2.uml.Property} with the specified '<em><b>Name</b></em>', and '<em><b>Type</b></em>' from the '<em><b>Targets</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param name The '<em><b>Name</b></em>' of the {@link org.eclipse.uml2.uml.Property} to retrieve, or <code>null</code>.
+	 * @param type The '<em><b>Type</b></em>' of the {@link org.eclipse.uml2.uml.Property} to retrieve, or <code>null</code>.
+	 * @param ignoreCase Whether to ignore case in {@link java.lang.String} comparisons.
+	 * @param eClass The Ecore class of the {@link org.eclipse.uml2.uml.Property} to retrieve, or <code>null</code>.
+	 * @return The first {@link org.eclipse.uml2.uml.Property} with the specified '<em><b>Name</b></em>', and '<em><b>Type</b></em>', or <code>null</code>.
+	 * @see #getTargets()
+	 * @generated
+	 */
+	Property getTargets(String name, Type type, boolean ignoreCase, EClass eClass);
+
+} // Repair
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/MaintenanceMonitoring/Replace.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/MaintenanceMonitoring/Replace.java
new file mode 100644
index 000000000..23a99403d
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/MaintenanceMonitoring/Replace.java
@@ -0,0 +1,108 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Type;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Replace</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.Replace#getTargets <em>Targets</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.Replace#getReplacement <em>Replacement</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.MaintenanceMonitoringPackage#getReplace()
+ * @model
+ * @generated
+ */
+public interface Replace extends MMActivities {
+	/**
+	 * Returns the value of the '<em><b>Targets</b></em>' reference list.
+	 * The list contents are of type {@link org.eclipse.uml2.uml.Property}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Targets</em>' reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Targets</em>' reference list.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.MaintenanceMonitoringPackage#getReplace_Targets()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	EList<Property> getTargets();
+
+	/**
+	 * Retrieves the first {@link org.eclipse.uml2.uml.Property} with the specified '<em><b>Name</b></em>', and '<em><b>Type</b></em>' from the '<em><b>Targets</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param name The '<em><b>Name</b></em>' of the {@link org.eclipse.uml2.uml.Property} to retrieve, or <code>null</code>.
+	 * @param type The '<em><b>Type</b></em>' of the {@link org.eclipse.uml2.uml.Property} to retrieve, or <code>null</code>.
+	 * @return The first {@link org.eclipse.uml2.uml.Property} with the specified '<em><b>Name</b></em>', and '<em><b>Type</b></em>', or <code>null</code>.
+	 * @see #getTargets()
+	 * @generated
+	 */
+	Property getTargets(String name, Type type);
+
+	/**
+	 * Retrieves the first {@link org.eclipse.uml2.uml.Property} with the specified '<em><b>Name</b></em>', and '<em><b>Type</b></em>' from the '<em><b>Targets</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param name The '<em><b>Name</b></em>' of the {@link org.eclipse.uml2.uml.Property} to retrieve, or <code>null</code>.
+	 * @param type The '<em><b>Type</b></em>' of the {@link org.eclipse.uml2.uml.Property} to retrieve, or <code>null</code>.
+	 * @param ignoreCase Whether to ignore case in {@link java.lang.String} comparisons.
+	 * @param eClass The Ecore class of the {@link org.eclipse.uml2.uml.Property} to retrieve, or <code>null</code>.
+	 * @return The first {@link org.eclipse.uml2.uml.Property} with the specified '<em><b>Name</b></em>', and '<em><b>Type</b></em>', or <code>null</code>.
+	 * @see #getTargets()
+	 * @generated
+	 */
+	Property getTargets(String name, Type type, boolean ignoreCase, EClass eClass);
+
+	/**
+	 * Returns the value of the '<em><b>Replacement</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Replacement</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Replacement</em>' reference.
+	 * @see #setReplacement(Activity)
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.MaintenanceMonitoringPackage#getReplace_Replacement()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	Activity getReplacement();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.Replace#getReplacement <em>Replacement</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Replacement</em>' reference.
+	 * @see #getReplacement()
+	 * @generated
+	 */
+	void setReplacement(Activity value);
+
+} // Replace
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/MaintenanceMonitoring/impl/ErrorDetectionImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/MaintenanceMonitoring/impl/ErrorDetectionImpl.java
new file mode 100644
index 000000000..99d790595
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/MaintenanceMonitoring/impl/ErrorDetectionImpl.java
@@ -0,0 +1,291 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.uml2.uml.Property;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.ErrorDetection;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.MaintenanceMonitoringPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.FailureMode;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Error Detection</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.impl.ErrorDetectionImpl#getTargets <em>Targets</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.impl.ErrorDetectionImpl#getCorrectionProbability <em>Correction Probability</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.impl.ErrorDetectionImpl#getControlledFailure <em>Controlled Failure</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ErrorDetectionImpl extends MMActivitiesImpl implements ErrorDetection {
+	/**
+	 * The cached value of the '{@link #getTargets() <em>Targets</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getTargets()
+	 * @generated
+	 * @ordered
+	 */
+	protected Property targets;
+
+	/**
+	 * The default value of the '{@link #getCorrectionProbability() <em>Correction Probability</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getCorrectionProbability()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String CORRECTION_PROBABILITY_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getCorrectionProbability() <em>Correction Probability</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getCorrectionProbability()
+	 * @generated
+	 * @ordered
+	 */
+	protected String correctionProbability = CORRECTION_PROBABILITY_EDEFAULT;
+
+	/**
+	 * The cached value of the '{@link #getControlledFailure() <em>Controlled Failure</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getControlledFailure()
+	 * @generated
+	 * @ordered
+	 */
+	protected FailureMode controlledFailure;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ErrorDetectionImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return MaintenanceMonitoringPackage.Literals.ERROR_DETECTION;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Property getTargets() {
+		if (targets != null && targets.eIsProxy()) {
+			InternalEObject oldTargets = (InternalEObject)targets;
+			targets = (Property)eResolveProxy(oldTargets);
+			if (targets != oldTargets) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, MaintenanceMonitoringPackage.ERROR_DETECTION__TARGETS, oldTargets, targets));
+			}
+		}
+		return targets;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Property basicGetTargets() {
+		return targets;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setTargets(Property newTargets) {
+		Property oldTargets = targets;
+		targets = newTargets;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, MaintenanceMonitoringPackage.ERROR_DETECTION__TARGETS, oldTargets, targets));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getCorrectionProbability() {
+		return correctionProbability;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setCorrectionProbability(String newCorrectionProbability) {
+		String oldCorrectionProbability = correctionProbability;
+		correctionProbability = newCorrectionProbability;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, MaintenanceMonitoringPackage.ERROR_DETECTION__CORRECTION_PROBABILITY, oldCorrectionProbability, correctionProbability));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public FailureMode getControlledFailure() {
+		if (controlledFailure != null && controlledFailure.eIsProxy()) {
+			InternalEObject oldControlledFailure = (InternalEObject)controlledFailure;
+			controlledFailure = (FailureMode)eResolveProxy(oldControlledFailure);
+			if (controlledFailure != oldControlledFailure) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, MaintenanceMonitoringPackage.ERROR_DETECTION__CONTROLLED_FAILURE, oldControlledFailure, controlledFailure));
+			}
+		}
+		return controlledFailure;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public FailureMode basicGetControlledFailure() {
+		return controlledFailure;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setControlledFailure(FailureMode newControlledFailure) {
+		FailureMode oldControlledFailure = controlledFailure;
+		controlledFailure = newControlledFailure;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, MaintenanceMonitoringPackage.ERROR_DETECTION__CONTROLLED_FAILURE, oldControlledFailure, controlledFailure));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case MaintenanceMonitoringPackage.ERROR_DETECTION__TARGETS:
+				if (resolve) return getTargets();
+				return basicGetTargets();
+			case MaintenanceMonitoringPackage.ERROR_DETECTION__CORRECTION_PROBABILITY:
+				return getCorrectionProbability();
+			case MaintenanceMonitoringPackage.ERROR_DETECTION__CONTROLLED_FAILURE:
+				if (resolve) return getControlledFailure();
+				return basicGetControlledFailure();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case MaintenanceMonitoringPackage.ERROR_DETECTION__TARGETS:
+				setTargets((Property)newValue);
+				return;
+			case MaintenanceMonitoringPackage.ERROR_DETECTION__CORRECTION_PROBABILITY:
+				setCorrectionProbability((String)newValue);
+				return;
+			case MaintenanceMonitoringPackage.ERROR_DETECTION__CONTROLLED_FAILURE:
+				setControlledFailure((FailureMode)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case MaintenanceMonitoringPackage.ERROR_DETECTION__TARGETS:
+				setTargets((Property)null);
+				return;
+			case MaintenanceMonitoringPackage.ERROR_DETECTION__CORRECTION_PROBABILITY:
+				setCorrectionProbability(CORRECTION_PROBABILITY_EDEFAULT);
+				return;
+			case MaintenanceMonitoringPackage.ERROR_DETECTION__CONTROLLED_FAILURE:
+				setControlledFailure((FailureMode)null);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case MaintenanceMonitoringPackage.ERROR_DETECTION__TARGETS:
+				return targets != null;
+			case MaintenanceMonitoringPackage.ERROR_DETECTION__CORRECTION_PROBABILITY:
+				return CORRECTION_PROBABILITY_EDEFAULT == null ? correctionProbability != null : !CORRECTION_PROBABILITY_EDEFAULT.equals(correctionProbability);
+			case MaintenanceMonitoringPackage.ERROR_DETECTION__CONTROLLED_FAILURE:
+				return controlledFailure != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (correctionProbability: ");
+		result.append(correctionProbability);
+		result.append(')');
+		return result.toString();
+	}
+
+} //ErrorDetectionImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/MaintenanceMonitoring/impl/FailureDetectionImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/MaintenanceMonitoring/impl/FailureDetectionImpl.java
new file mode 100644
index 000000000..c8875f868
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/MaintenanceMonitoring/impl/FailureDetectionImpl.java
@@ -0,0 +1,161 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.uml2.uml.Activity;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.FailureDetection;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.MaintenanceMonitoringPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Failure Detection</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.impl.FailureDetectionImpl#getOnDetection <em>On Detection</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class FailureDetectionImpl extends MMActivitiesImpl implements FailureDetection {
+	/**
+	 * The cached value of the '{@link #getOnDetection() <em>On Detection</em>}' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getOnDetection()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<Activity> onDetection;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected FailureDetectionImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return MaintenanceMonitoringPackage.Literals.FAILURE_DETECTION;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<Activity> getOnDetection() {
+		if (onDetection == null) {
+			onDetection = new EObjectResolvingEList<Activity>(Activity.class, this, MaintenanceMonitoringPackage.FAILURE_DETECTION__ON_DETECTION);
+		}
+		return onDetection;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Activity getOnDetection(String name) {
+		return getOnDetection(name, false);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Activity getOnDetection(String name, boolean ignoreCase) {
+		onDetectionLoop: for (Activity onDetection : getOnDetection()) {
+			if (name != null && !(ignoreCase ? name.equalsIgnoreCase(onDetection.getName()) : name.equals(onDetection.getName())))
+				continue onDetectionLoop;
+			return onDetection;
+		}
+		return null;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case MaintenanceMonitoringPackage.FAILURE_DETECTION__ON_DETECTION:
+				return getOnDetection();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case MaintenanceMonitoringPackage.FAILURE_DETECTION__ON_DETECTION:
+				getOnDetection().clear();
+				getOnDetection().addAll((Collection<? extends Activity>)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case MaintenanceMonitoringPackage.FAILURE_DETECTION__ON_DETECTION:
+				getOnDetection().clear();
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case MaintenanceMonitoringPackage.FAILURE_DETECTION__ON_DETECTION:
+				return onDetection != null && !onDetection.isEmpty();
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //FailureDetectionImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/MaintenanceMonitoring/impl/MMActivitiesImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/MaintenanceMonitoring/impl/MMActivitiesImpl.java
new file mode 100644
index 000000000..1880f7789
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/MaintenanceMonitoring/impl/MMActivitiesImpl.java
@@ -0,0 +1,576 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.uml2.uml.Action;
+import org.eclipse.uml2.uml.Activity;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.MMActivities;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.MaintenanceMonitoringPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>MM Activities</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.impl.MMActivitiesImpl#getBase_Activity <em>Base Activity</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.impl.MMActivitiesImpl#getWhen <em>When</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.impl.MMActivitiesImpl#getDuration <em>Duration</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.impl.MMActivitiesImpl#getProbSuccess <em>Prob Success</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.impl.MMActivitiesImpl#getOnCompletion <em>On Completion</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.impl.MMActivitiesImpl#getOnSuccessfulCompletion <em>On Successful Completion</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.impl.MMActivitiesImpl#getOnFailedCompletion <em>On Failed Completion</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.impl.MMActivitiesImpl#getBase_Action <em>Base Action</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class MMActivitiesImpl extends EObjectImpl implements MMActivities {
+	/**
+	 * The cached value of the '{@link #getBase_Activity() <em>Base Activity</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBase_Activity()
+	 * @generated
+	 * @ordered
+	 */
+	protected Activity base_Activity;
+
+	/**
+	 * The default value of the '{@link #getWhen() <em>When</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getWhen()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String WHEN_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getWhen() <em>When</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getWhen()
+	 * @generated
+	 * @ordered
+	 */
+	protected String when = WHEN_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getDuration() <em>Duration</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDuration()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String DURATION_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getDuration() <em>Duration</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDuration()
+	 * @generated
+	 * @ordered
+	 */
+	protected String duration = DURATION_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getProbSuccess() <em>Prob Success</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getProbSuccess()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String PROB_SUCCESS_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getProbSuccess() <em>Prob Success</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getProbSuccess()
+	 * @generated
+	 * @ordered
+	 */
+	protected String probSuccess = PROB_SUCCESS_EDEFAULT;
+
+	/**
+	 * The cached value of the '{@link #getOnCompletion() <em>On Completion</em>}' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getOnCompletion()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<Activity> onCompletion;
+
+	/**
+	 * The cached value of the '{@link #getOnSuccessfulCompletion() <em>On Successful Completion</em>}' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getOnSuccessfulCompletion()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<Activity> onSuccessfulCompletion;
+
+	/**
+	 * The cached value of the '{@link #getOnFailedCompletion() <em>On Failed Completion</em>}' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getOnFailedCompletion()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<Activity> onFailedCompletion;
+
+	/**
+	 * The cached value of the '{@link #getBase_Action() <em>Base Action</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBase_Action()
+	 * @generated
+	 * @ordered
+	 */
+	protected Action base_Action;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected MMActivitiesImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return MaintenanceMonitoringPackage.Literals.MM_ACTIVITIES;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Activity getBase_Activity() {
+		if (base_Activity != null && base_Activity.eIsProxy()) {
+			InternalEObject oldBase_Activity = (InternalEObject)base_Activity;
+			base_Activity = (Activity)eResolveProxy(oldBase_Activity);
+			if (base_Activity != oldBase_Activity) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, MaintenanceMonitoringPackage.MM_ACTIVITIES__BASE_ACTIVITY, oldBase_Activity, base_Activity));
+			}
+		}
+		return base_Activity;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Activity basicGetBase_Activity() {
+		return base_Activity;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setBase_Activity(Activity newBase_Activity) {
+		Activity oldBase_Activity = base_Activity;
+		base_Activity = newBase_Activity;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, MaintenanceMonitoringPackage.MM_ACTIVITIES__BASE_ACTIVITY, oldBase_Activity, base_Activity));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getWhen() {
+		return when;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setWhen(String newWhen) {
+		String oldWhen = when;
+		when = newWhen;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, MaintenanceMonitoringPackage.MM_ACTIVITIES__WHEN, oldWhen, when));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getDuration() {
+		return duration;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setDuration(String newDuration) {
+		String oldDuration = duration;
+		duration = newDuration;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, MaintenanceMonitoringPackage.MM_ACTIVITIES__DURATION, oldDuration, duration));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getProbSuccess() {
+		return probSuccess;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setProbSuccess(String newProbSuccess) {
+		String oldProbSuccess = probSuccess;
+		probSuccess = newProbSuccess;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, MaintenanceMonitoringPackage.MM_ACTIVITIES__PROB_SUCCESS, oldProbSuccess, probSuccess));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<Activity> getOnCompletion() {
+		if (onCompletion == null) {
+			onCompletion = new EObjectResolvingEList<Activity>(Activity.class, this, MaintenanceMonitoringPackage.MM_ACTIVITIES__ON_COMPLETION);
+		}
+		return onCompletion;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Activity getOnCompletion(String name) {
+		return getOnCompletion(name, false);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Activity getOnCompletion(String name, boolean ignoreCase) {
+		onCompletionLoop: for (Activity onCompletion : getOnCompletion()) {
+			if (name != null && !(ignoreCase ? name.equalsIgnoreCase(onCompletion.getName()) : name.equals(onCompletion.getName())))
+				continue onCompletionLoop;
+			return onCompletion;
+		}
+		return null;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<Activity> getOnSuccessfulCompletion() {
+		if (onSuccessfulCompletion == null) {
+			onSuccessfulCompletion = new EObjectResolvingEList<Activity>(Activity.class, this, MaintenanceMonitoringPackage.MM_ACTIVITIES__ON_SUCCESSFUL_COMPLETION);
+		}
+		return onSuccessfulCompletion;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Activity getOnSuccessfulCompletion(String name) {
+		return getOnSuccessfulCompletion(name, false);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Activity getOnSuccessfulCompletion(String name, boolean ignoreCase) {
+		onSuccessfulCompletionLoop: for (Activity onSuccessfulCompletion : getOnSuccessfulCompletion()) {
+			if (name != null && !(ignoreCase ? name.equalsIgnoreCase(onSuccessfulCompletion.getName()) : name.equals(onSuccessfulCompletion.getName())))
+				continue onSuccessfulCompletionLoop;
+			return onSuccessfulCompletion;
+		}
+		return null;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<Activity> getOnFailedCompletion() {
+		if (onFailedCompletion == null) {
+			onFailedCompletion = new EObjectResolvingEList<Activity>(Activity.class, this, MaintenanceMonitoringPackage.MM_ACTIVITIES__ON_FAILED_COMPLETION);
+		}
+		return onFailedCompletion;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Activity getOnFailedCompletion(String name) {
+		return getOnFailedCompletion(name, false);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Activity getOnFailedCompletion(String name, boolean ignoreCase) {
+		onFailedCompletionLoop: for (Activity onFailedCompletion : getOnFailedCompletion()) {
+			if (name != null && !(ignoreCase ? name.equalsIgnoreCase(onFailedCompletion.getName()) : name.equals(onFailedCompletion.getName())))
+				continue onFailedCompletionLoop;
+			return onFailedCompletion;
+		}
+		return null;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Action getBase_Action() {
+		if (base_Action != null && base_Action.eIsProxy()) {
+			InternalEObject oldBase_Action = (InternalEObject)base_Action;
+			base_Action = (Action)eResolveProxy(oldBase_Action);
+			if (base_Action != oldBase_Action) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, MaintenanceMonitoringPackage.MM_ACTIVITIES__BASE_ACTION, oldBase_Action, base_Action));
+			}
+		}
+		return base_Action;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Action basicGetBase_Action() {
+		return base_Action;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setBase_Action(Action newBase_Action) {
+		Action oldBase_Action = base_Action;
+		base_Action = newBase_Action;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, MaintenanceMonitoringPackage.MM_ACTIVITIES__BASE_ACTION, oldBase_Action, base_Action));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case MaintenanceMonitoringPackage.MM_ACTIVITIES__BASE_ACTIVITY:
+				if (resolve) return getBase_Activity();
+				return basicGetBase_Activity();
+			case MaintenanceMonitoringPackage.MM_ACTIVITIES__WHEN:
+				return getWhen();
+			case MaintenanceMonitoringPackage.MM_ACTIVITIES__DURATION:
+				return getDuration();
+			case MaintenanceMonitoringPackage.MM_ACTIVITIES__PROB_SUCCESS:
+				return getProbSuccess();
+			case MaintenanceMonitoringPackage.MM_ACTIVITIES__ON_COMPLETION:
+				return getOnCompletion();
+			case MaintenanceMonitoringPackage.MM_ACTIVITIES__ON_SUCCESSFUL_COMPLETION:
+				return getOnSuccessfulCompletion();
+			case MaintenanceMonitoringPackage.MM_ACTIVITIES__ON_FAILED_COMPLETION:
+				return getOnFailedCompletion();
+			case MaintenanceMonitoringPackage.MM_ACTIVITIES__BASE_ACTION:
+				if (resolve) return getBase_Action();
+				return basicGetBase_Action();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case MaintenanceMonitoringPackage.MM_ACTIVITIES__BASE_ACTIVITY:
+				setBase_Activity((Activity)newValue);
+				return;
+			case MaintenanceMonitoringPackage.MM_ACTIVITIES__WHEN:
+				setWhen((String)newValue);
+				return;
+			case MaintenanceMonitoringPackage.MM_ACTIVITIES__DURATION:
+				setDuration((String)newValue);
+				return;
+			case MaintenanceMonitoringPackage.MM_ACTIVITIES__PROB_SUCCESS:
+				setProbSuccess((String)newValue);
+				return;
+			case MaintenanceMonitoringPackage.MM_ACTIVITIES__ON_COMPLETION:
+				getOnCompletion().clear();
+				getOnCompletion().addAll((Collection<? extends Activity>)newValue);
+				return;
+			case MaintenanceMonitoringPackage.MM_ACTIVITIES__ON_SUCCESSFUL_COMPLETION:
+				getOnSuccessfulCompletion().clear();
+				getOnSuccessfulCompletion().addAll((Collection<? extends Activity>)newValue);
+				return;
+			case MaintenanceMonitoringPackage.MM_ACTIVITIES__ON_FAILED_COMPLETION:
+				getOnFailedCompletion().clear();
+				getOnFailedCompletion().addAll((Collection<? extends Activity>)newValue);
+				return;
+			case MaintenanceMonitoringPackage.MM_ACTIVITIES__BASE_ACTION:
+				setBase_Action((Action)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case MaintenanceMonitoringPackage.MM_ACTIVITIES__BASE_ACTIVITY:
+				setBase_Activity((Activity)null);
+				return;
+			case MaintenanceMonitoringPackage.MM_ACTIVITIES__WHEN:
+				setWhen(WHEN_EDEFAULT);
+				return;
+			case MaintenanceMonitoringPackage.MM_ACTIVITIES__DURATION:
+				setDuration(DURATION_EDEFAULT);
+				return;
+			case MaintenanceMonitoringPackage.MM_ACTIVITIES__PROB_SUCCESS:
+				setProbSuccess(PROB_SUCCESS_EDEFAULT);
+				return;
+			case MaintenanceMonitoringPackage.MM_ACTIVITIES__ON_COMPLETION:
+				getOnCompletion().clear();
+				return;
+			case MaintenanceMonitoringPackage.MM_ACTIVITIES__ON_SUCCESSFUL_COMPLETION:
+				getOnSuccessfulCompletion().clear();
+				return;
+			case MaintenanceMonitoringPackage.MM_ACTIVITIES__ON_FAILED_COMPLETION:
+				getOnFailedCompletion().clear();
+				return;
+			case MaintenanceMonitoringPackage.MM_ACTIVITIES__BASE_ACTION:
+				setBase_Action((Action)null);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case MaintenanceMonitoringPackage.MM_ACTIVITIES__BASE_ACTIVITY:
+				return base_Activity != null;
+			case MaintenanceMonitoringPackage.MM_ACTIVITIES__WHEN:
+				return WHEN_EDEFAULT == null ? when != null : !WHEN_EDEFAULT.equals(when);
+			case MaintenanceMonitoringPackage.MM_ACTIVITIES__DURATION:
+				return DURATION_EDEFAULT == null ? duration != null : !DURATION_EDEFAULT.equals(duration);
+			case MaintenanceMonitoringPackage.MM_ACTIVITIES__PROB_SUCCESS:
+				return PROB_SUCCESS_EDEFAULT == null ? probSuccess != null : !PROB_SUCCESS_EDEFAULT.equals(probSuccess);
+			case MaintenanceMonitoringPackage.MM_ACTIVITIES__ON_COMPLETION:
+				return onCompletion != null && !onCompletion.isEmpty();
+			case MaintenanceMonitoringPackage.MM_ACTIVITIES__ON_SUCCESSFUL_COMPLETION:
+				return onSuccessfulCompletion != null && !onSuccessfulCompletion.isEmpty();
+			case MaintenanceMonitoringPackage.MM_ACTIVITIES__ON_FAILED_COMPLETION:
+				return onFailedCompletion != null && !onFailedCompletion.isEmpty();
+			case MaintenanceMonitoringPackage.MM_ACTIVITIES__BASE_ACTION:
+				return base_Action != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (when: ");
+		result.append(when);
+		result.append(", duration: ");
+		result.append(duration);
+		result.append(", probSuccess: ");
+		result.append(probSuccess);
+		result.append(')');
+		return result.toString();
+	}
+
+} //MMActivitiesImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/MaintenanceMonitoring/impl/MaintenanceMonitoringFactoryImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/MaintenanceMonitoring/impl/MaintenanceMonitoringFactoryImpl.java
new file mode 100644
index 000000000..c5e72ac4d
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/MaintenanceMonitoring/impl/MaintenanceMonitoringFactoryImpl.java
@@ -0,0 +1,145 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class MaintenanceMonitoringFactoryImpl extends EFactoryImpl implements MaintenanceMonitoringFactory {
+	/**
+	 * Creates the default factory implementation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static MaintenanceMonitoringFactory init() {
+		try {
+			MaintenanceMonitoringFactory theMaintenanceMonitoringFactory = (MaintenanceMonitoringFactory)EPackage.Registry.INSTANCE.getEFactory(MaintenanceMonitoringPackage.eNS_URI);
+			if (theMaintenanceMonitoringFactory != null) {
+				return theMaintenanceMonitoringFactory;
+			}
+		}
+		catch (Exception exception) {
+			EcorePlugin.INSTANCE.log(exception);
+		}
+		return new MaintenanceMonitoringFactoryImpl();
+	}
+
+	/**
+	 * Creates an instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public MaintenanceMonitoringFactoryImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EObject create(EClass eClass) {
+		switch (eClass.getClassifierID()) {
+			case MaintenanceMonitoringPackage.MM_ACTIVITIES: return createMMActivities();
+			case MaintenanceMonitoringPackage.REPAIR: return createRepair();
+			case MaintenanceMonitoringPackage.REPLACE: return createReplace();
+			case MaintenanceMonitoringPackage.ERROR_DETECTION: return createErrorDetection();
+			case MaintenanceMonitoringPackage.FAILURE_DETECTION: return createFailureDetection();
+			default:
+				throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public MMActivities createMMActivities() {
+		MMActivitiesImpl mmActivities = new MMActivitiesImpl();
+		return mmActivities;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Repair createRepair() {
+		RepairImpl repair = new RepairImpl();
+		return repair;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Replace createReplace() {
+		ReplaceImpl replace = new ReplaceImpl();
+		return replace;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ErrorDetection createErrorDetection() {
+		ErrorDetectionImpl errorDetection = new ErrorDetectionImpl();
+		return errorDetection;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public FailureDetection createFailureDetection() {
+		FailureDetectionImpl failureDetection = new FailureDetectionImpl();
+		return failureDetection;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public MaintenanceMonitoringPackage getMaintenanceMonitoringPackage() {
+		return (MaintenanceMonitoringPackage)getEPackage();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @deprecated
+	 * @generated
+	 */
+	@Deprecated
+	public static MaintenanceMonitoringPackage getPackage() {
+		return MaintenanceMonitoringPackage.eINSTANCE;
+	}
+
+} //MaintenanceMonitoringFactoryImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/MaintenanceMonitoring/impl/MaintenanceMonitoringPackageImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/MaintenanceMonitoring/impl/MaintenanceMonitoringPackageImpl.java
new file mode 100644
index 000000000..080c3386e
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/MaintenanceMonitoring/impl/MaintenanceMonitoringPackageImpl.java
@@ -0,0 +1,565 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+import org.eclipse.papyrus.MARTE.MARTEPackage;
+import org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.BasicNFP_TypesPackage;
+import org.eclipse.papyrus.MARTE_Library.GRM_BasicTypes.GRM_BasicTypesPackage;
+import org.eclipse.papyrus.MARTE_Library.MARTE_DataTypes.MARTE_DataTypesPackage;
+import org.eclipse.papyrus.MARTE_Library.MARTE_PrimitivesTypes.MARTE_PrimitivesTypesPackage;
+import org.eclipse.papyrus.MARTE_Library.MeasurementUnits.MeasurementUnitsPackage;
+import org.eclipse.papyrus.MARTE_Library.RS_Library.RS_LibraryPackage;
+import org.eclipse.papyrus.MARTE_Library.TimeLibrary.TimeLibraryPackage;
+import org.eclipse.papyrus.MARTE_Library.TimeTypesLibrary.TimeTypesLibraryPackage;
+import org.eclipse.uml2.types.TypesPackage;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.polarsys.chess.chessmlprofile.chessmlprofilePackage;
+import org.polarsys.chess.chessmlprofile.ComponentModel.ComponentModelPackage;
+import org.polarsys.chess.chessmlprofile.ComponentModel.impl.ComponentModelPackageImpl;
+import org.polarsys.chess.chessmlprofile.Core.CorePackage;
+import org.polarsys.chess.chessmlprofile.Core.CHESSViews.CHESSViewsPackage;
+import org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl.CHESSViewsPackageImpl;
+import org.polarsys.chess.chessmlprofile.Core.impl.CorePackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.DataFlowCallGraph.DataFlowCallGraphPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.DataFlowCallGraph.impl.DataFlowCallGraphPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.DependableComponentPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.impl.DependableComponentPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEAPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEADataTypes.FMEADataTypesPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEADataTypes.impl.FMEADataTypesPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.impl.FMEAPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.FailurePropagationDataTypesPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.impl.FailurePropagationDataTypesPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl.FailurePropagationPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans.MitigationMeansPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans.impl.MitigationMeansPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.FaultTolerancePackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.impl.FaultTolerancePackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.ErrorDetection;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.FailureDetection;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.MMActivities;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.MaintenanceMonitoringFactory;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.MaintenanceMonitoringPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.Repair;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.Replace;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.StateBasedAnalysisPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.impl.StateBasedAnalysisPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StateBasedComponentsPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.impl.StateBasedComponentsPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.StateBasedDataTypesPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.impl.StateBasedDataTypesPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatsPropagationPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.ThreatsPropagationPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.DeploymentConfAnalysisPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.impl.DeploymentConfAnalysisPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HardwareBaselinePackage;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.HardwareBaselinePackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTComponentModelPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.RTDataTypesPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.impl.RTDataTypesPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.impl.RTComponentModelPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingAnalysisPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.TimingConstraintsPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.impl.TimingConstraintsPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.impl.TimingAnalysisPackageImpl;
+import org.polarsys.chess.chessmlprofile.impl.chessmlprofilePackageImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class MaintenanceMonitoringPackageImpl extends EPackageImpl implements MaintenanceMonitoringPackage {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass mmActivitiesEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass repairEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass replaceEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass errorDetectionEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass failureDetectionEClass = null;
+
+	/**
+	 * Creates an instance of the model <b>Package</b>, registered with
+	 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+	 * package URI value.
+	 * <p>Note: the correct way to create the package is via the static
+	 * factory method {@link #init init()}, which also performs
+	 * initialization of the package, or returns the registered package,
+	 * if one already exists.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.emf.ecore.EPackage.Registry
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.MaintenanceMonitoringPackage#eNS_URI
+	 * @see #init()
+	 * @generated
+	 */
+	private MaintenanceMonitoringPackageImpl() {
+		super(eNS_URI, MaintenanceMonitoringFactory.eINSTANCE);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static boolean isInited = false;
+
+	/**
+	 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+	 * 
+	 * <p>This method is used to initialize {@link MaintenanceMonitoringPackage#eINSTANCE} when that field is accessed.
+	 * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #eNS_URI
+	 * @see #createPackageContents()
+	 * @see #initializePackageContents()
+	 * @generated
+	 */
+	public static MaintenanceMonitoringPackage init() {
+		if (isInited) return (MaintenanceMonitoringPackage)EPackage.Registry.INSTANCE.getEPackage(MaintenanceMonitoringPackage.eNS_URI);
+
+		// Obtain or create and register package
+		MaintenanceMonitoringPackageImpl theMaintenanceMonitoringPackage = (MaintenanceMonitoringPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof MaintenanceMonitoringPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new MaintenanceMonitoringPackageImpl());
+
+		isInited = true;
+
+		// Initialize simple dependencies
+		MARTEPackage.eINSTANCE.eClass();
+		MeasurementUnitsPackage.eINSTANCE.eClass();
+		GRM_BasicTypesPackage.eINSTANCE.eClass();
+		MARTE_DataTypesPackage.eINSTANCE.eClass();
+		BasicNFP_TypesPackage.eINSTANCE.eClass();
+		TimeTypesLibraryPackage.eINSTANCE.eClass();
+		TimeLibraryPackage.eINSTANCE.eClass();
+		RS_LibraryPackage.eINSTANCE.eClass();
+		MARTE_PrimitivesTypesPackage.eINSTANCE.eClass();
+		BasicNFP_TypesPackage.eINSTANCE.eClass();
+
+		// Obtain or create and register interdependencies
+		chessmlprofilePackageImpl thechessmlprofilePackage = (chessmlprofilePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(chessmlprofilePackage.eNS_URI) instanceof chessmlprofilePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(chessmlprofilePackage.eNS_URI) : chessmlprofilePackage.eINSTANCE);
+		CorePackageImpl theCorePackage = (CorePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(CorePackage.eNS_URI) instanceof CorePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(CorePackage.eNS_URI) : CorePackage.eINSTANCE);
+		CHESSViewsPackageImpl theCHESSViewsPackage = (CHESSViewsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(CHESSViewsPackage.eNS_URI) instanceof CHESSViewsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(CHESSViewsPackage.eNS_URI) : CHESSViewsPackage.eINSTANCE);
+		FailurePropagationPackageImpl theFailurePropagationPackage = (FailurePropagationPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FailurePropagationPackage.eNS_URI) instanceof FailurePropagationPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FailurePropagationPackage.eNS_URI) : FailurePropagationPackage.eINSTANCE);
+		FailurePropagationDataTypesPackageImpl theFailurePropagationDataTypesPackage = (FailurePropagationDataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FailurePropagationDataTypesPackage.eNS_URI) instanceof FailurePropagationDataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FailurePropagationDataTypesPackage.eNS_URI) : FailurePropagationDataTypesPackage.eINSTANCE);
+		DependableComponentPackageImpl theDependableComponentPackage = (DependableComponentPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DependableComponentPackage.eNS_URI) instanceof DependableComponentPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DependableComponentPackage.eNS_URI) : DependableComponentPackage.eINSTANCE);
+		ThreatsPropagationPackageImpl theThreatsPropagationPackage = (ThreatsPropagationPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ThreatsPropagationPackage.eNS_URI) instanceof ThreatsPropagationPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ThreatsPropagationPackage.eNS_URI) : ThreatsPropagationPackage.eINSTANCE);
+		DataFlowCallGraphPackageImpl theDataFlowCallGraphPackage = (DataFlowCallGraphPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DataFlowCallGraphPackage.eNS_URI) instanceof DataFlowCallGraphPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DataFlowCallGraphPackage.eNS_URI) : DataFlowCallGraphPackage.eINSTANCE);
+		StateBasedDataTypesPackageImpl theStateBasedDataTypesPackage = (StateBasedDataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(StateBasedDataTypesPackage.eNS_URI) instanceof StateBasedDataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(StateBasedDataTypesPackage.eNS_URI) : StateBasedDataTypesPackage.eINSTANCE);
+		StateBasedComponentsPackageImpl theStateBasedComponentsPackage = (StateBasedComponentsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(StateBasedComponentsPackage.eNS_URI) instanceof StateBasedComponentsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(StateBasedComponentsPackage.eNS_URI) : StateBasedComponentsPackage.eINSTANCE);
+		FaultTolerancePackageImpl theFaultTolerancePackage = (FaultTolerancePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FaultTolerancePackage.eNS_URI) instanceof FaultTolerancePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FaultTolerancePackage.eNS_URI) : FaultTolerancePackage.eINSTANCE);
+		StateBasedAnalysisPackageImpl theStateBasedAnalysisPackage = (StateBasedAnalysisPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(StateBasedAnalysisPackage.eNS_URI) instanceof StateBasedAnalysisPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(StateBasedAnalysisPackage.eNS_URI) : StateBasedAnalysisPackage.eINSTANCE);
+		FMEAPackageImpl theFMEAPackage = (FMEAPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FMEAPackage.eNS_URI) instanceof FMEAPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FMEAPackage.eNS_URI) : FMEAPackage.eINSTANCE);
+		FMEADataTypesPackageImpl theFMEADataTypesPackage = (FMEADataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FMEADataTypesPackage.eNS_URI) instanceof FMEADataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FMEADataTypesPackage.eNS_URI) : FMEADataTypesPackage.eINSTANCE);
+		MitigationMeansPackageImpl theMitigationMeansPackage = (MitigationMeansPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(MitigationMeansPackage.eNS_URI) instanceof MitigationMeansPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(MitigationMeansPackage.eNS_URI) : MitigationMeansPackage.eINSTANCE);
+		TimingAnalysisPackageImpl theTimingAnalysisPackage = (TimingAnalysisPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimingAnalysisPackage.eNS_URI) instanceof TimingAnalysisPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimingAnalysisPackage.eNS_URI) : TimingAnalysisPackage.eINSTANCE);
+		TimingConstraintsPackageImpl theTimingConstraintsPackage = (TimingConstraintsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimingConstraintsPackage.eNS_URI) instanceof TimingConstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimingConstraintsPackage.eNS_URI) : TimingConstraintsPackage.eINSTANCE);
+		HardwareBaselinePackageImpl theHardwareBaselinePackage = (HardwareBaselinePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HardwareBaselinePackage.eNS_URI) instanceof HardwareBaselinePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HardwareBaselinePackage.eNS_URI) : HardwareBaselinePackage.eINSTANCE);
+		DeploymentConfAnalysisPackageImpl theDeploymentConfAnalysisPackage = (DeploymentConfAnalysisPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DeploymentConfAnalysisPackage.eNS_URI) instanceof DeploymentConfAnalysisPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DeploymentConfAnalysisPackage.eNS_URI) : DeploymentConfAnalysisPackage.eINSTANCE);
+		RTComponentModelPackageImpl theRTComponentModelPackage = (RTComponentModelPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RTComponentModelPackage.eNS_URI) instanceof RTComponentModelPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RTComponentModelPackage.eNS_URI) : RTComponentModelPackage.eINSTANCE);
+		RTDataTypesPackageImpl theRTDataTypesPackage = (RTDataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RTDataTypesPackage.eNS_URI) instanceof RTDataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RTDataTypesPackage.eNS_URI) : RTDataTypesPackage.eINSTANCE);
+		ComponentModelPackageImpl theComponentModelPackage = (ComponentModelPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ComponentModelPackage.eNS_URI) instanceof ComponentModelPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ComponentModelPackage.eNS_URI) : ComponentModelPackage.eINSTANCE);
+
+		// Create package meta-data objects
+		theMaintenanceMonitoringPackage.createPackageContents();
+		thechessmlprofilePackage.createPackageContents();
+		theCorePackage.createPackageContents();
+		theCHESSViewsPackage.createPackageContents();
+		theFailurePropagationPackage.createPackageContents();
+		theFailurePropagationDataTypesPackage.createPackageContents();
+		theDependableComponentPackage.createPackageContents();
+		theThreatsPropagationPackage.createPackageContents();
+		theDataFlowCallGraphPackage.createPackageContents();
+		theStateBasedDataTypesPackage.createPackageContents();
+		theStateBasedComponentsPackage.createPackageContents();
+		theFaultTolerancePackage.createPackageContents();
+		theStateBasedAnalysisPackage.createPackageContents();
+		theFMEAPackage.createPackageContents();
+		theFMEADataTypesPackage.createPackageContents();
+		theMitigationMeansPackage.createPackageContents();
+		theTimingAnalysisPackage.createPackageContents();
+		theTimingConstraintsPackage.createPackageContents();
+		theHardwareBaselinePackage.createPackageContents();
+		theDeploymentConfAnalysisPackage.createPackageContents();
+		theRTComponentModelPackage.createPackageContents();
+		theRTDataTypesPackage.createPackageContents();
+		theComponentModelPackage.createPackageContents();
+
+		// Initialize created meta-data
+		theMaintenanceMonitoringPackage.initializePackageContents();
+		thechessmlprofilePackage.initializePackageContents();
+		theCorePackage.initializePackageContents();
+		theCHESSViewsPackage.initializePackageContents();
+		theFailurePropagationPackage.initializePackageContents();
+		theFailurePropagationDataTypesPackage.initializePackageContents();
+		theDependableComponentPackage.initializePackageContents();
+		theThreatsPropagationPackage.initializePackageContents();
+		theDataFlowCallGraphPackage.initializePackageContents();
+		theStateBasedDataTypesPackage.initializePackageContents();
+		theStateBasedComponentsPackage.initializePackageContents();
+		theFaultTolerancePackage.initializePackageContents();
+		theStateBasedAnalysisPackage.initializePackageContents();
+		theFMEAPackage.initializePackageContents();
+		theFMEADataTypesPackage.initializePackageContents();
+		theMitigationMeansPackage.initializePackageContents();
+		theTimingAnalysisPackage.initializePackageContents();
+		theTimingConstraintsPackage.initializePackageContents();
+		theHardwareBaselinePackage.initializePackageContents();
+		theDeploymentConfAnalysisPackage.initializePackageContents();
+		theRTComponentModelPackage.initializePackageContents();
+		theRTDataTypesPackage.initializePackageContents();
+		theComponentModelPackage.initializePackageContents();
+
+		// Mark meta-data to indicate it can't be changed
+		theMaintenanceMonitoringPackage.freeze();
+
+  
+		// Update the registry and return the package
+		EPackage.Registry.INSTANCE.put(MaintenanceMonitoringPackage.eNS_URI, theMaintenanceMonitoringPackage);
+		return theMaintenanceMonitoringPackage;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getMMActivities() {
+		return mmActivitiesEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getMMActivities_Base_Activity() {
+		return (EReference)mmActivitiesEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getMMActivities_When() {
+		return (EAttribute)mmActivitiesEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getMMActivities_Duration() {
+		return (EAttribute)mmActivitiesEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getMMActivities_ProbSuccess() {
+		return (EAttribute)mmActivitiesEClass.getEStructuralFeatures().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getMMActivities_OnCompletion() {
+		return (EReference)mmActivitiesEClass.getEStructuralFeatures().get(4);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getMMActivities_OnSuccessfulCompletion() {
+		return (EReference)mmActivitiesEClass.getEStructuralFeatures().get(5);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getMMActivities_OnFailedCompletion() {
+		return (EReference)mmActivitiesEClass.getEStructuralFeatures().get(6);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getMMActivities_Base_Action() {
+		return (EReference)mmActivitiesEClass.getEStructuralFeatures().get(7);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getRepair() {
+		return repairEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getRepair_Targets() {
+		return (EReference)repairEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getReplace() {
+		return replaceEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getReplace_Targets() {
+		return (EReference)replaceEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getReplace_Replacement() {
+		return (EReference)replaceEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getErrorDetection() {
+		return errorDetectionEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getErrorDetection_Targets() {
+		return (EReference)errorDetectionEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getErrorDetection_CorrectionProbability() {
+		return (EAttribute)errorDetectionEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getErrorDetection_ControlledFailure() {
+		return (EReference)errorDetectionEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getFailureDetection() {
+		return failureDetectionEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getFailureDetection_OnDetection() {
+		return (EReference)failureDetectionEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public MaintenanceMonitoringFactory getMaintenanceMonitoringFactory() {
+		return (MaintenanceMonitoringFactory)getEFactoryInstance();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isCreated = false;
+
+	/**
+	 * Creates the meta-model objects for the package.  This method is
+	 * guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void createPackageContents() {
+		if (isCreated) return;
+		isCreated = true;
+
+		// Create classes and their features
+		mmActivitiesEClass = createEClass(MM_ACTIVITIES);
+		createEReference(mmActivitiesEClass, MM_ACTIVITIES__BASE_ACTIVITY);
+		createEAttribute(mmActivitiesEClass, MM_ACTIVITIES__WHEN);
+		createEAttribute(mmActivitiesEClass, MM_ACTIVITIES__DURATION);
+		createEAttribute(mmActivitiesEClass, MM_ACTIVITIES__PROB_SUCCESS);
+		createEReference(mmActivitiesEClass, MM_ACTIVITIES__ON_COMPLETION);
+		createEReference(mmActivitiesEClass, MM_ACTIVITIES__ON_SUCCESSFUL_COMPLETION);
+		createEReference(mmActivitiesEClass, MM_ACTIVITIES__ON_FAILED_COMPLETION);
+		createEReference(mmActivitiesEClass, MM_ACTIVITIES__BASE_ACTION);
+
+		repairEClass = createEClass(REPAIR);
+		createEReference(repairEClass, REPAIR__TARGETS);
+
+		replaceEClass = createEClass(REPLACE);
+		createEReference(replaceEClass, REPLACE__TARGETS);
+		createEReference(replaceEClass, REPLACE__REPLACEMENT);
+
+		errorDetectionEClass = createEClass(ERROR_DETECTION);
+		createEReference(errorDetectionEClass, ERROR_DETECTION__TARGETS);
+		createEAttribute(errorDetectionEClass, ERROR_DETECTION__CORRECTION_PROBABILITY);
+		createEReference(errorDetectionEClass, ERROR_DETECTION__CONTROLLED_FAILURE);
+
+		failureDetectionEClass = createEClass(FAILURE_DETECTION);
+		createEReference(failureDetectionEClass, FAILURE_DETECTION__ON_DETECTION);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isInitialized = false;
+
+	/**
+	 * Complete the initialization of the package and its meta-model.  This
+	 * method is guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void initializePackageContents() {
+		if (isInitialized) return;
+		isInitialized = true;
+
+		// Initialize package
+		setName(eNAME);
+		setNsPrefix(eNS_PREFIX);
+		setNsURI(eNS_URI);
+
+		// Obtain other dependent packages
+		UMLPackage theUMLPackage = (UMLPackage)EPackage.Registry.INSTANCE.getEPackage(UMLPackage.eNS_URI);
+		TypesPackage theTypesPackage = (TypesPackage)EPackage.Registry.INSTANCE.getEPackage(TypesPackage.eNS_URI);
+		BasicNFP_TypesPackage theBasicNFP_TypesPackage = (BasicNFP_TypesPackage)EPackage.Registry.INSTANCE.getEPackage(BasicNFP_TypesPackage.eNS_URI);
+		ThreatsPropagationPackage theThreatsPropagationPackage = (ThreatsPropagationPackage)EPackage.Registry.INSTANCE.getEPackage(ThreatsPropagationPackage.eNS_URI);
+
+		// Create type parameters
+
+		// Set bounds for type parameters
+
+		// Add supertypes to classes
+		repairEClass.getESuperTypes().add(this.getMMActivities());
+		replaceEClass.getESuperTypes().add(this.getMMActivities());
+		errorDetectionEClass.getESuperTypes().add(this.getMMActivities());
+		failureDetectionEClass.getESuperTypes().add(this.getMMActivities());
+
+		// Initialize classes and features; add operations and parameters
+		initEClass(mmActivitiesEClass, MMActivities.class, "MMActivities", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getMMActivities_Base_Activity(), theUMLPackage.getActivity(), null, "base_Activity", null, 1, 1, MMActivities.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getMMActivities_When(), theTypesPackage.getString(), "when", null, 0, 1, MMActivities.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getMMActivities_Duration(), theBasicNFP_TypesPackage.getNFP_Duration(), "duration", null, 1, 1, MMActivities.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getMMActivities_ProbSuccess(), theBasicNFP_TypesPackage.getNFP_Real(), "probSuccess", null, 1, 1, MMActivities.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEReference(getMMActivities_OnCompletion(), theUMLPackage.getActivity(), null, "onCompletion", null, 0, -1, MMActivities.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEReference(getMMActivities_OnSuccessfulCompletion(), theUMLPackage.getActivity(), null, "onSuccessfulCompletion", null, 0, -1, MMActivities.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEReference(getMMActivities_OnFailedCompletion(), theUMLPackage.getActivity(), null, "onFailedCompletion", null, 0, -1, MMActivities.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEReference(getMMActivities_Base_Action(), theUMLPackage.getAction(), null, "base_Action", null, 1, 1, MMActivities.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+		initEClass(repairEClass, Repair.class, "Repair", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getRepair_Targets(), theUMLPackage.getProperty(), null, "targets", null, 1, -1, Repair.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+		initEClass(replaceEClass, Replace.class, "Replace", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getReplace_Targets(), theUMLPackage.getProperty(), null, "targets", null, 1, -1, Replace.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEReference(getReplace_Replacement(), theUMLPackage.getActivity(), null, "replacement", null, 1, 1, Replace.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+		initEClass(errorDetectionEClass, ErrorDetection.class, "ErrorDetection", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getErrorDetection_Targets(), theUMLPackage.getProperty(), null, "targets", null, 1, 1, ErrorDetection.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getErrorDetection_CorrectionProbability(), theBasicNFP_TypesPackage.getNFP_Real(), "correctionProbability", null, 1, 1, ErrorDetection.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEReference(getErrorDetection_ControlledFailure(), theThreatsPropagationPackage.getFailureMode(), null, "controlledFailure", null, 1, 1, ErrorDetection.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+		initEClass(failureDetectionEClass, FailureDetection.class, "FailureDetection", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getFailureDetection_OnDetection(), theUMLPackage.getActivity(), null, "onDetection", null, 1, -1, FailureDetection.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+	}
+
+} //MaintenanceMonitoringPackageImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/MaintenanceMonitoring/impl/RepairImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/MaintenanceMonitoring/impl/RepairImpl.java
new file mode 100644
index 000000000..16f0c5f7b
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/MaintenanceMonitoring/impl/RepairImpl.java
@@ -0,0 +1,166 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Type;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.MaintenanceMonitoringPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.Repair;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Repair</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.impl.RepairImpl#getTargets <em>Targets</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class RepairImpl extends MMActivitiesImpl implements Repair {
+	/**
+	 * The cached value of the '{@link #getTargets() <em>Targets</em>}' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getTargets()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<Property> targets;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected RepairImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return MaintenanceMonitoringPackage.Literals.REPAIR;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<Property> getTargets() {
+		if (targets == null) {
+			targets = new EObjectResolvingEList<Property>(Property.class, this, MaintenanceMonitoringPackage.REPAIR__TARGETS);
+		}
+		return targets;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Property getTargets(String name, Type type) {
+		return getTargets(name, type, false, null);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Property getTargets(String name, Type type, boolean ignoreCase, EClass eClass) {
+		targetsLoop: for (Property targets : getTargets()) {
+			if (eClass != null && !eClass.isInstance(targets))
+				continue targetsLoop;
+			if (name != null && !(ignoreCase ? name.equalsIgnoreCase(targets.getName()) : name.equals(targets.getName())))
+				continue targetsLoop;
+			if (type != null && !type.equals(targets.getType()))
+				continue targetsLoop;
+			return targets;
+		}
+		return null;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case MaintenanceMonitoringPackage.REPAIR__TARGETS:
+				return getTargets();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case MaintenanceMonitoringPackage.REPAIR__TARGETS:
+				getTargets().clear();
+				getTargets().addAll((Collection<? extends Property>)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case MaintenanceMonitoringPackage.REPAIR__TARGETS:
+				getTargets().clear();
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case MaintenanceMonitoringPackage.REPAIR__TARGETS:
+				return targets != null && !targets.isEmpty();
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //RepairImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/MaintenanceMonitoring/impl/ReplaceImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/MaintenanceMonitoring/impl/ReplaceImpl.java
new file mode 100644
index 000000000..11eb0d8b1
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/MaintenanceMonitoring/impl/ReplaceImpl.java
@@ -0,0 +1,230 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Type;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.MaintenanceMonitoringPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.Replace;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Replace</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.impl.ReplaceImpl#getTargets <em>Targets</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.impl.ReplaceImpl#getReplacement <em>Replacement</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ReplaceImpl extends MMActivitiesImpl implements Replace {
+	/**
+	 * The cached value of the '{@link #getTargets() <em>Targets</em>}' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getTargets()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<Property> targets;
+
+	/**
+	 * The cached value of the '{@link #getReplacement() <em>Replacement</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getReplacement()
+	 * @generated
+	 * @ordered
+	 */
+	protected Activity replacement;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ReplaceImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return MaintenanceMonitoringPackage.Literals.REPLACE;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<Property> getTargets() {
+		if (targets == null) {
+			targets = new EObjectResolvingEList<Property>(Property.class, this, MaintenanceMonitoringPackage.REPLACE__TARGETS);
+		}
+		return targets;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Property getTargets(String name, Type type) {
+		return getTargets(name, type, false, null);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Property getTargets(String name, Type type, boolean ignoreCase, EClass eClass) {
+		targetsLoop: for (Property targets : getTargets()) {
+			if (eClass != null && !eClass.isInstance(targets))
+				continue targetsLoop;
+			if (name != null && !(ignoreCase ? name.equalsIgnoreCase(targets.getName()) : name.equals(targets.getName())))
+				continue targetsLoop;
+			if (type != null && !type.equals(targets.getType()))
+				continue targetsLoop;
+			return targets;
+		}
+		return null;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Activity getReplacement() {
+		if (replacement != null && replacement.eIsProxy()) {
+			InternalEObject oldReplacement = (InternalEObject)replacement;
+			replacement = (Activity)eResolveProxy(oldReplacement);
+			if (replacement != oldReplacement) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, MaintenanceMonitoringPackage.REPLACE__REPLACEMENT, oldReplacement, replacement));
+			}
+		}
+		return replacement;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Activity basicGetReplacement() {
+		return replacement;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setReplacement(Activity newReplacement) {
+		Activity oldReplacement = replacement;
+		replacement = newReplacement;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, MaintenanceMonitoringPackage.REPLACE__REPLACEMENT, oldReplacement, replacement));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case MaintenanceMonitoringPackage.REPLACE__TARGETS:
+				return getTargets();
+			case MaintenanceMonitoringPackage.REPLACE__REPLACEMENT:
+				if (resolve) return getReplacement();
+				return basicGetReplacement();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case MaintenanceMonitoringPackage.REPLACE__TARGETS:
+				getTargets().clear();
+				getTargets().addAll((Collection<? extends Property>)newValue);
+				return;
+			case MaintenanceMonitoringPackage.REPLACE__REPLACEMENT:
+				setReplacement((Activity)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case MaintenanceMonitoringPackage.REPLACE__TARGETS:
+				getTargets().clear();
+				return;
+			case MaintenanceMonitoringPackage.REPLACE__REPLACEMENT:
+				setReplacement((Activity)null);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case MaintenanceMonitoringPackage.REPLACE__TARGETS:
+				return targets != null && !targets.isEmpty();
+			case MaintenanceMonitoringPackage.REPLACE__REPLACEMENT:
+				return replacement != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //ReplaceImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/MaintenanceMonitoring/util/MaintenanceMonitoringAdapterFactory.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/MaintenanceMonitoring/util/MaintenanceMonitoringAdapterFactory.java
new file mode 100644
index 000000000..a15b26425
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/MaintenanceMonitoring/util/MaintenanceMonitoringAdapterFactory.java
@@ -0,0 +1,198 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+import org.eclipse.emf.ecore.EObject;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.MaintenanceMonitoringPackage
+ * @generated
+ */
+public class MaintenanceMonitoringAdapterFactory extends AdapterFactoryImpl {
+	/**
+	 * The cached model package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static MaintenanceMonitoringPackage modelPackage;
+
+	/**
+	 * Creates an instance of the adapter factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public MaintenanceMonitoringAdapterFactory() {
+		if (modelPackage == null) {
+			modelPackage = MaintenanceMonitoringPackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Returns whether this factory is applicable for the type of the object.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+	 * <!-- end-user-doc -->
+	 * @return whether this factory is applicable for the type of the object.
+	 * @generated
+	 */
+	@Override
+	public boolean isFactoryForType(Object object) {
+		if (object == modelPackage) {
+			return true;
+		}
+		if (object instanceof EObject) {
+			return ((EObject)object).eClass().getEPackage() == modelPackage;
+		}
+		return false;
+	}
+
+	/**
+	 * The switch that delegates to the <code>createXXX</code> methods.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected MaintenanceMonitoringSwitch<Adapter> modelSwitch =
+		new MaintenanceMonitoringSwitch<Adapter>() {
+			@Override
+			public Adapter caseMMActivities(MMActivities object) {
+				return createMMActivitiesAdapter();
+			}
+			@Override
+			public Adapter caseRepair(Repair object) {
+				return createRepairAdapter();
+			}
+			@Override
+			public Adapter caseReplace(Replace object) {
+				return createReplaceAdapter();
+			}
+			@Override
+			public Adapter caseErrorDetection(ErrorDetection object) {
+				return createErrorDetectionAdapter();
+			}
+			@Override
+			public Adapter caseFailureDetection(FailureDetection object) {
+				return createFailureDetectionAdapter();
+			}
+			@Override
+			public Adapter defaultCase(EObject object) {
+				return createEObjectAdapter();
+			}
+		};
+
+	/**
+	 * Creates an adapter for the <code>target</code>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param target the object to adapt.
+	 * @return the adapter for the <code>target</code>.
+	 * @generated
+	 */
+	@Override
+	public Adapter createAdapter(Notifier target) {
+		return modelSwitch.doSwitch((EObject)target);
+	}
+
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.MMActivities <em>MM Activities</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.MMActivities
+	 * @generated
+	 */
+	public Adapter createMMActivitiesAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.Repair <em>Repair</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.Repair
+	 * @generated
+	 */
+	public Adapter createRepairAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.Replace <em>Replace</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.Replace
+	 * @generated
+	 */
+	public Adapter createReplaceAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.ErrorDetection <em>Error Detection</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.ErrorDetection
+	 * @generated
+	 */
+	public Adapter createErrorDetectionAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.FailureDetection <em>Failure Detection</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.FailureDetection
+	 * @generated
+	 */
+	public Adapter createFailureDetectionAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for the default case.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @generated
+	 */
+	public Adapter createEObjectAdapter() {
+		return null;
+	}
+
+} //MaintenanceMonitoringAdapterFactory
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/MaintenanceMonitoring/util/MaintenanceMonitoringResourceFactoryImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/MaintenanceMonitoring/util/MaintenanceMonitoringResourceFactoryImpl.java
new file mode 100644
index 000000000..74f933193
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/MaintenanceMonitoring/util/MaintenanceMonitoringResourceFactoryImpl.java
@@ -0,0 +1,61 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.util;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.resource.impl.ResourceFactoryImpl;
+
+import org.eclipse.emf.ecore.xmi.XMLResource;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource Factory</b> associated with the package.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.util.MaintenanceMonitoringResourceImpl
+ * @generated
+ */
+public class MaintenanceMonitoringResourceFactoryImpl extends ResourceFactoryImpl {
+	/**
+	 * Creates an instance of the resource factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public MaintenanceMonitoringResourceFactoryImpl() {
+		super();
+	}
+
+	/**
+	 * Creates an instance of the resource.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Resource createResource(URI uri) {
+		XMLResource result = new MaintenanceMonitoringResourceImpl(uri);
+		result.getDefaultSaveOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
+		result.getDefaultLoadOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
+
+		result.getDefaultSaveOptions().put(XMLResource.OPTION_SCHEMA_LOCATION, Boolean.TRUE);
+
+		result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+		result.getDefaultSaveOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+
+		result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_LEXICAL_HANDLER, Boolean.TRUE);
+		return result;
+	}
+
+} //MaintenanceMonitoringResourceFactoryImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/MaintenanceMonitoring/util/MaintenanceMonitoringResourceImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/MaintenanceMonitoring/util/MaintenanceMonitoringResourceImpl.java
new file mode 100644
index 000000000..aa7119704
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/MaintenanceMonitoring/util/MaintenanceMonitoringResourceImpl.java
@@ -0,0 +1,37 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.util;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource </b> associated with the package.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.util.MaintenanceMonitoringResourceFactoryImpl
+ * @generated
+ */
+public class MaintenanceMonitoringResourceImpl extends XMLResourceImpl {
+	/**
+	 * Creates an instance of the resource.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param uri the URI of the new resource.
+	 * @generated
+	 */
+	public MaintenanceMonitoringResourceImpl(URI uri) {
+		super(uri);
+	}
+
+} //MaintenanceMonitoringResourceImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/MaintenanceMonitoring/util/MaintenanceMonitoringSwitch.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/MaintenanceMonitoring/util/MaintenanceMonitoringSwitch.java
new file mode 100644
index 000000000..fd381af38
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/MaintenanceMonitoring/util/MaintenanceMonitoringSwitch.java
@@ -0,0 +1,205 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.util.Switch;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.MaintenanceMonitoringPackage
+ * @generated
+ */
+public class MaintenanceMonitoringSwitch<T> extends Switch<T> {
+	/**
+	 * The cached model package
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static MaintenanceMonitoringPackage modelPackage;
+
+	/**
+	 * Creates an instance of the switch.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public MaintenanceMonitoringSwitch() {
+		if (modelPackage == null) {
+			modelPackage = MaintenanceMonitoringPackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Checks whether this is a switch for the given package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @parameter ePackage the package in question.
+	 * @return whether this is a switch for the given package.
+	 * @generated
+	 */
+	@Override
+	protected boolean isSwitchFor(EPackage ePackage) {
+		return ePackage == modelPackage;
+	}
+
+	/**
+	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the first non-null result returned by a <code>caseXXX</code> call.
+	 * @generated
+	 */
+	@Override
+	protected T doSwitch(int classifierID, EObject theEObject) {
+		switch (classifierID) {
+			case MaintenanceMonitoringPackage.MM_ACTIVITIES: {
+				MMActivities mmActivities = (MMActivities)theEObject;
+				T result = caseMMActivities(mmActivities);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case MaintenanceMonitoringPackage.REPAIR: {
+				Repair repair = (Repair)theEObject;
+				T result = caseRepair(repair);
+				if (result == null) result = caseMMActivities(repair);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case MaintenanceMonitoringPackage.REPLACE: {
+				Replace replace = (Replace)theEObject;
+				T result = caseReplace(replace);
+				if (result == null) result = caseMMActivities(replace);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case MaintenanceMonitoringPackage.ERROR_DETECTION: {
+				ErrorDetection errorDetection = (ErrorDetection)theEObject;
+				T result = caseErrorDetection(errorDetection);
+				if (result == null) result = caseMMActivities(errorDetection);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case MaintenanceMonitoringPackage.FAILURE_DETECTION: {
+				FailureDetection failureDetection = (FailureDetection)theEObject;
+				T result = caseFailureDetection(failureDetection);
+				if (result == null) result = caseMMActivities(failureDetection);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			default: return defaultCase(theEObject);
+		}
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>MM Activities</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>MM Activities</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseMMActivities(MMActivities object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Repair</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Repair</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseRepair(Repair object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Replace</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Replace</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseReplace(Replace object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Error Detection</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Error Detection</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseErrorDetection(ErrorDetection object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Failure Detection</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Failure Detection</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseFailureDetection(FailureDetection object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch, but this is the last case anyway.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+	 * @generated
+	 */
+	@Override
+	public T defaultCase(EObject object) {
+		return null;
+	}
+
+} //MaintenanceMonitoringSwitch
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/MaintenanceMonitoring/util/MaintenanceMonitoringXMLProcessor.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/MaintenanceMonitoring/util/MaintenanceMonitoringXMLProcessor.java
new file mode 100644
index 000000000..1c8e6eea8
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/MaintenanceMonitoring/util/MaintenanceMonitoringXMLProcessor.java
@@ -0,0 +1,56 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.util;
+
+import java.util.Map;
+
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.xmi.util.XMLProcessor;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.MaintenanceMonitoringPackage;
+
+/**
+ * This class contains helper methods to serialize and deserialize XML documents
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class MaintenanceMonitoringXMLProcessor extends XMLProcessor {
+
+	/**
+	 * Public constructor to instantiate the helper.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public MaintenanceMonitoringXMLProcessor() {
+		super((EPackage.Registry.INSTANCE));
+		MaintenanceMonitoringPackage.eINSTANCE.eClass();
+	}
+	
+	/**
+	 * Register for "*" and "xml" file extensions the MaintenanceMonitoringResourceFactoryImpl factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected Map<String, Resource.Factory> getRegistrations() {
+		if (registrations == null) {
+			super.getRegistrations();
+			registrations.put(XML_EXTENSION, new MaintenanceMonitoringResourceFactoryImpl());
+			registrations.put(STAR_EXTENSION, new MaintenanceMonitoringResourceFactoryImpl());
+		}
+		return registrations;
+	}
+
+} //MaintenanceMonitoringXMLProcessor
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedAnalysis/StateBasedAnalysis.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedAnalysis/StateBasedAnalysis.java
new file mode 100644
index 000000000..2e33e635e
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedAnalysis/StateBasedAnalysis.java
@@ -0,0 +1,175 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.GQAM.GaAnalysisContext;
+import org.eclipse.uml2.uml.InstanceSpecification;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.FailureMode;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>State Based Analysis</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.StateBasedAnalysis#getMeasure <em>Measure</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.StateBasedAnalysis#getMeasureEvaluationResult <em>Measure Evaluation Result</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.StateBasedAnalysis#getEvalMethod <em>Eval Method</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.StateBasedAnalysis#getTargetFailureMode <em>Target Failure Mode</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.StateBasedAnalysis#getTargetDepComponent <em>Target Dep Component</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.StateBasedAnalysisPackage#getStateBasedAnalysis()
+ * @model
+ * @generated
+ */
+public interface StateBasedAnalysis extends GaAnalysisContext {
+	/**
+	 * Returns the value of the '<em><b>Measure</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Measure</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Measure</em>' attribute.
+	 * @see #setMeasure(String)
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.StateBasedAnalysisPackage#getStateBasedAnalysis_Measure()
+	 * @model dataType="org.eclipse.uml2.types.String" required="true" ordered="false"
+	 * @generated
+	 */
+	String getMeasure();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.StateBasedAnalysis#getMeasure <em>Measure</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Measure</em>' attribute.
+	 * @see #getMeasure()
+	 * @generated
+	 */
+	void setMeasure(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Measure Evaluation Result</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Measure Evaluation Result</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Measure Evaluation Result</em>' attribute.
+	 * @see #setMeasureEvaluationResult(String)
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.StateBasedAnalysisPackage#getStateBasedAnalysis_MeasureEvaluationResult()
+	 * @model dataType="org.eclipse.uml2.types.String" required="true" ordered="false"
+	 * @generated
+	 */
+	String getMeasureEvaluationResult();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.StateBasedAnalysis#getMeasureEvaluationResult <em>Measure Evaluation Result</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Measure Evaluation Result</em>' attribute.
+	 * @see #getMeasureEvaluationResult()
+	 * @generated
+	 */
+	void setMeasureEvaluationResult(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Eval Method</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Eval Method</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Eval Method</em>' attribute.
+	 * @see #setEvalMethod(String)
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.StateBasedAnalysisPackage#getStateBasedAnalysis_EvalMethod()
+	 * @model dataType="org.eclipse.uml2.types.String" required="true" ordered="false"
+	 * @generated
+	 */
+	String getEvalMethod();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.StateBasedAnalysis#getEvalMethod <em>Eval Method</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Eval Method</em>' attribute.
+	 * @see #getEvalMethod()
+	 * @generated
+	 */
+	void setEvalMethod(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Target Failure Mode</b></em>' reference list.
+	 * The list contents are of type {@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.FailureMode}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Target Failure Mode</em>' reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Target Failure Mode</em>' reference list.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.StateBasedAnalysisPackage#getStateBasedAnalysis_TargetFailureMode()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	EList<FailureMode> getTargetFailureMode();
+
+	/**
+	 * Returns the value of the '<em><b>Target Dep Component</b></em>' reference list.
+	 * The list contents are of type {@link org.eclipse.uml2.uml.InstanceSpecification}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Target Dep Component</em>' reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Target Dep Component</em>' reference list.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.StateBasedAnalysisPackage#getStateBasedAnalysis_TargetDepComponent()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	EList<InstanceSpecification> getTargetDepComponent();
+
+	/**
+	 * Retrieves the first {@link org.eclipse.uml2.uml.InstanceSpecification} with the specified '<em><b>Name</b></em>' from the '<em><b>Target Dep Component</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param name The '<em><b>Name</b></em>' of the {@link org.eclipse.uml2.uml.InstanceSpecification} to retrieve, or <code>null</code>.
+	 * @return The first {@link org.eclipse.uml2.uml.InstanceSpecification} with the specified '<em><b>Name</b></em>', or <code>null</code>.
+	 * @see #getTargetDepComponent()
+	 * @generated
+	 */
+	InstanceSpecification getTargetDepComponent(String name);
+
+	/**
+	 * Retrieves the first {@link org.eclipse.uml2.uml.InstanceSpecification} with the specified '<em><b>Name</b></em>' from the '<em><b>Target Dep Component</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param name The '<em><b>Name</b></em>' of the {@link org.eclipse.uml2.uml.InstanceSpecification} to retrieve, or <code>null</code>.
+	 * @param ignoreCase Whether to ignore case in {@link java.lang.String} comparisons.
+	 * @param eClass The Ecore class of the {@link org.eclipse.uml2.uml.InstanceSpecification} to retrieve, or <code>null</code>.
+	 * @return The first {@link org.eclipse.uml2.uml.InstanceSpecification} with the specified '<em><b>Name</b></em>', or <code>null</code>.
+	 * @see #getTargetDepComponent()
+	 * @generated
+	 */
+	InstanceSpecification getTargetDepComponent(String name, boolean ignoreCase, EClass eClass);
+
+} // StateBasedAnalysis
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedAnalysis/StateBasedAnalysisFactory.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedAnalysis/StateBasedAnalysisFactory.java
new file mode 100644
index 000000000..586e3e596
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedAnalysis/StateBasedAnalysisFactory.java
@@ -0,0 +1,51 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.StateBasedAnalysisPackage
+ * @generated
+ */
+public interface StateBasedAnalysisFactory extends EFactory {
+	/**
+	 * The singleton instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	StateBasedAnalysisFactory eINSTANCE = org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.impl.StateBasedAnalysisFactoryImpl.init();
+
+	/**
+	 * Returns a new object of class '<em>State Based Analysis</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>State Based Analysis</em>'.
+	 * @generated
+	 */
+	StateBasedAnalysis createStateBasedAnalysis();
+
+	/**
+	 * Returns the package supported by this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the package supported by this factory.
+	 * @generated
+	 */
+	StateBasedAnalysisPackage getStateBasedAnalysisPackage();
+
+} //StateBasedAnalysisFactory
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedAnalysis/StateBasedAnalysisPackage.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedAnalysis/StateBasedAnalysisPackage.java
new file mode 100644
index 000000000..d53e33a64
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedAnalysis/StateBasedAnalysisPackage.java
@@ -0,0 +1,336 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.GQAM.GQAMPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ *   <li>each class,</li>
+ *   <li>each feature of each class,</li>
+ *   <li>each enum,</li>
+ *   <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.StateBasedAnalysisFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface StateBasedAnalysisPackage extends EPackage {
+	/**
+	 * The package name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNAME = "StateBasedAnalysis";
+
+	/**
+	 * The package namespace URI.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_URI = "http://CHESS/Dependability/StateBased/StateBasedAnalysis";
+
+	/**
+	 * The package namespace name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_PREFIX = "StateBasedAnalysis";
+
+	/**
+	 * The singleton instance of the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	StateBasedAnalysisPackage eINSTANCE = org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.impl.StateBasedAnalysisPackageImpl.init();
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.impl.StateBasedAnalysisImpl <em>State Based Analysis</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.impl.StateBasedAnalysisImpl
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.impl.StateBasedAnalysisPackageImpl#getStateBasedAnalysis()
+	 * @generated
+	 */
+	int STATE_BASED_ANALYSIS = 0;
+
+	/**
+	 * The feature id for the '<em><b>Base Structured Classifier</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STATE_BASED_ANALYSIS__BASE_STRUCTURED_CLASSIFIER = GQAMPackage.GA_ANALYSIS_CONTEXT__BASE_STRUCTURED_CLASSIFIER;
+
+	/**
+	 * The feature id for the '<em><b>Base Package</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STATE_BASED_ANALYSIS__BASE_PACKAGE = GQAMPackage.GA_ANALYSIS_CONTEXT__BASE_PACKAGE;
+
+	/**
+	 * The feature id for the '<em><b>Mode</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STATE_BASED_ANALYSIS__MODE = GQAMPackage.GA_ANALYSIS_CONTEXT__MODE;
+
+	/**
+	 * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STATE_BASED_ANALYSIS__BASE_NAMED_ELEMENT = GQAMPackage.GA_ANALYSIS_CONTEXT__BASE_NAMED_ELEMENT;
+
+	/**
+	 * The feature id for the '<em><b>Context</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STATE_BASED_ANALYSIS__CONTEXT = GQAMPackage.GA_ANALYSIS_CONTEXT__CONTEXT;
+
+	/**
+	 * The feature id for the '<em><b>Workload</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STATE_BASED_ANALYSIS__WORKLOAD = GQAMPackage.GA_ANALYSIS_CONTEXT__WORKLOAD;
+
+	/**
+	 * The feature id for the '<em><b>Platform</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STATE_BASED_ANALYSIS__PLATFORM = GQAMPackage.GA_ANALYSIS_CONTEXT__PLATFORM;
+
+	/**
+	 * The feature id for the '<em><b>Measure</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STATE_BASED_ANALYSIS__MEASURE = GQAMPackage.GA_ANALYSIS_CONTEXT_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Measure Evaluation Result</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STATE_BASED_ANALYSIS__MEASURE_EVALUATION_RESULT = GQAMPackage.GA_ANALYSIS_CONTEXT_FEATURE_COUNT + 1;
+
+	/**
+	 * The feature id for the '<em><b>Eval Method</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STATE_BASED_ANALYSIS__EVAL_METHOD = GQAMPackage.GA_ANALYSIS_CONTEXT_FEATURE_COUNT + 2;
+
+	/**
+	 * The feature id for the '<em><b>Target Failure Mode</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STATE_BASED_ANALYSIS__TARGET_FAILURE_MODE = GQAMPackage.GA_ANALYSIS_CONTEXT_FEATURE_COUNT + 3;
+
+	/**
+	 * The feature id for the '<em><b>Target Dep Component</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STATE_BASED_ANALYSIS__TARGET_DEP_COMPONENT = GQAMPackage.GA_ANALYSIS_CONTEXT_FEATURE_COUNT + 4;
+
+	/**
+	 * The number of structural features of the '<em>State Based Analysis</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STATE_BASED_ANALYSIS_FEATURE_COUNT = GQAMPackage.GA_ANALYSIS_CONTEXT_FEATURE_COUNT + 5;
+
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.StateBasedAnalysis <em>State Based Analysis</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>State Based Analysis</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.StateBasedAnalysis
+	 * @generated
+	 */
+	EClass getStateBasedAnalysis();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.StateBasedAnalysis#getMeasure <em>Measure</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Measure</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.StateBasedAnalysis#getMeasure()
+	 * @see #getStateBasedAnalysis()
+	 * @generated
+	 */
+	EAttribute getStateBasedAnalysis_Measure();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.StateBasedAnalysis#getMeasureEvaluationResult <em>Measure Evaluation Result</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Measure Evaluation Result</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.StateBasedAnalysis#getMeasureEvaluationResult()
+	 * @see #getStateBasedAnalysis()
+	 * @generated
+	 */
+	EAttribute getStateBasedAnalysis_MeasureEvaluationResult();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.StateBasedAnalysis#getEvalMethod <em>Eval Method</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Eval Method</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.StateBasedAnalysis#getEvalMethod()
+	 * @see #getStateBasedAnalysis()
+	 * @generated
+	 */
+	EAttribute getStateBasedAnalysis_EvalMethod();
+
+	/**
+	 * Returns the meta object for the reference list '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.StateBasedAnalysis#getTargetFailureMode <em>Target Failure Mode</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference list '<em>Target Failure Mode</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.StateBasedAnalysis#getTargetFailureMode()
+	 * @see #getStateBasedAnalysis()
+	 * @generated
+	 */
+	EReference getStateBasedAnalysis_TargetFailureMode();
+
+	/**
+	 * Returns the meta object for the reference list '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.StateBasedAnalysis#getTargetDepComponent <em>Target Dep Component</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference list '<em>Target Dep Component</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.StateBasedAnalysis#getTargetDepComponent()
+	 * @see #getStateBasedAnalysis()
+	 * @generated
+	 */
+	EReference getStateBasedAnalysis_TargetDepComponent();
+
+	/**
+	 * Returns the factory that creates the instances of the model.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the factory that creates the instances of the model.
+	 * @generated
+	 */
+	StateBasedAnalysisFactory getStateBasedAnalysisFactory();
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * Defines literals for the meta objects that represent
+	 * <ul>
+	 *   <li>each class,</li>
+	 *   <li>each feature of each class,</li>
+	 *   <li>each enum,</li>
+	 *   <li>and each data type</li>
+	 * </ul>
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	interface Literals {
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.impl.StateBasedAnalysisImpl <em>State Based Analysis</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.impl.StateBasedAnalysisImpl
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.impl.StateBasedAnalysisPackageImpl#getStateBasedAnalysis()
+		 * @generated
+		 */
+		EClass STATE_BASED_ANALYSIS = eINSTANCE.getStateBasedAnalysis();
+
+		/**
+		 * The meta object literal for the '<em><b>Measure</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute STATE_BASED_ANALYSIS__MEASURE = eINSTANCE.getStateBasedAnalysis_Measure();
+
+		/**
+		 * The meta object literal for the '<em><b>Measure Evaluation Result</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute STATE_BASED_ANALYSIS__MEASURE_EVALUATION_RESULT = eINSTANCE.getStateBasedAnalysis_MeasureEvaluationResult();
+
+		/**
+		 * The meta object literal for the '<em><b>Eval Method</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute STATE_BASED_ANALYSIS__EVAL_METHOD = eINSTANCE.getStateBasedAnalysis_EvalMethod();
+
+		/**
+		 * The meta object literal for the '<em><b>Target Failure Mode</b></em>' reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference STATE_BASED_ANALYSIS__TARGET_FAILURE_MODE = eINSTANCE.getStateBasedAnalysis_TargetFailureMode();
+
+		/**
+		 * The meta object literal for the '<em><b>Target Dep Component</b></em>' reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference STATE_BASED_ANALYSIS__TARGET_DEP_COMPONENT = eINSTANCE.getStateBasedAnalysis_TargetDepComponent();
+
+	}
+
+} //StateBasedAnalysisPackage
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedAnalysis/impl/StateBasedAnalysisFactoryImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedAnalysis/impl/StateBasedAnalysisFactoryImpl.java
new file mode 100644
index 000000000..a9b30a850
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedAnalysis/impl/StateBasedAnalysisFactoryImpl.java
@@ -0,0 +1,101 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class StateBasedAnalysisFactoryImpl extends EFactoryImpl implements StateBasedAnalysisFactory {
+	/**
+	 * Creates the default factory implementation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static StateBasedAnalysisFactory init() {
+		try {
+			StateBasedAnalysisFactory theStateBasedAnalysisFactory = (StateBasedAnalysisFactory)EPackage.Registry.INSTANCE.getEFactory(StateBasedAnalysisPackage.eNS_URI);
+			if (theStateBasedAnalysisFactory != null) {
+				return theStateBasedAnalysisFactory;
+			}
+		}
+		catch (Exception exception) {
+			EcorePlugin.INSTANCE.log(exception);
+		}
+		return new StateBasedAnalysisFactoryImpl();
+	}
+
+	/**
+	 * Creates an instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public StateBasedAnalysisFactoryImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EObject create(EClass eClass) {
+		switch (eClass.getClassifierID()) {
+			case StateBasedAnalysisPackage.STATE_BASED_ANALYSIS: return createStateBasedAnalysis();
+			default:
+				throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public StateBasedAnalysis createStateBasedAnalysis() {
+		StateBasedAnalysisImpl stateBasedAnalysis = new StateBasedAnalysisImpl();
+		return stateBasedAnalysis;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public StateBasedAnalysisPackage getStateBasedAnalysisPackage() {
+		return (StateBasedAnalysisPackage)getEPackage();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @deprecated
+	 * @generated
+	 */
+	@Deprecated
+	public static StateBasedAnalysisPackage getPackage() {
+		return StateBasedAnalysisPackage.eINSTANCE;
+	}
+
+} //StateBasedAnalysisFactoryImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedAnalysis/impl/StateBasedAnalysisImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedAnalysis/impl/StateBasedAnalysisImpl.java
new file mode 100644
index 000000000..162c4c91e
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedAnalysis/impl/StateBasedAnalysisImpl.java
@@ -0,0 +1,377 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.GQAM.impl.GaAnalysisContextImpl;
+import org.eclipse.uml2.uml.InstanceSpecification;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.StateBasedAnalysis;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.StateBasedAnalysisPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.FailureMode;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>State Based Analysis</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.impl.StateBasedAnalysisImpl#getMeasure <em>Measure</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.impl.StateBasedAnalysisImpl#getMeasureEvaluationResult <em>Measure Evaluation Result</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.impl.StateBasedAnalysisImpl#getEvalMethod <em>Eval Method</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.impl.StateBasedAnalysisImpl#getTargetFailureMode <em>Target Failure Mode</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.impl.StateBasedAnalysisImpl#getTargetDepComponent <em>Target Dep Component</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class StateBasedAnalysisImpl extends GaAnalysisContextImpl implements StateBasedAnalysis {
+	/**
+	 * The default value of the '{@link #getMeasure() <em>Measure</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getMeasure()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String MEASURE_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getMeasure() <em>Measure</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getMeasure()
+	 * @generated
+	 * @ordered
+	 */
+	protected String measure = MEASURE_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getMeasureEvaluationResult() <em>Measure Evaluation Result</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getMeasureEvaluationResult()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String MEASURE_EVALUATION_RESULT_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getMeasureEvaluationResult() <em>Measure Evaluation Result</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getMeasureEvaluationResult()
+	 * @generated
+	 * @ordered
+	 */
+	protected String measureEvaluationResult = MEASURE_EVALUATION_RESULT_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getEvalMethod() <em>Eval Method</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getEvalMethod()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String EVAL_METHOD_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getEvalMethod() <em>Eval Method</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getEvalMethod()
+	 * @generated
+	 * @ordered
+	 */
+	protected String evalMethod = EVAL_METHOD_EDEFAULT;
+
+	/**
+	 * The cached value of the '{@link #getTargetFailureMode() <em>Target Failure Mode</em>}' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getTargetFailureMode()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<FailureMode> targetFailureMode;
+
+	/**
+	 * The cached value of the '{@link #getTargetDepComponent() <em>Target Dep Component</em>}' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getTargetDepComponent()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<InstanceSpecification> targetDepComponent;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected StateBasedAnalysisImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return StateBasedAnalysisPackage.Literals.STATE_BASED_ANALYSIS;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getMeasure() {
+		return measure;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setMeasure(String newMeasure) {
+		String oldMeasure = measure;
+		measure = newMeasure;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, StateBasedAnalysisPackage.STATE_BASED_ANALYSIS__MEASURE, oldMeasure, measure));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getMeasureEvaluationResult() {
+		return measureEvaluationResult;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setMeasureEvaluationResult(String newMeasureEvaluationResult) {
+		String oldMeasureEvaluationResult = measureEvaluationResult;
+		measureEvaluationResult = newMeasureEvaluationResult;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, StateBasedAnalysisPackage.STATE_BASED_ANALYSIS__MEASURE_EVALUATION_RESULT, oldMeasureEvaluationResult, measureEvaluationResult));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getEvalMethod() {
+		return evalMethod;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setEvalMethod(String newEvalMethod) {
+		String oldEvalMethod = evalMethod;
+		evalMethod = newEvalMethod;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, StateBasedAnalysisPackage.STATE_BASED_ANALYSIS__EVAL_METHOD, oldEvalMethod, evalMethod));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<FailureMode> getTargetFailureMode() {
+		if (targetFailureMode == null) {
+			targetFailureMode = new EObjectResolvingEList<FailureMode>(FailureMode.class, this, StateBasedAnalysisPackage.STATE_BASED_ANALYSIS__TARGET_FAILURE_MODE);
+		}
+		return targetFailureMode;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<InstanceSpecification> getTargetDepComponent() {
+		if (targetDepComponent == null) {
+			targetDepComponent = new EObjectResolvingEList<InstanceSpecification>(InstanceSpecification.class, this, StateBasedAnalysisPackage.STATE_BASED_ANALYSIS__TARGET_DEP_COMPONENT);
+		}
+		return targetDepComponent;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public InstanceSpecification getTargetDepComponent(String name) {
+		return getTargetDepComponent(name, false, null);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public InstanceSpecification getTargetDepComponent(String name, boolean ignoreCase, EClass eClass) {
+		targetDepComponentLoop: for (InstanceSpecification targetDepComponent : getTargetDepComponent()) {
+			if (eClass != null && !eClass.isInstance(targetDepComponent))
+				continue targetDepComponentLoop;
+			if (name != null && !(ignoreCase ? name.equalsIgnoreCase(targetDepComponent.getName()) : name.equals(targetDepComponent.getName())))
+				continue targetDepComponentLoop;
+			return targetDepComponent;
+		}
+		return null;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case StateBasedAnalysisPackage.STATE_BASED_ANALYSIS__MEASURE:
+				return getMeasure();
+			case StateBasedAnalysisPackage.STATE_BASED_ANALYSIS__MEASURE_EVALUATION_RESULT:
+				return getMeasureEvaluationResult();
+			case StateBasedAnalysisPackage.STATE_BASED_ANALYSIS__EVAL_METHOD:
+				return getEvalMethod();
+			case StateBasedAnalysisPackage.STATE_BASED_ANALYSIS__TARGET_FAILURE_MODE:
+				return getTargetFailureMode();
+			case StateBasedAnalysisPackage.STATE_BASED_ANALYSIS__TARGET_DEP_COMPONENT:
+				return getTargetDepComponent();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case StateBasedAnalysisPackage.STATE_BASED_ANALYSIS__MEASURE:
+				setMeasure((String)newValue);
+				return;
+			case StateBasedAnalysisPackage.STATE_BASED_ANALYSIS__MEASURE_EVALUATION_RESULT:
+				setMeasureEvaluationResult((String)newValue);
+				return;
+			case StateBasedAnalysisPackage.STATE_BASED_ANALYSIS__EVAL_METHOD:
+				setEvalMethod((String)newValue);
+				return;
+			case StateBasedAnalysisPackage.STATE_BASED_ANALYSIS__TARGET_FAILURE_MODE:
+				getTargetFailureMode().clear();
+				getTargetFailureMode().addAll((Collection<? extends FailureMode>)newValue);
+				return;
+			case StateBasedAnalysisPackage.STATE_BASED_ANALYSIS__TARGET_DEP_COMPONENT:
+				getTargetDepComponent().clear();
+				getTargetDepComponent().addAll((Collection<? extends InstanceSpecification>)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case StateBasedAnalysisPackage.STATE_BASED_ANALYSIS__MEASURE:
+				setMeasure(MEASURE_EDEFAULT);
+				return;
+			case StateBasedAnalysisPackage.STATE_BASED_ANALYSIS__MEASURE_EVALUATION_RESULT:
+				setMeasureEvaluationResult(MEASURE_EVALUATION_RESULT_EDEFAULT);
+				return;
+			case StateBasedAnalysisPackage.STATE_BASED_ANALYSIS__EVAL_METHOD:
+				setEvalMethod(EVAL_METHOD_EDEFAULT);
+				return;
+			case StateBasedAnalysisPackage.STATE_BASED_ANALYSIS__TARGET_FAILURE_MODE:
+				getTargetFailureMode().clear();
+				return;
+			case StateBasedAnalysisPackage.STATE_BASED_ANALYSIS__TARGET_DEP_COMPONENT:
+				getTargetDepComponent().clear();
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case StateBasedAnalysisPackage.STATE_BASED_ANALYSIS__MEASURE:
+				return MEASURE_EDEFAULT == null ? measure != null : !MEASURE_EDEFAULT.equals(measure);
+			case StateBasedAnalysisPackage.STATE_BASED_ANALYSIS__MEASURE_EVALUATION_RESULT:
+				return MEASURE_EVALUATION_RESULT_EDEFAULT == null ? measureEvaluationResult != null : !MEASURE_EVALUATION_RESULT_EDEFAULT.equals(measureEvaluationResult);
+			case StateBasedAnalysisPackage.STATE_BASED_ANALYSIS__EVAL_METHOD:
+				return EVAL_METHOD_EDEFAULT == null ? evalMethod != null : !EVAL_METHOD_EDEFAULT.equals(evalMethod);
+			case StateBasedAnalysisPackage.STATE_BASED_ANALYSIS__TARGET_FAILURE_MODE:
+				return targetFailureMode != null && !targetFailureMode.isEmpty();
+			case StateBasedAnalysisPackage.STATE_BASED_ANALYSIS__TARGET_DEP_COMPONENT:
+				return targetDepComponent != null && !targetDepComponent.isEmpty();
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (measure: ");
+		result.append(measure);
+		result.append(", measureEvaluationResult: ");
+		result.append(measureEvaluationResult);
+		result.append(", evalMethod: ");
+		result.append(evalMethod);
+		result.append(')');
+		return result.toString();
+	}
+
+} //StateBasedAnalysisImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedAnalysis/impl/StateBasedAnalysisPackageImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedAnalysis/impl/StateBasedAnalysisPackageImpl.java
new file mode 100644
index 000000000..24b241693
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedAnalysis/impl/StateBasedAnalysisPackageImpl.java
@@ -0,0 +1,369 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+import org.eclipse.papyrus.MARTE.MARTEPackage;
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.GQAM.GQAMPackage;
+import org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.BasicNFP_TypesPackage;
+import org.eclipse.papyrus.MARTE_Library.GRM_BasicTypes.GRM_BasicTypesPackage;
+import org.eclipse.papyrus.MARTE_Library.MARTE_DataTypes.MARTE_DataTypesPackage;
+import org.eclipse.papyrus.MARTE_Library.MARTE_PrimitivesTypes.MARTE_PrimitivesTypesPackage;
+import org.eclipse.papyrus.MARTE_Library.MeasurementUnits.MeasurementUnitsPackage;
+import org.eclipse.papyrus.MARTE_Library.RS_Library.RS_LibraryPackage;
+import org.eclipse.papyrus.MARTE_Library.TimeLibrary.TimeLibraryPackage;
+import org.eclipse.papyrus.MARTE_Library.TimeTypesLibrary.TimeTypesLibraryPackage;
+import org.eclipse.uml2.types.TypesPackage;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.polarsys.chess.chessmlprofile.chessmlprofilePackage;
+import org.polarsys.chess.chessmlprofile.ComponentModel.ComponentModelPackage;
+import org.polarsys.chess.chessmlprofile.ComponentModel.impl.ComponentModelPackageImpl;
+import org.polarsys.chess.chessmlprofile.Core.CorePackage;
+import org.polarsys.chess.chessmlprofile.Core.CHESSViews.CHESSViewsPackage;
+import org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl.CHESSViewsPackageImpl;
+import org.polarsys.chess.chessmlprofile.Core.impl.CorePackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.DataFlowCallGraph.DataFlowCallGraphPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.DataFlowCallGraph.impl.DataFlowCallGraphPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.DependableComponentPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.impl.DependableComponentPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEAPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEADataTypes.FMEADataTypesPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEADataTypes.impl.FMEADataTypesPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.impl.FMEAPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.FailurePropagationDataTypesPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.impl.FailurePropagationDataTypesPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl.FailurePropagationPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans.MitigationMeansPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans.impl.MitigationMeansPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.FaultTolerancePackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.impl.FaultTolerancePackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.MaintenanceMonitoringPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.impl.MaintenanceMonitoringPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.StateBasedAnalysis;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.StateBasedAnalysisFactory;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.StateBasedAnalysisPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StateBasedComponentsPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.impl.StateBasedComponentsPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.StateBasedDataTypesPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.impl.StateBasedDataTypesPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatsPropagationPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.ThreatsPropagationPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.DeploymentConfAnalysisPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.impl.DeploymentConfAnalysisPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HardwareBaselinePackage;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.HardwareBaselinePackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTComponentModelPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.RTDataTypesPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.impl.RTDataTypesPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.impl.RTComponentModelPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingAnalysisPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.TimingConstraintsPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.impl.TimingConstraintsPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.impl.TimingAnalysisPackageImpl;
+import org.polarsys.chess.chessmlprofile.impl.chessmlprofilePackageImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class StateBasedAnalysisPackageImpl extends EPackageImpl implements StateBasedAnalysisPackage {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass stateBasedAnalysisEClass = null;
+
+	/**
+	 * Creates an instance of the model <b>Package</b>, registered with
+	 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+	 * package URI value.
+	 * <p>Note: the correct way to create the package is via the static
+	 * factory method {@link #init init()}, which also performs
+	 * initialization of the package, or returns the registered package,
+	 * if one already exists.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.emf.ecore.EPackage.Registry
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.StateBasedAnalysisPackage#eNS_URI
+	 * @see #init()
+	 * @generated
+	 */
+	private StateBasedAnalysisPackageImpl() {
+		super(eNS_URI, StateBasedAnalysisFactory.eINSTANCE);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static boolean isInited = false;
+
+	/**
+	 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+	 * 
+	 * <p>This method is used to initialize {@link StateBasedAnalysisPackage#eINSTANCE} when that field is accessed.
+	 * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #eNS_URI
+	 * @see #createPackageContents()
+	 * @see #initializePackageContents()
+	 * @generated
+	 */
+	public static StateBasedAnalysisPackage init() {
+		if (isInited) return (StateBasedAnalysisPackage)EPackage.Registry.INSTANCE.getEPackage(StateBasedAnalysisPackage.eNS_URI);
+
+		// Obtain or create and register package
+		StateBasedAnalysisPackageImpl theStateBasedAnalysisPackage = (StateBasedAnalysisPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof StateBasedAnalysisPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new StateBasedAnalysisPackageImpl());
+
+		isInited = true;
+
+		// Initialize simple dependencies
+		MARTEPackage.eINSTANCE.eClass();
+		MeasurementUnitsPackage.eINSTANCE.eClass();
+		GRM_BasicTypesPackage.eINSTANCE.eClass();
+		MARTE_DataTypesPackage.eINSTANCE.eClass();
+		BasicNFP_TypesPackage.eINSTANCE.eClass();
+		TimeTypesLibraryPackage.eINSTANCE.eClass();
+		TimeLibraryPackage.eINSTANCE.eClass();
+		RS_LibraryPackage.eINSTANCE.eClass();
+		MARTE_PrimitivesTypesPackage.eINSTANCE.eClass();
+		BasicNFP_TypesPackage.eINSTANCE.eClass();
+
+		// Obtain or create and register interdependencies
+		chessmlprofilePackageImpl thechessmlprofilePackage = (chessmlprofilePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(chessmlprofilePackage.eNS_URI) instanceof chessmlprofilePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(chessmlprofilePackage.eNS_URI) : chessmlprofilePackage.eINSTANCE);
+		CorePackageImpl theCorePackage = (CorePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(CorePackage.eNS_URI) instanceof CorePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(CorePackage.eNS_URI) : CorePackage.eINSTANCE);
+		CHESSViewsPackageImpl theCHESSViewsPackage = (CHESSViewsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(CHESSViewsPackage.eNS_URI) instanceof CHESSViewsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(CHESSViewsPackage.eNS_URI) : CHESSViewsPackage.eINSTANCE);
+		FailurePropagationPackageImpl theFailurePropagationPackage = (FailurePropagationPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FailurePropagationPackage.eNS_URI) instanceof FailurePropagationPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FailurePropagationPackage.eNS_URI) : FailurePropagationPackage.eINSTANCE);
+		FailurePropagationDataTypesPackageImpl theFailurePropagationDataTypesPackage = (FailurePropagationDataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FailurePropagationDataTypesPackage.eNS_URI) instanceof FailurePropagationDataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FailurePropagationDataTypesPackage.eNS_URI) : FailurePropagationDataTypesPackage.eINSTANCE);
+		DependableComponentPackageImpl theDependableComponentPackage = (DependableComponentPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DependableComponentPackage.eNS_URI) instanceof DependableComponentPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DependableComponentPackage.eNS_URI) : DependableComponentPackage.eINSTANCE);
+		ThreatsPropagationPackageImpl theThreatsPropagationPackage = (ThreatsPropagationPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ThreatsPropagationPackage.eNS_URI) instanceof ThreatsPropagationPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ThreatsPropagationPackage.eNS_URI) : ThreatsPropagationPackage.eINSTANCE);
+		DataFlowCallGraphPackageImpl theDataFlowCallGraphPackage = (DataFlowCallGraphPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DataFlowCallGraphPackage.eNS_URI) instanceof DataFlowCallGraphPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DataFlowCallGraphPackage.eNS_URI) : DataFlowCallGraphPackage.eINSTANCE);
+		StateBasedDataTypesPackageImpl theStateBasedDataTypesPackage = (StateBasedDataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(StateBasedDataTypesPackage.eNS_URI) instanceof StateBasedDataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(StateBasedDataTypesPackage.eNS_URI) : StateBasedDataTypesPackage.eINSTANCE);
+		StateBasedComponentsPackageImpl theStateBasedComponentsPackage = (StateBasedComponentsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(StateBasedComponentsPackage.eNS_URI) instanceof StateBasedComponentsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(StateBasedComponentsPackage.eNS_URI) : StateBasedComponentsPackage.eINSTANCE);
+		FaultTolerancePackageImpl theFaultTolerancePackage = (FaultTolerancePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FaultTolerancePackage.eNS_URI) instanceof FaultTolerancePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FaultTolerancePackage.eNS_URI) : FaultTolerancePackage.eINSTANCE);
+		MaintenanceMonitoringPackageImpl theMaintenanceMonitoringPackage = (MaintenanceMonitoringPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(MaintenanceMonitoringPackage.eNS_URI) instanceof MaintenanceMonitoringPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(MaintenanceMonitoringPackage.eNS_URI) : MaintenanceMonitoringPackage.eINSTANCE);
+		FMEAPackageImpl theFMEAPackage = (FMEAPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FMEAPackage.eNS_URI) instanceof FMEAPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FMEAPackage.eNS_URI) : FMEAPackage.eINSTANCE);
+		FMEADataTypesPackageImpl theFMEADataTypesPackage = (FMEADataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FMEADataTypesPackage.eNS_URI) instanceof FMEADataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FMEADataTypesPackage.eNS_URI) : FMEADataTypesPackage.eINSTANCE);
+		MitigationMeansPackageImpl theMitigationMeansPackage = (MitigationMeansPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(MitigationMeansPackage.eNS_URI) instanceof MitigationMeansPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(MitigationMeansPackage.eNS_URI) : MitigationMeansPackage.eINSTANCE);
+		TimingAnalysisPackageImpl theTimingAnalysisPackage = (TimingAnalysisPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimingAnalysisPackage.eNS_URI) instanceof TimingAnalysisPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimingAnalysisPackage.eNS_URI) : TimingAnalysisPackage.eINSTANCE);
+		TimingConstraintsPackageImpl theTimingConstraintsPackage = (TimingConstraintsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimingConstraintsPackage.eNS_URI) instanceof TimingConstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimingConstraintsPackage.eNS_URI) : TimingConstraintsPackage.eINSTANCE);
+		HardwareBaselinePackageImpl theHardwareBaselinePackage = (HardwareBaselinePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HardwareBaselinePackage.eNS_URI) instanceof HardwareBaselinePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HardwareBaselinePackage.eNS_URI) : HardwareBaselinePackage.eINSTANCE);
+		DeploymentConfAnalysisPackageImpl theDeploymentConfAnalysisPackage = (DeploymentConfAnalysisPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DeploymentConfAnalysisPackage.eNS_URI) instanceof DeploymentConfAnalysisPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DeploymentConfAnalysisPackage.eNS_URI) : DeploymentConfAnalysisPackage.eINSTANCE);
+		RTComponentModelPackageImpl theRTComponentModelPackage = (RTComponentModelPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RTComponentModelPackage.eNS_URI) instanceof RTComponentModelPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RTComponentModelPackage.eNS_URI) : RTComponentModelPackage.eINSTANCE);
+		RTDataTypesPackageImpl theRTDataTypesPackage = (RTDataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RTDataTypesPackage.eNS_URI) instanceof RTDataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RTDataTypesPackage.eNS_URI) : RTDataTypesPackage.eINSTANCE);
+		ComponentModelPackageImpl theComponentModelPackage = (ComponentModelPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ComponentModelPackage.eNS_URI) instanceof ComponentModelPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ComponentModelPackage.eNS_URI) : ComponentModelPackage.eINSTANCE);
+
+		// Create package meta-data objects
+		theStateBasedAnalysisPackage.createPackageContents();
+		thechessmlprofilePackage.createPackageContents();
+		theCorePackage.createPackageContents();
+		theCHESSViewsPackage.createPackageContents();
+		theFailurePropagationPackage.createPackageContents();
+		theFailurePropagationDataTypesPackage.createPackageContents();
+		theDependableComponentPackage.createPackageContents();
+		theThreatsPropagationPackage.createPackageContents();
+		theDataFlowCallGraphPackage.createPackageContents();
+		theStateBasedDataTypesPackage.createPackageContents();
+		theStateBasedComponentsPackage.createPackageContents();
+		theFaultTolerancePackage.createPackageContents();
+		theMaintenanceMonitoringPackage.createPackageContents();
+		theFMEAPackage.createPackageContents();
+		theFMEADataTypesPackage.createPackageContents();
+		theMitigationMeansPackage.createPackageContents();
+		theTimingAnalysisPackage.createPackageContents();
+		theTimingConstraintsPackage.createPackageContents();
+		theHardwareBaselinePackage.createPackageContents();
+		theDeploymentConfAnalysisPackage.createPackageContents();
+		theRTComponentModelPackage.createPackageContents();
+		theRTDataTypesPackage.createPackageContents();
+		theComponentModelPackage.createPackageContents();
+
+		// Initialize created meta-data
+		theStateBasedAnalysisPackage.initializePackageContents();
+		thechessmlprofilePackage.initializePackageContents();
+		theCorePackage.initializePackageContents();
+		theCHESSViewsPackage.initializePackageContents();
+		theFailurePropagationPackage.initializePackageContents();
+		theFailurePropagationDataTypesPackage.initializePackageContents();
+		theDependableComponentPackage.initializePackageContents();
+		theThreatsPropagationPackage.initializePackageContents();
+		theDataFlowCallGraphPackage.initializePackageContents();
+		theStateBasedDataTypesPackage.initializePackageContents();
+		theStateBasedComponentsPackage.initializePackageContents();
+		theFaultTolerancePackage.initializePackageContents();
+		theMaintenanceMonitoringPackage.initializePackageContents();
+		theFMEAPackage.initializePackageContents();
+		theFMEADataTypesPackage.initializePackageContents();
+		theMitigationMeansPackage.initializePackageContents();
+		theTimingAnalysisPackage.initializePackageContents();
+		theTimingConstraintsPackage.initializePackageContents();
+		theHardwareBaselinePackage.initializePackageContents();
+		theDeploymentConfAnalysisPackage.initializePackageContents();
+		theRTComponentModelPackage.initializePackageContents();
+		theRTDataTypesPackage.initializePackageContents();
+		theComponentModelPackage.initializePackageContents();
+
+		// Mark meta-data to indicate it can't be changed
+		theStateBasedAnalysisPackage.freeze();
+
+  
+		// Update the registry and return the package
+		EPackage.Registry.INSTANCE.put(StateBasedAnalysisPackage.eNS_URI, theStateBasedAnalysisPackage);
+		return theStateBasedAnalysisPackage;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getStateBasedAnalysis() {
+		return stateBasedAnalysisEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getStateBasedAnalysis_Measure() {
+		return (EAttribute)stateBasedAnalysisEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getStateBasedAnalysis_MeasureEvaluationResult() {
+		return (EAttribute)stateBasedAnalysisEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getStateBasedAnalysis_EvalMethod() {
+		return (EAttribute)stateBasedAnalysisEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getStateBasedAnalysis_TargetFailureMode() {
+		return (EReference)stateBasedAnalysisEClass.getEStructuralFeatures().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getStateBasedAnalysis_TargetDepComponent() {
+		return (EReference)stateBasedAnalysisEClass.getEStructuralFeatures().get(4);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public StateBasedAnalysisFactory getStateBasedAnalysisFactory() {
+		return (StateBasedAnalysisFactory)getEFactoryInstance();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isCreated = false;
+
+	/**
+	 * Creates the meta-model objects for the package.  This method is
+	 * guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void createPackageContents() {
+		if (isCreated) return;
+		isCreated = true;
+
+		// Create classes and their features
+		stateBasedAnalysisEClass = createEClass(STATE_BASED_ANALYSIS);
+		createEAttribute(stateBasedAnalysisEClass, STATE_BASED_ANALYSIS__MEASURE);
+		createEAttribute(stateBasedAnalysisEClass, STATE_BASED_ANALYSIS__MEASURE_EVALUATION_RESULT);
+		createEAttribute(stateBasedAnalysisEClass, STATE_BASED_ANALYSIS__EVAL_METHOD);
+		createEReference(stateBasedAnalysisEClass, STATE_BASED_ANALYSIS__TARGET_FAILURE_MODE);
+		createEReference(stateBasedAnalysisEClass, STATE_BASED_ANALYSIS__TARGET_DEP_COMPONENT);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isInitialized = false;
+
+	/**
+	 * Complete the initialization of the package and its meta-model.  This
+	 * method is guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void initializePackageContents() {
+		if (isInitialized) return;
+		isInitialized = true;
+
+		// Initialize package
+		setName(eNAME);
+		setNsPrefix(eNS_PREFIX);
+		setNsURI(eNS_URI);
+
+		// Obtain other dependent packages
+		GQAMPackage theGQAMPackage = (GQAMPackage)EPackage.Registry.INSTANCE.getEPackage(GQAMPackage.eNS_URI);
+		TypesPackage theTypesPackage = (TypesPackage)EPackage.Registry.INSTANCE.getEPackage(TypesPackage.eNS_URI);
+		ThreatsPropagationPackage theThreatsPropagationPackage = (ThreatsPropagationPackage)EPackage.Registry.INSTANCE.getEPackage(ThreatsPropagationPackage.eNS_URI);
+		UMLPackage theUMLPackage = (UMLPackage)EPackage.Registry.INSTANCE.getEPackage(UMLPackage.eNS_URI);
+
+		// Create type parameters
+
+		// Set bounds for type parameters
+
+		// Add supertypes to classes
+		stateBasedAnalysisEClass.getESuperTypes().add(theGQAMPackage.getGaAnalysisContext());
+
+		// Initialize classes and features; add operations and parameters
+		initEClass(stateBasedAnalysisEClass, StateBasedAnalysis.class, "StateBasedAnalysis", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getStateBasedAnalysis_Measure(), theTypesPackage.getString(), "measure", null, 1, 1, StateBasedAnalysis.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getStateBasedAnalysis_MeasureEvaluationResult(), theTypesPackage.getString(), "measureEvaluationResult", null, 1, 1, StateBasedAnalysis.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getStateBasedAnalysis_EvalMethod(), theTypesPackage.getString(), "evalMethod", null, 1, 1, StateBasedAnalysis.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEReference(getStateBasedAnalysis_TargetFailureMode(), theThreatsPropagationPackage.getFailureMode(), null, "targetFailureMode", null, 0, -1, StateBasedAnalysis.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEReference(getStateBasedAnalysis_TargetDepComponent(), theUMLPackage.getInstanceSpecification(), null, "targetDepComponent", null, 0, -1, StateBasedAnalysis.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+	}
+
+} //StateBasedAnalysisPackageImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedAnalysis/util/StateBasedAnalysisAdapterFactory.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedAnalysis/util/StateBasedAnalysisAdapterFactory.java
new file mode 100644
index 000000000..8e3e4c096
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedAnalysis/util/StateBasedAnalysisAdapterFactory.java
@@ -0,0 +1,183 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.GQAM.GaAnalysisContext;
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.ExpressionContext;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.CoreElements.Configuration;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.StateBasedAnalysisPackage
+ * @generated
+ */
+public class StateBasedAnalysisAdapterFactory extends AdapterFactoryImpl {
+	/**
+	 * The cached model package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static StateBasedAnalysisPackage modelPackage;
+
+	/**
+	 * Creates an instance of the adapter factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public StateBasedAnalysisAdapterFactory() {
+		if (modelPackage == null) {
+			modelPackage = StateBasedAnalysisPackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Returns whether this factory is applicable for the type of the object.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+	 * <!-- end-user-doc -->
+	 * @return whether this factory is applicable for the type of the object.
+	 * @generated
+	 */
+	@Override
+	public boolean isFactoryForType(Object object) {
+		if (object == modelPackage) {
+			return true;
+		}
+		if (object instanceof EObject) {
+			return ((EObject)object).eClass().getEPackage() == modelPackage;
+		}
+		return false;
+	}
+
+	/**
+	 * The switch that delegates to the <code>createXXX</code> methods.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected StateBasedAnalysisSwitch<Adapter> modelSwitch =
+		new StateBasedAnalysisSwitch<Adapter>() {
+			@Override
+			public Adapter caseStateBasedAnalysis(StateBasedAnalysis object) {
+				return createStateBasedAnalysisAdapter();
+			}
+			@Override
+			public Adapter caseConfiguration(Configuration object) {
+				return createConfigurationAdapter();
+			}
+			@Override
+			public Adapter caseExpressionContext(ExpressionContext object) {
+				return createExpressionContextAdapter();
+			}
+			@Override
+			public Adapter caseGaAnalysisContext(GaAnalysisContext object) {
+				return createGaAnalysisContextAdapter();
+			}
+			@Override
+			public Adapter defaultCase(EObject object) {
+				return createEObjectAdapter();
+			}
+		};
+
+	/**
+	 * Creates an adapter for the <code>target</code>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param target the object to adapt.
+	 * @return the adapter for the <code>target</code>.
+	 * @generated
+	 */
+	@Override
+	public Adapter createAdapter(Notifier target) {
+		return modelSwitch.doSwitch((EObject)target);
+	}
+
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.StateBasedAnalysis <em>State Based Analysis</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.StateBasedAnalysis
+	 * @generated
+	 */
+	public Adapter createStateBasedAnalysisAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_Foundations.CoreElements.Configuration <em>Configuration</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.papyrus.MARTE.MARTE_Foundations.CoreElements.Configuration
+	 * @generated
+	 */
+	public Adapter createConfigurationAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.ExpressionContext <em>Expression Context</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.ExpressionContext
+	 * @generated
+	 */
+	public Adapter createExpressionContextAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.GQAM.GaAnalysisContext <em>Ga Analysis Context</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.GQAM.GaAnalysisContext
+	 * @generated
+	 */
+	public Adapter createGaAnalysisContextAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for the default case.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @generated
+	 */
+	public Adapter createEObjectAdapter() {
+		return null;
+	}
+
+} //StateBasedAnalysisAdapterFactory
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedAnalysis/util/StateBasedAnalysisResourceFactoryImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedAnalysis/util/StateBasedAnalysisResourceFactoryImpl.java
new file mode 100644
index 000000000..c4f0ce92f
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedAnalysis/util/StateBasedAnalysisResourceFactoryImpl.java
@@ -0,0 +1,61 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.util;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.resource.impl.ResourceFactoryImpl;
+
+import org.eclipse.emf.ecore.xmi.XMLResource;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource Factory</b> associated with the package.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.util.StateBasedAnalysisResourceImpl
+ * @generated
+ */
+public class StateBasedAnalysisResourceFactoryImpl extends ResourceFactoryImpl {
+	/**
+	 * Creates an instance of the resource factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public StateBasedAnalysisResourceFactoryImpl() {
+		super();
+	}
+
+	/**
+	 * Creates an instance of the resource.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Resource createResource(URI uri) {
+		XMLResource result = new StateBasedAnalysisResourceImpl(uri);
+		result.getDefaultSaveOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
+		result.getDefaultLoadOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
+
+		result.getDefaultSaveOptions().put(XMLResource.OPTION_SCHEMA_LOCATION, Boolean.TRUE);
+
+		result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+		result.getDefaultSaveOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+
+		result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_LEXICAL_HANDLER, Boolean.TRUE);
+		return result;
+	}
+
+} //StateBasedAnalysisResourceFactoryImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedAnalysis/util/StateBasedAnalysisResourceImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedAnalysis/util/StateBasedAnalysisResourceImpl.java
new file mode 100644
index 000000000..641b36c9c
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedAnalysis/util/StateBasedAnalysisResourceImpl.java
@@ -0,0 +1,37 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.util;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource </b> associated with the package.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.util.StateBasedAnalysisResourceFactoryImpl
+ * @generated
+ */
+public class StateBasedAnalysisResourceImpl extends XMLResourceImpl {
+	/**
+	 * Creates an instance of the resource.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param uri the URI of the new resource.
+	 * @generated
+	 */
+	public StateBasedAnalysisResourceImpl(URI uri) {
+		super(uri);
+	}
+
+} //StateBasedAnalysisResourceImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedAnalysis/util/StateBasedAnalysisSwitch.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedAnalysis/util/StateBasedAnalysisSwitch.java
new file mode 100644
index 000000000..1ca1fd997
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedAnalysis/util/StateBasedAnalysisSwitch.java
@@ -0,0 +1,171 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.util;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.util.Switch;
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.GQAM.GaAnalysisContext;
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.ExpressionContext;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.CoreElements.Configuration;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.StateBasedAnalysisPackage
+ * @generated
+ */
+public class StateBasedAnalysisSwitch<T> extends Switch<T> {
+	/**
+	 * The cached model package
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static StateBasedAnalysisPackage modelPackage;
+
+	/**
+	 * Creates an instance of the switch.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public StateBasedAnalysisSwitch() {
+		if (modelPackage == null) {
+			modelPackage = StateBasedAnalysisPackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Checks whether this is a switch for the given package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @parameter ePackage the package in question.
+	 * @return whether this is a switch for the given package.
+	 * @generated
+	 */
+	@Override
+	protected boolean isSwitchFor(EPackage ePackage) {
+		return ePackage == modelPackage;
+	}
+
+	/**
+	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the first non-null result returned by a <code>caseXXX</code> call.
+	 * @generated
+	 */
+	@Override
+	protected T doSwitch(int classifierID, EObject theEObject) {
+		switch (classifierID) {
+			case StateBasedAnalysisPackage.STATE_BASED_ANALYSIS: {
+				StateBasedAnalysis stateBasedAnalysis = (StateBasedAnalysis)theEObject;
+				T result = caseStateBasedAnalysis(stateBasedAnalysis);
+				if (result == null) result = caseGaAnalysisContext(stateBasedAnalysis);
+				if (result == null) result = caseConfiguration(stateBasedAnalysis);
+				if (result == null) result = caseExpressionContext(stateBasedAnalysis);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			default: return defaultCase(theEObject);
+		}
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>State Based Analysis</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>State Based Analysis</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseStateBasedAnalysis(StateBasedAnalysis object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Configuration</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Configuration</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseConfiguration(Configuration object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Expression Context</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Expression Context</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseExpressionContext(ExpressionContext object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Ga Analysis Context</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Ga Analysis Context</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseGaAnalysisContext(GaAnalysisContext object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch, but this is the last case anyway.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+	 * @generated
+	 */
+	@Override
+	public T defaultCase(EObject object) {
+		return null;
+	}
+
+} //StateBasedAnalysisSwitch
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedAnalysis/util/StateBasedAnalysisXMLProcessor.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedAnalysis/util/StateBasedAnalysisXMLProcessor.java
new file mode 100644
index 000000000..0a62455c6
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedAnalysis/util/StateBasedAnalysisXMLProcessor.java
@@ -0,0 +1,56 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.util;
+
+import java.util.Map;
+
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.xmi.util.XMLProcessor;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.StateBasedAnalysisPackage;
+
+/**
+ * This class contains helper methods to serialize and deserialize XML documents
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class StateBasedAnalysisXMLProcessor extends XMLProcessor {
+
+	/**
+	 * Public constructor to instantiate the helper.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public StateBasedAnalysisXMLProcessor() {
+		super((EPackage.Registry.INSTANCE));
+		StateBasedAnalysisPackage.eINSTANCE.eClass();
+	}
+	
+	/**
+	 * Register for "*" and "xml" file extensions the StateBasedAnalysisResourceFactoryImpl factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected Map<String, Resource.Factory> getRegistrations() {
+		if (registrations == null) {
+			super.getRegistrations();
+			registrations.put(XML_EXTENSION, new StateBasedAnalysisResourceFactoryImpl());
+			registrations.put(STAR_EXTENSION, new StateBasedAnalysisResourceFactoryImpl());
+		}
+		return registrations;
+	}
+
+} //StateBasedAnalysisXMLProcessor
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedComponents/StateBasedComponentsFactory.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedComponents/StateBasedComponentsFactory.java
new file mode 100644
index 000000000..75230ddf5
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedComponents/StateBasedComponentsFactory.java
@@ -0,0 +1,78 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StateBasedComponentsPackage
+ * @generated
+ */
+public interface StateBasedComponentsFactory extends EFactory {
+	/**
+	 * The singleton instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	StateBasedComponentsFactory eINSTANCE = org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.impl.StateBasedComponentsFactoryImpl.init();
+
+	/**
+	 * Returns a new object of class '<em>Stateful Hardware</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Stateful Hardware</em>'.
+	 * @generated
+	 */
+	StatefulHardware createStatefulHardware();
+
+	/**
+	 * Returns a new object of class '<em>Stateful Software</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Stateful Software</em>'.
+	 * @generated
+	 */
+	StatefulSoftware createStatefulSoftware();
+
+	/**
+	 * Returns a new object of class '<em>Stateless Hardware</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Stateless Hardware</em>'.
+	 * @generated
+	 */
+	StatelessHardware createStatelessHardware();
+
+	/**
+	 * Returns a new object of class '<em>Stateless Software</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Stateless Software</em>'.
+	 * @generated
+	 */
+	StatelessSoftware createStatelessSoftware();
+
+	/**
+	 * Returns the package supported by this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the package supported by this factory.
+	 * @generated
+	 */
+	StateBasedComponentsPackage getStateBasedComponentsPackage();
+
+} //StateBasedComponentsFactory
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedComponents/StateBasedComponentsPackage.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedComponents/StateBasedComponentsPackage.java
new file mode 100644
index 000000000..f338f5536
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedComponents/StateBasedComponentsPackage.java
@@ -0,0 +1,665 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.DependableComponentPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ *   <li>each class,</li>
+ *   <li>each feature of each class,</li>
+ *   <li>each enum,</li>
+ *   <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StateBasedComponentsFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface StateBasedComponentsPackage extends EPackage {
+	/**
+	 * The package name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNAME = "StateBasedComponents";
+
+	/**
+	 * The package namespace URI.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_URI = "http://CHESS/Dependability/StateBased/StateBasedComponents";
+
+	/**
+	 * The package namespace name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_PREFIX = "StateBasedComponents";
+
+	/**
+	 * The singleton instance of the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	StateBasedComponentsPackage eINSTANCE = org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.impl.StateBasedComponentsPackageImpl.init();
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.impl.StatefulHardwareImpl <em>Stateful Hardware</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.impl.StatefulHardwareImpl
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.impl.StateBasedComponentsPackageImpl#getStatefulHardware()
+	 * @generated
+	 */
+	int STATEFUL_HARDWARE = 0;
+
+	/**
+	 * The feature id for the '<em><b>Base Component</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STATEFUL_HARDWARE__BASE_COMPONENT = DependableComponentPackage.DEPENDABLE_COMPONENT__BASE_COMPONENT;
+
+	/**
+	 * The feature id for the '<em><b>Error Model</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STATEFUL_HARDWARE__ERROR_MODEL = DependableComponentPackage.DEPENDABLE_COMPONENT__ERROR_MODEL;
+
+	/**
+	 * The feature id for the '<em><b>Base Property</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STATEFUL_HARDWARE__BASE_PROPERTY = DependableComponentPackage.DEPENDABLE_COMPONENT__BASE_PROPERTY;
+
+	/**
+	 * The feature id for the '<em><b>Prob Perm Fault</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STATEFUL_HARDWARE__PROB_PERM_FAULT = DependableComponentPackage.DEPENDABLE_COMPONENT_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Error Latency</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STATEFUL_HARDWARE__ERROR_LATENCY = DependableComponentPackage.DEPENDABLE_COMPONENT_FEATURE_COUNT + 1;
+
+	/**
+	 * The feature id for the '<em><b>Repair Delay</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STATEFUL_HARDWARE__REPAIR_DELAY = DependableComponentPackage.DEPENDABLE_COMPONENT_FEATURE_COUNT + 2;
+
+	/**
+	 * The feature id for the '<em><b>Fault Occ</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STATEFUL_HARDWARE__FAULT_OCC = DependableComponentPackage.DEPENDABLE_COMPONENT_FEATURE_COUNT + 3;
+
+	/**
+	 * The number of structural features of the '<em>Stateful Hardware</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STATEFUL_HARDWARE_FEATURE_COUNT = DependableComponentPackage.DEPENDABLE_COMPONENT_FEATURE_COUNT + 4;
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.impl.StatefulSoftwareImpl <em>Stateful Software</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.impl.StatefulSoftwareImpl
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.impl.StateBasedComponentsPackageImpl#getStatefulSoftware()
+	 * @generated
+	 */
+	int STATEFUL_SOFTWARE = 1;
+
+	/**
+	 * The feature id for the '<em><b>Base Component</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STATEFUL_SOFTWARE__BASE_COMPONENT = DependableComponentPackage.DEPENDABLE_COMPONENT__BASE_COMPONENT;
+
+	/**
+	 * The feature id for the '<em><b>Error Model</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STATEFUL_SOFTWARE__ERROR_MODEL = DependableComponentPackage.DEPENDABLE_COMPONENT__ERROR_MODEL;
+
+	/**
+	 * The feature id for the '<em><b>Base Property</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STATEFUL_SOFTWARE__BASE_PROPERTY = DependableComponentPackage.DEPENDABLE_COMPONENT__BASE_PROPERTY;
+
+	/**
+	 * The feature id for the '<em><b>Error Latency</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STATEFUL_SOFTWARE__ERROR_LATENCY = DependableComponentPackage.DEPENDABLE_COMPONENT_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Repair Delay</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STATEFUL_SOFTWARE__REPAIR_DELAY = DependableComponentPackage.DEPENDABLE_COMPONENT_FEATURE_COUNT + 1;
+
+	/**
+	 * The feature id for the '<em><b>Fault Occ</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STATEFUL_SOFTWARE__FAULT_OCC = DependableComponentPackage.DEPENDABLE_COMPONENT_FEATURE_COUNT + 2;
+
+	/**
+	 * The number of structural features of the '<em>Stateful Software</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STATEFUL_SOFTWARE_FEATURE_COUNT = DependableComponentPackage.DEPENDABLE_COMPONENT_FEATURE_COUNT + 3;
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.impl.StatelessHardwareImpl <em>Stateless Hardware</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.impl.StatelessHardwareImpl
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.impl.StateBasedComponentsPackageImpl#getStatelessHardware()
+	 * @generated
+	 */
+	int STATELESS_HARDWARE = 2;
+
+	/**
+	 * The feature id for the '<em><b>Base Component</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STATELESS_HARDWARE__BASE_COMPONENT = DependableComponentPackage.DEPENDABLE_COMPONENT__BASE_COMPONENT;
+
+	/**
+	 * The feature id for the '<em><b>Error Model</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STATELESS_HARDWARE__ERROR_MODEL = DependableComponentPackage.DEPENDABLE_COMPONENT__ERROR_MODEL;
+
+	/**
+	 * The feature id for the '<em><b>Base Property</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STATELESS_HARDWARE__BASE_PROPERTY = DependableComponentPackage.DEPENDABLE_COMPONENT__BASE_PROPERTY;
+
+	/**
+	 * The feature id for the '<em><b>Prob Perm Fault</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STATELESS_HARDWARE__PROB_PERM_FAULT = DependableComponentPackage.DEPENDABLE_COMPONENT_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Repair Delay</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STATELESS_HARDWARE__REPAIR_DELAY = DependableComponentPackage.DEPENDABLE_COMPONENT_FEATURE_COUNT + 1;
+
+	/**
+	 * The feature id for the '<em><b>Fault Occ</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STATELESS_HARDWARE__FAULT_OCC = DependableComponentPackage.DEPENDABLE_COMPONENT_FEATURE_COUNT + 2;
+
+	/**
+	 * The number of structural features of the '<em>Stateless Hardware</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STATELESS_HARDWARE_FEATURE_COUNT = DependableComponentPackage.DEPENDABLE_COMPONENT_FEATURE_COUNT + 3;
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.impl.StatelessSoftwareImpl <em>Stateless Software</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.impl.StatelessSoftwareImpl
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.impl.StateBasedComponentsPackageImpl#getStatelessSoftware()
+	 * @generated
+	 */
+	int STATELESS_SOFTWARE = 3;
+
+	/**
+	 * The feature id for the '<em><b>Base Component</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STATELESS_SOFTWARE__BASE_COMPONENT = DependableComponentPackage.DEPENDABLE_COMPONENT__BASE_COMPONENT;
+
+	/**
+	 * The feature id for the '<em><b>Error Model</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STATELESS_SOFTWARE__ERROR_MODEL = DependableComponentPackage.DEPENDABLE_COMPONENT__ERROR_MODEL;
+
+	/**
+	 * The feature id for the '<em><b>Base Property</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STATELESS_SOFTWARE__BASE_PROPERTY = DependableComponentPackage.DEPENDABLE_COMPONENT__BASE_PROPERTY;
+
+	/**
+	 * The feature id for the '<em><b>Fault Occ</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STATELESS_SOFTWARE__FAULT_OCC = DependableComponentPackage.DEPENDABLE_COMPONENT_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of structural features of the '<em>Stateless Software</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STATELESS_SOFTWARE_FEATURE_COUNT = DependableComponentPackage.DEPENDABLE_COMPONENT_FEATURE_COUNT + 1;
+
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StatefulHardware <em>Stateful Hardware</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Stateful Hardware</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StatefulHardware
+	 * @generated
+	 */
+	EClass getStatefulHardware();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StatefulHardware#getProbPermFault <em>Prob Perm Fault</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Prob Perm Fault</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StatefulHardware#getProbPermFault()
+	 * @see #getStatefulHardware()
+	 * @generated
+	 */
+	EAttribute getStatefulHardware_ProbPermFault();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StatefulHardware#getErrorLatency <em>Error Latency</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Error Latency</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StatefulHardware#getErrorLatency()
+	 * @see #getStatefulHardware()
+	 * @generated
+	 */
+	EAttribute getStatefulHardware_ErrorLatency();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StatefulHardware#getRepairDelay <em>Repair Delay</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Repair Delay</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StatefulHardware#getRepairDelay()
+	 * @see #getStatefulHardware()
+	 * @generated
+	 */
+	EAttribute getStatefulHardware_RepairDelay();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StatefulHardware#getFaultOcc <em>Fault Occ</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Fault Occ</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StatefulHardware#getFaultOcc()
+	 * @see #getStatefulHardware()
+	 * @generated
+	 */
+	EAttribute getStatefulHardware_FaultOcc();
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StatefulSoftware <em>Stateful Software</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Stateful Software</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StatefulSoftware
+	 * @generated
+	 */
+	EClass getStatefulSoftware();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StatefulSoftware#getErrorLatency <em>Error Latency</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Error Latency</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StatefulSoftware#getErrorLatency()
+	 * @see #getStatefulSoftware()
+	 * @generated
+	 */
+	EAttribute getStatefulSoftware_ErrorLatency();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StatefulSoftware#getRepairDelay <em>Repair Delay</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Repair Delay</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StatefulSoftware#getRepairDelay()
+	 * @see #getStatefulSoftware()
+	 * @generated
+	 */
+	EAttribute getStatefulSoftware_RepairDelay();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StatefulSoftware#getFaultOcc <em>Fault Occ</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Fault Occ</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StatefulSoftware#getFaultOcc()
+	 * @see #getStatefulSoftware()
+	 * @generated
+	 */
+	EAttribute getStatefulSoftware_FaultOcc();
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StatelessHardware <em>Stateless Hardware</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Stateless Hardware</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StatelessHardware
+	 * @generated
+	 */
+	EClass getStatelessHardware();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StatelessHardware#getProbPermFault <em>Prob Perm Fault</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Prob Perm Fault</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StatelessHardware#getProbPermFault()
+	 * @see #getStatelessHardware()
+	 * @generated
+	 */
+	EAttribute getStatelessHardware_ProbPermFault();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StatelessHardware#getRepairDelay <em>Repair Delay</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Repair Delay</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StatelessHardware#getRepairDelay()
+	 * @see #getStatelessHardware()
+	 * @generated
+	 */
+	EAttribute getStatelessHardware_RepairDelay();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StatelessHardware#getFaultOcc <em>Fault Occ</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Fault Occ</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StatelessHardware#getFaultOcc()
+	 * @see #getStatelessHardware()
+	 * @generated
+	 */
+	EAttribute getStatelessHardware_FaultOcc();
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StatelessSoftware <em>Stateless Software</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Stateless Software</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StatelessSoftware
+	 * @generated
+	 */
+	EClass getStatelessSoftware();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StatelessSoftware#getFaultOcc <em>Fault Occ</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Fault Occ</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StatelessSoftware#getFaultOcc()
+	 * @see #getStatelessSoftware()
+	 * @generated
+	 */
+	EAttribute getStatelessSoftware_FaultOcc();
+
+	/**
+	 * Returns the factory that creates the instances of the model.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the factory that creates the instances of the model.
+	 * @generated
+	 */
+	StateBasedComponentsFactory getStateBasedComponentsFactory();
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * Defines literals for the meta objects that represent
+	 * <ul>
+	 *   <li>each class,</li>
+	 *   <li>each feature of each class,</li>
+	 *   <li>each enum,</li>
+	 *   <li>and each data type</li>
+	 * </ul>
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	interface Literals {
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.impl.StatefulHardwareImpl <em>Stateful Hardware</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.impl.StatefulHardwareImpl
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.impl.StateBasedComponentsPackageImpl#getStatefulHardware()
+		 * @generated
+		 */
+		EClass STATEFUL_HARDWARE = eINSTANCE.getStatefulHardware();
+
+		/**
+		 * The meta object literal for the '<em><b>Prob Perm Fault</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute STATEFUL_HARDWARE__PROB_PERM_FAULT = eINSTANCE.getStatefulHardware_ProbPermFault();
+
+		/**
+		 * The meta object literal for the '<em><b>Error Latency</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute STATEFUL_HARDWARE__ERROR_LATENCY = eINSTANCE.getStatefulHardware_ErrorLatency();
+
+		/**
+		 * The meta object literal for the '<em><b>Repair Delay</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute STATEFUL_HARDWARE__REPAIR_DELAY = eINSTANCE.getStatefulHardware_RepairDelay();
+
+		/**
+		 * The meta object literal for the '<em><b>Fault Occ</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute STATEFUL_HARDWARE__FAULT_OCC = eINSTANCE.getStatefulHardware_FaultOcc();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.impl.StatefulSoftwareImpl <em>Stateful Software</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.impl.StatefulSoftwareImpl
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.impl.StateBasedComponentsPackageImpl#getStatefulSoftware()
+		 * @generated
+		 */
+		EClass STATEFUL_SOFTWARE = eINSTANCE.getStatefulSoftware();
+
+		/**
+		 * The meta object literal for the '<em><b>Error Latency</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute STATEFUL_SOFTWARE__ERROR_LATENCY = eINSTANCE.getStatefulSoftware_ErrorLatency();
+
+		/**
+		 * The meta object literal for the '<em><b>Repair Delay</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute STATEFUL_SOFTWARE__REPAIR_DELAY = eINSTANCE.getStatefulSoftware_RepairDelay();
+
+		/**
+		 * The meta object literal for the '<em><b>Fault Occ</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute STATEFUL_SOFTWARE__FAULT_OCC = eINSTANCE.getStatefulSoftware_FaultOcc();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.impl.StatelessHardwareImpl <em>Stateless Hardware</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.impl.StatelessHardwareImpl
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.impl.StateBasedComponentsPackageImpl#getStatelessHardware()
+		 * @generated
+		 */
+		EClass STATELESS_HARDWARE = eINSTANCE.getStatelessHardware();
+
+		/**
+		 * The meta object literal for the '<em><b>Prob Perm Fault</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute STATELESS_HARDWARE__PROB_PERM_FAULT = eINSTANCE.getStatelessHardware_ProbPermFault();
+
+		/**
+		 * The meta object literal for the '<em><b>Repair Delay</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute STATELESS_HARDWARE__REPAIR_DELAY = eINSTANCE.getStatelessHardware_RepairDelay();
+
+		/**
+		 * The meta object literal for the '<em><b>Fault Occ</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute STATELESS_HARDWARE__FAULT_OCC = eINSTANCE.getStatelessHardware_FaultOcc();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.impl.StatelessSoftwareImpl <em>Stateless Software</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.impl.StatelessSoftwareImpl
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.impl.StateBasedComponentsPackageImpl#getStatelessSoftware()
+		 * @generated
+		 */
+		EClass STATELESS_SOFTWARE = eINSTANCE.getStatelessSoftware();
+
+		/**
+		 * The meta object literal for the '<em><b>Fault Occ</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute STATELESS_SOFTWARE__FAULT_OCC = eINSTANCE.getStatelessSoftware_FaultOcc();
+
+	}
+
+} //StateBasedComponentsPackage
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedComponents/StatefulHardware.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedComponents/StatefulHardware.java
new file mode 100644
index 000000000..3dc38fcc8
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedComponents/StatefulHardware.java
@@ -0,0 +1,140 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents;
+
+import org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.DependableComponent;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Stateful Hardware</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StatefulHardware#getProbPermFault <em>Prob Perm Fault</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StatefulHardware#getErrorLatency <em>Error Latency</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StatefulHardware#getRepairDelay <em>Repair Delay</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StatefulHardware#getFaultOcc <em>Fault Occ</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StateBasedComponentsPackage#getStatefulHardware()
+ * @model
+ * @generated
+ */
+public interface StatefulHardware extends DependableComponent {
+	/**
+	 * Returns the value of the '<em><b>Prob Perm Fault</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Prob Perm Fault</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Prob Perm Fault</em>' attribute.
+	 * @see #setProbPermFault(String)
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StateBasedComponentsPackage#getStatefulHardware_ProbPermFault()
+	 * @model dataType="org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.NFP_Real" required="true" ordered="false"
+	 * @generated
+	 */
+	String getProbPermFault();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StatefulHardware#getProbPermFault <em>Prob Perm Fault</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Prob Perm Fault</em>' attribute.
+	 * @see #getProbPermFault()
+	 * @generated
+	 */
+	void setProbPermFault(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Error Latency</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Error Latency</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Error Latency</em>' attribute.
+	 * @see #setErrorLatency(String)
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StateBasedComponentsPackage#getStatefulHardware_ErrorLatency()
+	 * @model dataType="org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.NFP_Duration" required="true" ordered="false"
+	 * @generated
+	 */
+	String getErrorLatency();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StatefulHardware#getErrorLatency <em>Error Latency</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Error Latency</em>' attribute.
+	 * @see #getErrorLatency()
+	 * @generated
+	 */
+	void setErrorLatency(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Repair Delay</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Repair Delay</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Repair Delay</em>' attribute.
+	 * @see #setRepairDelay(String)
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StateBasedComponentsPackage#getStatefulHardware_RepairDelay()
+	 * @model dataType="org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.NFP_Duration" required="true" ordered="false"
+	 * @generated
+	 */
+	String getRepairDelay();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StatefulHardware#getRepairDelay <em>Repair Delay</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Repair Delay</em>' attribute.
+	 * @see #getRepairDelay()
+	 * @generated
+	 */
+	void setRepairDelay(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Fault Occ</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Fault Occ</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Fault Occ</em>' attribute.
+	 * @see #setFaultOcc(String)
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StateBasedComponentsPackage#getStatefulHardware_FaultOcc()
+	 * @model dataType="org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.NFP_Frequency" ordered="false"
+	 * @generated
+	 */
+	String getFaultOcc();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StatefulHardware#getFaultOcc <em>Fault Occ</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Fault Occ</em>' attribute.
+	 * @see #getFaultOcc()
+	 * @generated
+	 */
+	void setFaultOcc(String value);
+
+} // StatefulHardware
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedComponents/StatefulSoftware.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedComponents/StatefulSoftware.java
new file mode 100644
index 000000000..126904621
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedComponents/StatefulSoftware.java
@@ -0,0 +1,113 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents;
+
+import org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.DependableComponent;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Stateful Software</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StatefulSoftware#getErrorLatency <em>Error Latency</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StatefulSoftware#getRepairDelay <em>Repair Delay</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StatefulSoftware#getFaultOcc <em>Fault Occ</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StateBasedComponentsPackage#getStatefulSoftware()
+ * @model
+ * @generated
+ */
+public interface StatefulSoftware extends DependableComponent {
+	/**
+	 * Returns the value of the '<em><b>Error Latency</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Error Latency</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Error Latency</em>' attribute.
+	 * @see #setErrorLatency(String)
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StateBasedComponentsPackage#getStatefulSoftware_ErrorLatency()
+	 * @model dataType="org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.NFP_Duration" required="true" ordered="false"
+	 * @generated
+	 */
+	String getErrorLatency();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StatefulSoftware#getErrorLatency <em>Error Latency</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Error Latency</em>' attribute.
+	 * @see #getErrorLatency()
+	 * @generated
+	 */
+	void setErrorLatency(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Repair Delay</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Repair Delay</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Repair Delay</em>' attribute.
+	 * @see #setRepairDelay(String)
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StateBasedComponentsPackage#getStatefulSoftware_RepairDelay()
+	 * @model dataType="org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.NFP_Duration" required="true" ordered="false"
+	 * @generated
+	 */
+	String getRepairDelay();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StatefulSoftware#getRepairDelay <em>Repair Delay</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Repair Delay</em>' attribute.
+	 * @see #getRepairDelay()
+	 * @generated
+	 */
+	void setRepairDelay(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Fault Occ</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Fault Occ</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Fault Occ</em>' attribute.
+	 * @see #setFaultOcc(String)
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StateBasedComponentsPackage#getStatefulSoftware_FaultOcc()
+	 * @model dataType="org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.NFP_Frequency" ordered="false"
+	 * @generated
+	 */
+	String getFaultOcc();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StatefulSoftware#getFaultOcc <em>Fault Occ</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Fault Occ</em>' attribute.
+	 * @see #getFaultOcc()
+	 * @generated
+	 */
+	void setFaultOcc(String value);
+
+} // StatefulSoftware
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedComponents/StatelessHardware.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedComponents/StatelessHardware.java
new file mode 100644
index 000000000..0e9389f1d
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedComponents/StatelessHardware.java
@@ -0,0 +1,113 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents;
+
+import org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.DependableComponent;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Stateless Hardware</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StatelessHardware#getProbPermFault <em>Prob Perm Fault</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StatelessHardware#getRepairDelay <em>Repair Delay</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StatelessHardware#getFaultOcc <em>Fault Occ</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StateBasedComponentsPackage#getStatelessHardware()
+ * @model
+ * @generated
+ */
+public interface StatelessHardware extends DependableComponent {
+	/**
+	 * Returns the value of the '<em><b>Prob Perm Fault</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Prob Perm Fault</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Prob Perm Fault</em>' attribute.
+	 * @see #setProbPermFault(String)
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StateBasedComponentsPackage#getStatelessHardware_ProbPermFault()
+	 * @model dataType="org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.NFP_Real" required="true" ordered="false"
+	 * @generated
+	 */
+	String getProbPermFault();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StatelessHardware#getProbPermFault <em>Prob Perm Fault</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Prob Perm Fault</em>' attribute.
+	 * @see #getProbPermFault()
+	 * @generated
+	 */
+	void setProbPermFault(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Repair Delay</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Repair Delay</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Repair Delay</em>' attribute.
+	 * @see #setRepairDelay(String)
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StateBasedComponentsPackage#getStatelessHardware_RepairDelay()
+	 * @model dataType="org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.NFP_Duration" required="true" ordered="false"
+	 * @generated
+	 */
+	String getRepairDelay();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StatelessHardware#getRepairDelay <em>Repair Delay</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Repair Delay</em>' attribute.
+	 * @see #getRepairDelay()
+	 * @generated
+	 */
+	void setRepairDelay(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Fault Occ</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Fault Occ</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Fault Occ</em>' attribute.
+	 * @see #setFaultOcc(String)
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StateBasedComponentsPackage#getStatelessHardware_FaultOcc()
+	 * @model dataType="org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.NFP_Frequency" ordered="false"
+	 * @generated
+	 */
+	String getFaultOcc();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StatelessHardware#getFaultOcc <em>Fault Occ</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Fault Occ</em>' attribute.
+	 * @see #getFaultOcc()
+	 * @generated
+	 */
+	void setFaultOcc(String value);
+
+} // StatelessHardware
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedComponents/StatelessSoftware.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedComponents/StatelessSoftware.java
new file mode 100644
index 000000000..0321b6793
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedComponents/StatelessSoftware.java
@@ -0,0 +1,59 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents;
+
+import org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.DependableComponent;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Stateless Software</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StatelessSoftware#getFaultOcc <em>Fault Occ</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StateBasedComponentsPackage#getStatelessSoftware()
+ * @model
+ * @generated
+ */
+public interface StatelessSoftware extends DependableComponent {
+	/**
+	 * Returns the value of the '<em><b>Fault Occ</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Fault Occ</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Fault Occ</em>' attribute.
+	 * @see #setFaultOcc(String)
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StateBasedComponentsPackage#getStatelessSoftware_FaultOcc()
+	 * @model dataType="org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.NFP_Frequency" ordered="false"
+	 * @generated
+	 */
+	String getFaultOcc();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StatelessSoftware#getFaultOcc <em>Fault Occ</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Fault Occ</em>' attribute.
+	 * @see #getFaultOcc()
+	 * @generated
+	 */
+	void setFaultOcc(String value);
+
+} // StatelessSoftware
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedComponents/impl/StateBasedComponentsFactoryImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedComponents/impl/StateBasedComponentsFactoryImpl.java
new file mode 100644
index 000000000..2fe70741f
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedComponents/impl/StateBasedComponentsFactoryImpl.java
@@ -0,0 +1,134 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class StateBasedComponentsFactoryImpl extends EFactoryImpl implements StateBasedComponentsFactory {
+	/**
+	 * Creates the default factory implementation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static StateBasedComponentsFactory init() {
+		try {
+			StateBasedComponentsFactory theStateBasedComponentsFactory = (StateBasedComponentsFactory)EPackage.Registry.INSTANCE.getEFactory(StateBasedComponentsPackage.eNS_URI);
+			if (theStateBasedComponentsFactory != null) {
+				return theStateBasedComponentsFactory;
+			}
+		}
+		catch (Exception exception) {
+			EcorePlugin.INSTANCE.log(exception);
+		}
+		return new StateBasedComponentsFactoryImpl();
+	}
+
+	/**
+	 * Creates an instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public StateBasedComponentsFactoryImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EObject create(EClass eClass) {
+		switch (eClass.getClassifierID()) {
+			case StateBasedComponentsPackage.STATEFUL_HARDWARE: return createStatefulHardware();
+			case StateBasedComponentsPackage.STATEFUL_SOFTWARE: return createStatefulSoftware();
+			case StateBasedComponentsPackage.STATELESS_HARDWARE: return createStatelessHardware();
+			case StateBasedComponentsPackage.STATELESS_SOFTWARE: return createStatelessSoftware();
+			default:
+				throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public StatefulHardware createStatefulHardware() {
+		StatefulHardwareImpl statefulHardware = new StatefulHardwareImpl();
+		return statefulHardware;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public StatefulSoftware createStatefulSoftware() {
+		StatefulSoftwareImpl statefulSoftware = new StatefulSoftwareImpl();
+		return statefulSoftware;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public StatelessHardware createStatelessHardware() {
+		StatelessHardwareImpl statelessHardware = new StatelessHardwareImpl();
+		return statelessHardware;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public StatelessSoftware createStatelessSoftware() {
+		StatelessSoftwareImpl statelessSoftware = new StatelessSoftwareImpl();
+		return statelessSoftware;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public StateBasedComponentsPackage getStateBasedComponentsPackage() {
+		return (StateBasedComponentsPackage)getEPackage();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @deprecated
+	 * @generated
+	 */
+	@Deprecated
+	public static StateBasedComponentsPackage getPackage() {
+		return StateBasedComponentsPackage.eINSTANCE;
+	}
+
+} //StateBasedComponentsFactoryImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedComponents/impl/StateBasedComponentsPackageImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedComponents/impl/StateBasedComponentsPackageImpl.java
new file mode 100644
index 000000000..90159359e
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedComponents/impl/StateBasedComponentsPackageImpl.java
@@ -0,0 +1,496 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+import org.eclipse.papyrus.MARTE.MARTEPackage;
+import org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.BasicNFP_TypesPackage;
+import org.eclipse.papyrus.MARTE_Library.GRM_BasicTypes.GRM_BasicTypesPackage;
+import org.eclipse.papyrus.MARTE_Library.MARTE_DataTypes.MARTE_DataTypesPackage;
+import org.eclipse.papyrus.MARTE_Library.MARTE_PrimitivesTypes.MARTE_PrimitivesTypesPackage;
+import org.eclipse.papyrus.MARTE_Library.MeasurementUnits.MeasurementUnitsPackage;
+import org.eclipse.papyrus.MARTE_Library.RS_Library.RS_LibraryPackage;
+import org.eclipse.papyrus.MARTE_Library.TimeLibrary.TimeLibraryPackage;
+import org.eclipse.papyrus.MARTE_Library.TimeTypesLibrary.TimeTypesLibraryPackage;
+import org.polarsys.chess.chessmlprofile.chessmlprofilePackage;
+import org.polarsys.chess.chessmlprofile.ComponentModel.ComponentModelPackage;
+import org.polarsys.chess.chessmlprofile.ComponentModel.impl.ComponentModelPackageImpl;
+import org.polarsys.chess.chessmlprofile.Core.CorePackage;
+import org.polarsys.chess.chessmlprofile.Core.CHESSViews.CHESSViewsPackage;
+import org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl.CHESSViewsPackageImpl;
+import org.polarsys.chess.chessmlprofile.Core.impl.CorePackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.DataFlowCallGraph.DataFlowCallGraphPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.DataFlowCallGraph.impl.DataFlowCallGraphPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.DependableComponentPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.impl.DependableComponentPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEAPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEADataTypes.FMEADataTypesPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEADataTypes.impl.FMEADataTypesPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.impl.FMEAPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.FailurePropagationDataTypesPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.impl.FailurePropagationDataTypesPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl.FailurePropagationPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans.MitigationMeansPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans.impl.MitigationMeansPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.FaultTolerancePackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.impl.FaultTolerancePackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.MaintenanceMonitoringPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.impl.MaintenanceMonitoringPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.StateBasedAnalysisPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.impl.StateBasedAnalysisPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StateBasedComponentsFactory;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StateBasedComponentsPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StatefulHardware;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StatefulSoftware;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StatelessHardware;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StatelessSoftware;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.StateBasedDataTypesPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.impl.StateBasedDataTypesPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatsPropagationPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.ThreatsPropagationPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.DeploymentConfAnalysisPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.impl.DeploymentConfAnalysisPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HardwareBaselinePackage;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.HardwareBaselinePackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTComponentModelPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.RTDataTypesPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.impl.RTDataTypesPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.impl.RTComponentModelPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingAnalysisPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.TimingConstraintsPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.impl.TimingConstraintsPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.impl.TimingAnalysisPackageImpl;
+import org.polarsys.chess.chessmlprofile.impl.chessmlprofilePackageImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class StateBasedComponentsPackageImpl extends EPackageImpl implements StateBasedComponentsPackage {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass statefulHardwareEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass statefulSoftwareEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass statelessHardwareEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass statelessSoftwareEClass = null;
+
+	/**
+	 * Creates an instance of the model <b>Package</b>, registered with
+	 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+	 * package URI value.
+	 * <p>Note: the correct way to create the package is via the static
+	 * factory method {@link #init init()}, which also performs
+	 * initialization of the package, or returns the registered package,
+	 * if one already exists.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.emf.ecore.EPackage.Registry
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StateBasedComponentsPackage#eNS_URI
+	 * @see #init()
+	 * @generated
+	 */
+	private StateBasedComponentsPackageImpl() {
+		super(eNS_URI, StateBasedComponentsFactory.eINSTANCE);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static boolean isInited = false;
+
+	/**
+	 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+	 * 
+	 * <p>This method is used to initialize {@link StateBasedComponentsPackage#eINSTANCE} when that field is accessed.
+	 * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #eNS_URI
+	 * @see #createPackageContents()
+	 * @see #initializePackageContents()
+	 * @generated
+	 */
+	public static StateBasedComponentsPackage init() {
+		if (isInited) return (StateBasedComponentsPackage)EPackage.Registry.INSTANCE.getEPackage(StateBasedComponentsPackage.eNS_URI);
+
+		// Obtain or create and register package
+		StateBasedComponentsPackageImpl theStateBasedComponentsPackage = (StateBasedComponentsPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof StateBasedComponentsPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new StateBasedComponentsPackageImpl());
+
+		isInited = true;
+
+		// Initialize simple dependencies
+		MARTEPackage.eINSTANCE.eClass();
+		MeasurementUnitsPackage.eINSTANCE.eClass();
+		GRM_BasicTypesPackage.eINSTANCE.eClass();
+		MARTE_DataTypesPackage.eINSTANCE.eClass();
+		BasicNFP_TypesPackage.eINSTANCE.eClass();
+		TimeTypesLibraryPackage.eINSTANCE.eClass();
+		TimeLibraryPackage.eINSTANCE.eClass();
+		RS_LibraryPackage.eINSTANCE.eClass();
+		MARTE_PrimitivesTypesPackage.eINSTANCE.eClass();
+		BasicNFP_TypesPackage.eINSTANCE.eClass();
+
+		// Obtain or create and register interdependencies
+		chessmlprofilePackageImpl thechessmlprofilePackage = (chessmlprofilePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(chessmlprofilePackage.eNS_URI) instanceof chessmlprofilePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(chessmlprofilePackage.eNS_URI) : chessmlprofilePackage.eINSTANCE);
+		CorePackageImpl theCorePackage = (CorePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(CorePackage.eNS_URI) instanceof CorePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(CorePackage.eNS_URI) : CorePackage.eINSTANCE);
+		CHESSViewsPackageImpl theCHESSViewsPackage = (CHESSViewsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(CHESSViewsPackage.eNS_URI) instanceof CHESSViewsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(CHESSViewsPackage.eNS_URI) : CHESSViewsPackage.eINSTANCE);
+		FailurePropagationPackageImpl theFailurePropagationPackage = (FailurePropagationPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FailurePropagationPackage.eNS_URI) instanceof FailurePropagationPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FailurePropagationPackage.eNS_URI) : FailurePropagationPackage.eINSTANCE);
+		FailurePropagationDataTypesPackageImpl theFailurePropagationDataTypesPackage = (FailurePropagationDataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FailurePropagationDataTypesPackage.eNS_URI) instanceof FailurePropagationDataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FailurePropagationDataTypesPackage.eNS_URI) : FailurePropagationDataTypesPackage.eINSTANCE);
+		DependableComponentPackageImpl theDependableComponentPackage = (DependableComponentPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DependableComponentPackage.eNS_URI) instanceof DependableComponentPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DependableComponentPackage.eNS_URI) : DependableComponentPackage.eINSTANCE);
+		ThreatsPropagationPackageImpl theThreatsPropagationPackage = (ThreatsPropagationPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ThreatsPropagationPackage.eNS_URI) instanceof ThreatsPropagationPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ThreatsPropagationPackage.eNS_URI) : ThreatsPropagationPackage.eINSTANCE);
+		DataFlowCallGraphPackageImpl theDataFlowCallGraphPackage = (DataFlowCallGraphPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DataFlowCallGraphPackage.eNS_URI) instanceof DataFlowCallGraphPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DataFlowCallGraphPackage.eNS_URI) : DataFlowCallGraphPackage.eINSTANCE);
+		StateBasedDataTypesPackageImpl theStateBasedDataTypesPackage = (StateBasedDataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(StateBasedDataTypesPackage.eNS_URI) instanceof StateBasedDataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(StateBasedDataTypesPackage.eNS_URI) : StateBasedDataTypesPackage.eINSTANCE);
+		FaultTolerancePackageImpl theFaultTolerancePackage = (FaultTolerancePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FaultTolerancePackage.eNS_URI) instanceof FaultTolerancePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FaultTolerancePackage.eNS_URI) : FaultTolerancePackage.eINSTANCE);
+		MaintenanceMonitoringPackageImpl theMaintenanceMonitoringPackage = (MaintenanceMonitoringPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(MaintenanceMonitoringPackage.eNS_URI) instanceof MaintenanceMonitoringPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(MaintenanceMonitoringPackage.eNS_URI) : MaintenanceMonitoringPackage.eINSTANCE);
+		StateBasedAnalysisPackageImpl theStateBasedAnalysisPackage = (StateBasedAnalysisPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(StateBasedAnalysisPackage.eNS_URI) instanceof StateBasedAnalysisPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(StateBasedAnalysisPackage.eNS_URI) : StateBasedAnalysisPackage.eINSTANCE);
+		FMEAPackageImpl theFMEAPackage = (FMEAPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FMEAPackage.eNS_URI) instanceof FMEAPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FMEAPackage.eNS_URI) : FMEAPackage.eINSTANCE);
+		FMEADataTypesPackageImpl theFMEADataTypesPackage = (FMEADataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FMEADataTypesPackage.eNS_URI) instanceof FMEADataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FMEADataTypesPackage.eNS_URI) : FMEADataTypesPackage.eINSTANCE);
+		MitigationMeansPackageImpl theMitigationMeansPackage = (MitigationMeansPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(MitigationMeansPackage.eNS_URI) instanceof MitigationMeansPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(MitigationMeansPackage.eNS_URI) : MitigationMeansPackage.eINSTANCE);
+		TimingAnalysisPackageImpl theTimingAnalysisPackage = (TimingAnalysisPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimingAnalysisPackage.eNS_URI) instanceof TimingAnalysisPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimingAnalysisPackage.eNS_URI) : TimingAnalysisPackage.eINSTANCE);
+		TimingConstraintsPackageImpl theTimingConstraintsPackage = (TimingConstraintsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimingConstraintsPackage.eNS_URI) instanceof TimingConstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimingConstraintsPackage.eNS_URI) : TimingConstraintsPackage.eINSTANCE);
+		HardwareBaselinePackageImpl theHardwareBaselinePackage = (HardwareBaselinePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HardwareBaselinePackage.eNS_URI) instanceof HardwareBaselinePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HardwareBaselinePackage.eNS_URI) : HardwareBaselinePackage.eINSTANCE);
+		DeploymentConfAnalysisPackageImpl theDeploymentConfAnalysisPackage = (DeploymentConfAnalysisPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DeploymentConfAnalysisPackage.eNS_URI) instanceof DeploymentConfAnalysisPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DeploymentConfAnalysisPackage.eNS_URI) : DeploymentConfAnalysisPackage.eINSTANCE);
+		RTComponentModelPackageImpl theRTComponentModelPackage = (RTComponentModelPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RTComponentModelPackage.eNS_URI) instanceof RTComponentModelPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RTComponentModelPackage.eNS_URI) : RTComponentModelPackage.eINSTANCE);
+		RTDataTypesPackageImpl theRTDataTypesPackage = (RTDataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RTDataTypesPackage.eNS_URI) instanceof RTDataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RTDataTypesPackage.eNS_URI) : RTDataTypesPackage.eINSTANCE);
+		ComponentModelPackageImpl theComponentModelPackage = (ComponentModelPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ComponentModelPackage.eNS_URI) instanceof ComponentModelPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ComponentModelPackage.eNS_URI) : ComponentModelPackage.eINSTANCE);
+
+		// Create package meta-data objects
+		theStateBasedComponentsPackage.createPackageContents();
+		thechessmlprofilePackage.createPackageContents();
+		theCorePackage.createPackageContents();
+		theCHESSViewsPackage.createPackageContents();
+		theFailurePropagationPackage.createPackageContents();
+		theFailurePropagationDataTypesPackage.createPackageContents();
+		theDependableComponentPackage.createPackageContents();
+		theThreatsPropagationPackage.createPackageContents();
+		theDataFlowCallGraphPackage.createPackageContents();
+		theStateBasedDataTypesPackage.createPackageContents();
+		theFaultTolerancePackage.createPackageContents();
+		theMaintenanceMonitoringPackage.createPackageContents();
+		theStateBasedAnalysisPackage.createPackageContents();
+		theFMEAPackage.createPackageContents();
+		theFMEADataTypesPackage.createPackageContents();
+		theMitigationMeansPackage.createPackageContents();
+		theTimingAnalysisPackage.createPackageContents();
+		theTimingConstraintsPackage.createPackageContents();
+		theHardwareBaselinePackage.createPackageContents();
+		theDeploymentConfAnalysisPackage.createPackageContents();
+		theRTComponentModelPackage.createPackageContents();
+		theRTDataTypesPackage.createPackageContents();
+		theComponentModelPackage.createPackageContents();
+
+		// Initialize created meta-data
+		theStateBasedComponentsPackage.initializePackageContents();
+		thechessmlprofilePackage.initializePackageContents();
+		theCorePackage.initializePackageContents();
+		theCHESSViewsPackage.initializePackageContents();
+		theFailurePropagationPackage.initializePackageContents();
+		theFailurePropagationDataTypesPackage.initializePackageContents();
+		theDependableComponentPackage.initializePackageContents();
+		theThreatsPropagationPackage.initializePackageContents();
+		theDataFlowCallGraphPackage.initializePackageContents();
+		theStateBasedDataTypesPackage.initializePackageContents();
+		theFaultTolerancePackage.initializePackageContents();
+		theMaintenanceMonitoringPackage.initializePackageContents();
+		theStateBasedAnalysisPackage.initializePackageContents();
+		theFMEAPackage.initializePackageContents();
+		theFMEADataTypesPackage.initializePackageContents();
+		theMitigationMeansPackage.initializePackageContents();
+		theTimingAnalysisPackage.initializePackageContents();
+		theTimingConstraintsPackage.initializePackageContents();
+		theHardwareBaselinePackage.initializePackageContents();
+		theDeploymentConfAnalysisPackage.initializePackageContents();
+		theRTComponentModelPackage.initializePackageContents();
+		theRTDataTypesPackage.initializePackageContents();
+		theComponentModelPackage.initializePackageContents();
+
+		// Mark meta-data to indicate it can't be changed
+		theStateBasedComponentsPackage.freeze();
+
+  
+		// Update the registry and return the package
+		EPackage.Registry.INSTANCE.put(StateBasedComponentsPackage.eNS_URI, theStateBasedComponentsPackage);
+		return theStateBasedComponentsPackage;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getStatefulHardware() {
+		return statefulHardwareEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getStatefulHardware_ProbPermFault() {
+		return (EAttribute)statefulHardwareEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getStatefulHardware_ErrorLatency() {
+		return (EAttribute)statefulHardwareEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getStatefulHardware_RepairDelay() {
+		return (EAttribute)statefulHardwareEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getStatefulHardware_FaultOcc() {
+		return (EAttribute)statefulHardwareEClass.getEStructuralFeatures().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getStatefulSoftware() {
+		return statefulSoftwareEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getStatefulSoftware_ErrorLatency() {
+		return (EAttribute)statefulSoftwareEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getStatefulSoftware_RepairDelay() {
+		return (EAttribute)statefulSoftwareEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getStatefulSoftware_FaultOcc() {
+		return (EAttribute)statefulSoftwareEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getStatelessHardware() {
+		return statelessHardwareEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getStatelessHardware_ProbPermFault() {
+		return (EAttribute)statelessHardwareEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getStatelessHardware_RepairDelay() {
+		return (EAttribute)statelessHardwareEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getStatelessHardware_FaultOcc() {
+		return (EAttribute)statelessHardwareEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getStatelessSoftware() {
+		return statelessSoftwareEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getStatelessSoftware_FaultOcc() {
+		return (EAttribute)statelessSoftwareEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public StateBasedComponentsFactory getStateBasedComponentsFactory() {
+		return (StateBasedComponentsFactory)getEFactoryInstance();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isCreated = false;
+
+	/**
+	 * Creates the meta-model objects for the package.  This method is
+	 * guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void createPackageContents() {
+		if (isCreated) return;
+		isCreated = true;
+
+		// Create classes and their features
+		statefulHardwareEClass = createEClass(STATEFUL_HARDWARE);
+		createEAttribute(statefulHardwareEClass, STATEFUL_HARDWARE__PROB_PERM_FAULT);
+		createEAttribute(statefulHardwareEClass, STATEFUL_HARDWARE__ERROR_LATENCY);
+		createEAttribute(statefulHardwareEClass, STATEFUL_HARDWARE__REPAIR_DELAY);
+		createEAttribute(statefulHardwareEClass, STATEFUL_HARDWARE__FAULT_OCC);
+
+		statefulSoftwareEClass = createEClass(STATEFUL_SOFTWARE);
+		createEAttribute(statefulSoftwareEClass, STATEFUL_SOFTWARE__ERROR_LATENCY);
+		createEAttribute(statefulSoftwareEClass, STATEFUL_SOFTWARE__REPAIR_DELAY);
+		createEAttribute(statefulSoftwareEClass, STATEFUL_SOFTWARE__FAULT_OCC);
+
+		statelessHardwareEClass = createEClass(STATELESS_HARDWARE);
+		createEAttribute(statelessHardwareEClass, STATELESS_HARDWARE__PROB_PERM_FAULT);
+		createEAttribute(statelessHardwareEClass, STATELESS_HARDWARE__REPAIR_DELAY);
+		createEAttribute(statelessHardwareEClass, STATELESS_HARDWARE__FAULT_OCC);
+
+		statelessSoftwareEClass = createEClass(STATELESS_SOFTWARE);
+		createEAttribute(statelessSoftwareEClass, STATELESS_SOFTWARE__FAULT_OCC);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isInitialized = false;
+
+	/**
+	 * Complete the initialization of the package and its meta-model.  This
+	 * method is guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void initializePackageContents() {
+		if (isInitialized) return;
+		isInitialized = true;
+
+		// Initialize package
+		setName(eNAME);
+		setNsPrefix(eNS_PREFIX);
+		setNsURI(eNS_URI);
+
+		// Obtain other dependent packages
+		DependableComponentPackage theDependableComponentPackage = (DependableComponentPackage)EPackage.Registry.INSTANCE.getEPackage(DependableComponentPackage.eNS_URI);
+		BasicNFP_TypesPackage theBasicNFP_TypesPackage = (BasicNFP_TypesPackage)EPackage.Registry.INSTANCE.getEPackage(BasicNFP_TypesPackage.eNS_URI);
+
+		// Create type parameters
+
+		// Set bounds for type parameters
+
+		// Add supertypes to classes
+		statefulHardwareEClass.getESuperTypes().add(theDependableComponentPackage.getDependableComponent());
+		statefulSoftwareEClass.getESuperTypes().add(theDependableComponentPackage.getDependableComponent());
+		statelessHardwareEClass.getESuperTypes().add(theDependableComponentPackage.getDependableComponent());
+		statelessSoftwareEClass.getESuperTypes().add(theDependableComponentPackage.getDependableComponent());
+
+		// Initialize classes and features; add operations and parameters
+		initEClass(statefulHardwareEClass, StatefulHardware.class, "StatefulHardware", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getStatefulHardware_ProbPermFault(), theBasicNFP_TypesPackage.getNFP_Real(), "probPermFault", null, 1, 1, StatefulHardware.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getStatefulHardware_ErrorLatency(), theBasicNFP_TypesPackage.getNFP_Duration(), "errorLatency", null, 1, 1, StatefulHardware.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getStatefulHardware_RepairDelay(), theBasicNFP_TypesPackage.getNFP_Duration(), "repairDelay", null, 1, 1, StatefulHardware.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getStatefulHardware_FaultOcc(), theBasicNFP_TypesPackage.getNFP_Frequency(), "faultOcc", null, 0, 1, StatefulHardware.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+		initEClass(statefulSoftwareEClass, StatefulSoftware.class, "StatefulSoftware", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getStatefulSoftware_ErrorLatency(), theBasicNFP_TypesPackage.getNFP_Duration(), "errorLatency", null, 1, 1, StatefulSoftware.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getStatefulSoftware_RepairDelay(), theBasicNFP_TypesPackage.getNFP_Duration(), "repairDelay", null, 1, 1, StatefulSoftware.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getStatefulSoftware_FaultOcc(), theBasicNFP_TypesPackage.getNFP_Frequency(), "faultOcc", null, 0, 1, StatefulSoftware.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+		initEClass(statelessHardwareEClass, StatelessHardware.class, "StatelessHardware", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getStatelessHardware_ProbPermFault(), theBasicNFP_TypesPackage.getNFP_Real(), "probPermFault", null, 1, 1, StatelessHardware.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getStatelessHardware_RepairDelay(), theBasicNFP_TypesPackage.getNFP_Duration(), "repairDelay", null, 1, 1, StatelessHardware.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getStatelessHardware_FaultOcc(), theBasicNFP_TypesPackage.getNFP_Frequency(), "faultOcc", null, 0, 1, StatelessHardware.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+		initEClass(statelessSoftwareEClass, StatelessSoftware.class, "StatelessSoftware", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getStatelessSoftware_FaultOcc(), theBasicNFP_TypesPackage.getNFP_Frequency(), "faultOcc", null, 0, 1, StatelessSoftware.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+	}
+
+} //StateBasedComponentsPackageImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedComponents/impl/StatefulHardwareImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedComponents/impl/StatefulHardwareImpl.java
new file mode 100644
index 000000000..1d2ec7151
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedComponents/impl/StatefulHardwareImpl.java
@@ -0,0 +1,333 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.impl.DependableComponentImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StateBasedComponentsPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StatefulHardware;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Stateful Hardware</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.impl.StatefulHardwareImpl#getProbPermFault <em>Prob Perm Fault</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.impl.StatefulHardwareImpl#getErrorLatency <em>Error Latency</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.impl.StatefulHardwareImpl#getRepairDelay <em>Repair Delay</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.impl.StatefulHardwareImpl#getFaultOcc <em>Fault Occ</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class StatefulHardwareImpl extends DependableComponentImpl implements StatefulHardware {
+	/**
+	 * The default value of the '{@link #getProbPermFault() <em>Prob Perm Fault</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getProbPermFault()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String PROB_PERM_FAULT_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getProbPermFault() <em>Prob Perm Fault</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getProbPermFault()
+	 * @generated
+	 * @ordered
+	 */
+	protected String probPermFault = PROB_PERM_FAULT_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getErrorLatency() <em>Error Latency</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getErrorLatency()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String ERROR_LATENCY_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getErrorLatency() <em>Error Latency</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getErrorLatency()
+	 * @generated
+	 * @ordered
+	 */
+	protected String errorLatency = ERROR_LATENCY_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getRepairDelay() <em>Repair Delay</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getRepairDelay()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String REPAIR_DELAY_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getRepairDelay() <em>Repair Delay</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getRepairDelay()
+	 * @generated
+	 * @ordered
+	 */
+	protected String repairDelay = REPAIR_DELAY_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getFaultOcc() <em>Fault Occ</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getFaultOcc()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String FAULT_OCC_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getFaultOcc() <em>Fault Occ</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getFaultOcc()
+	 * @generated
+	 * @ordered
+	 */
+	protected String faultOcc = FAULT_OCC_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected StatefulHardwareImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return StateBasedComponentsPackage.Literals.STATEFUL_HARDWARE;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getProbPermFault() {
+		return probPermFault;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setProbPermFault(String newProbPermFault) {
+		String oldProbPermFault = probPermFault;
+		probPermFault = newProbPermFault;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, StateBasedComponentsPackage.STATEFUL_HARDWARE__PROB_PERM_FAULT, oldProbPermFault, probPermFault));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getErrorLatency() {
+		return errorLatency;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setErrorLatency(String newErrorLatency) {
+		String oldErrorLatency = errorLatency;
+		errorLatency = newErrorLatency;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, StateBasedComponentsPackage.STATEFUL_HARDWARE__ERROR_LATENCY, oldErrorLatency, errorLatency));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getRepairDelay() {
+		return repairDelay;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setRepairDelay(String newRepairDelay) {
+		String oldRepairDelay = repairDelay;
+		repairDelay = newRepairDelay;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, StateBasedComponentsPackage.STATEFUL_HARDWARE__REPAIR_DELAY, oldRepairDelay, repairDelay));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getFaultOcc() {
+		return faultOcc;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setFaultOcc(String newFaultOcc) {
+		String oldFaultOcc = faultOcc;
+		faultOcc = newFaultOcc;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, StateBasedComponentsPackage.STATEFUL_HARDWARE__FAULT_OCC, oldFaultOcc, faultOcc));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case StateBasedComponentsPackage.STATEFUL_HARDWARE__PROB_PERM_FAULT:
+				return getProbPermFault();
+			case StateBasedComponentsPackage.STATEFUL_HARDWARE__ERROR_LATENCY:
+				return getErrorLatency();
+			case StateBasedComponentsPackage.STATEFUL_HARDWARE__REPAIR_DELAY:
+				return getRepairDelay();
+			case StateBasedComponentsPackage.STATEFUL_HARDWARE__FAULT_OCC:
+				return getFaultOcc();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case StateBasedComponentsPackage.STATEFUL_HARDWARE__PROB_PERM_FAULT:
+				setProbPermFault((String)newValue);
+				return;
+			case StateBasedComponentsPackage.STATEFUL_HARDWARE__ERROR_LATENCY:
+				setErrorLatency((String)newValue);
+				return;
+			case StateBasedComponentsPackage.STATEFUL_HARDWARE__REPAIR_DELAY:
+				setRepairDelay((String)newValue);
+				return;
+			case StateBasedComponentsPackage.STATEFUL_HARDWARE__FAULT_OCC:
+				setFaultOcc((String)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case StateBasedComponentsPackage.STATEFUL_HARDWARE__PROB_PERM_FAULT:
+				setProbPermFault(PROB_PERM_FAULT_EDEFAULT);
+				return;
+			case StateBasedComponentsPackage.STATEFUL_HARDWARE__ERROR_LATENCY:
+				setErrorLatency(ERROR_LATENCY_EDEFAULT);
+				return;
+			case StateBasedComponentsPackage.STATEFUL_HARDWARE__REPAIR_DELAY:
+				setRepairDelay(REPAIR_DELAY_EDEFAULT);
+				return;
+			case StateBasedComponentsPackage.STATEFUL_HARDWARE__FAULT_OCC:
+				setFaultOcc(FAULT_OCC_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case StateBasedComponentsPackage.STATEFUL_HARDWARE__PROB_PERM_FAULT:
+				return PROB_PERM_FAULT_EDEFAULT == null ? probPermFault != null : !PROB_PERM_FAULT_EDEFAULT.equals(probPermFault);
+			case StateBasedComponentsPackage.STATEFUL_HARDWARE__ERROR_LATENCY:
+				return ERROR_LATENCY_EDEFAULT == null ? errorLatency != null : !ERROR_LATENCY_EDEFAULT.equals(errorLatency);
+			case StateBasedComponentsPackage.STATEFUL_HARDWARE__REPAIR_DELAY:
+				return REPAIR_DELAY_EDEFAULT == null ? repairDelay != null : !REPAIR_DELAY_EDEFAULT.equals(repairDelay);
+			case StateBasedComponentsPackage.STATEFUL_HARDWARE__FAULT_OCC:
+				return FAULT_OCC_EDEFAULT == null ? faultOcc != null : !FAULT_OCC_EDEFAULT.equals(faultOcc);
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (probPermFault: ");
+		result.append(probPermFault);
+		result.append(", errorLatency: ");
+		result.append(errorLatency);
+		result.append(", repairDelay: ");
+		result.append(repairDelay);
+		result.append(", faultOcc: ");
+		result.append(faultOcc);
+		result.append(')');
+		return result.toString();
+	}
+
+} //StatefulHardwareImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedComponents/impl/StatefulSoftwareImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedComponents/impl/StatefulSoftwareImpl.java
new file mode 100644
index 000000000..bf069fdf2
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedComponents/impl/StatefulSoftwareImpl.java
@@ -0,0 +1,279 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.impl.DependableComponentImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StateBasedComponentsPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StatefulSoftware;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Stateful Software</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.impl.StatefulSoftwareImpl#getErrorLatency <em>Error Latency</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.impl.StatefulSoftwareImpl#getRepairDelay <em>Repair Delay</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.impl.StatefulSoftwareImpl#getFaultOcc <em>Fault Occ</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class StatefulSoftwareImpl extends DependableComponentImpl implements StatefulSoftware {
+	/**
+	 * The default value of the '{@link #getErrorLatency() <em>Error Latency</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getErrorLatency()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String ERROR_LATENCY_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getErrorLatency() <em>Error Latency</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getErrorLatency()
+	 * @generated
+	 * @ordered
+	 */
+	protected String errorLatency = ERROR_LATENCY_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getRepairDelay() <em>Repair Delay</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getRepairDelay()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String REPAIR_DELAY_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getRepairDelay() <em>Repair Delay</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getRepairDelay()
+	 * @generated
+	 * @ordered
+	 */
+	protected String repairDelay = REPAIR_DELAY_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getFaultOcc() <em>Fault Occ</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getFaultOcc()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String FAULT_OCC_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getFaultOcc() <em>Fault Occ</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getFaultOcc()
+	 * @generated
+	 * @ordered
+	 */
+	protected String faultOcc = FAULT_OCC_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected StatefulSoftwareImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return StateBasedComponentsPackage.Literals.STATEFUL_SOFTWARE;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getErrorLatency() {
+		return errorLatency;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setErrorLatency(String newErrorLatency) {
+		String oldErrorLatency = errorLatency;
+		errorLatency = newErrorLatency;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, StateBasedComponentsPackage.STATEFUL_SOFTWARE__ERROR_LATENCY, oldErrorLatency, errorLatency));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getRepairDelay() {
+		return repairDelay;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setRepairDelay(String newRepairDelay) {
+		String oldRepairDelay = repairDelay;
+		repairDelay = newRepairDelay;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, StateBasedComponentsPackage.STATEFUL_SOFTWARE__REPAIR_DELAY, oldRepairDelay, repairDelay));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getFaultOcc() {
+		return faultOcc;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setFaultOcc(String newFaultOcc) {
+		String oldFaultOcc = faultOcc;
+		faultOcc = newFaultOcc;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, StateBasedComponentsPackage.STATEFUL_SOFTWARE__FAULT_OCC, oldFaultOcc, faultOcc));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case StateBasedComponentsPackage.STATEFUL_SOFTWARE__ERROR_LATENCY:
+				return getErrorLatency();
+			case StateBasedComponentsPackage.STATEFUL_SOFTWARE__REPAIR_DELAY:
+				return getRepairDelay();
+			case StateBasedComponentsPackage.STATEFUL_SOFTWARE__FAULT_OCC:
+				return getFaultOcc();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case StateBasedComponentsPackage.STATEFUL_SOFTWARE__ERROR_LATENCY:
+				setErrorLatency((String)newValue);
+				return;
+			case StateBasedComponentsPackage.STATEFUL_SOFTWARE__REPAIR_DELAY:
+				setRepairDelay((String)newValue);
+				return;
+			case StateBasedComponentsPackage.STATEFUL_SOFTWARE__FAULT_OCC:
+				setFaultOcc((String)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case StateBasedComponentsPackage.STATEFUL_SOFTWARE__ERROR_LATENCY:
+				setErrorLatency(ERROR_LATENCY_EDEFAULT);
+				return;
+			case StateBasedComponentsPackage.STATEFUL_SOFTWARE__REPAIR_DELAY:
+				setRepairDelay(REPAIR_DELAY_EDEFAULT);
+				return;
+			case StateBasedComponentsPackage.STATEFUL_SOFTWARE__FAULT_OCC:
+				setFaultOcc(FAULT_OCC_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case StateBasedComponentsPackage.STATEFUL_SOFTWARE__ERROR_LATENCY:
+				return ERROR_LATENCY_EDEFAULT == null ? errorLatency != null : !ERROR_LATENCY_EDEFAULT.equals(errorLatency);
+			case StateBasedComponentsPackage.STATEFUL_SOFTWARE__REPAIR_DELAY:
+				return REPAIR_DELAY_EDEFAULT == null ? repairDelay != null : !REPAIR_DELAY_EDEFAULT.equals(repairDelay);
+			case StateBasedComponentsPackage.STATEFUL_SOFTWARE__FAULT_OCC:
+				return FAULT_OCC_EDEFAULT == null ? faultOcc != null : !FAULT_OCC_EDEFAULT.equals(faultOcc);
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (errorLatency: ");
+		result.append(errorLatency);
+		result.append(", repairDelay: ");
+		result.append(repairDelay);
+		result.append(", faultOcc: ");
+		result.append(faultOcc);
+		result.append(')');
+		return result.toString();
+	}
+
+} //StatefulSoftwareImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedComponents/impl/StatelessHardwareImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedComponents/impl/StatelessHardwareImpl.java
new file mode 100644
index 000000000..75d4f20ee
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedComponents/impl/StatelessHardwareImpl.java
@@ -0,0 +1,279 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.impl.DependableComponentImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StateBasedComponentsPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StatelessHardware;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Stateless Hardware</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.impl.StatelessHardwareImpl#getProbPermFault <em>Prob Perm Fault</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.impl.StatelessHardwareImpl#getRepairDelay <em>Repair Delay</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.impl.StatelessHardwareImpl#getFaultOcc <em>Fault Occ</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class StatelessHardwareImpl extends DependableComponentImpl implements StatelessHardware {
+	/**
+	 * The default value of the '{@link #getProbPermFault() <em>Prob Perm Fault</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getProbPermFault()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String PROB_PERM_FAULT_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getProbPermFault() <em>Prob Perm Fault</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getProbPermFault()
+	 * @generated
+	 * @ordered
+	 */
+	protected String probPermFault = PROB_PERM_FAULT_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getRepairDelay() <em>Repair Delay</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getRepairDelay()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String REPAIR_DELAY_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getRepairDelay() <em>Repair Delay</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getRepairDelay()
+	 * @generated
+	 * @ordered
+	 */
+	protected String repairDelay = REPAIR_DELAY_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getFaultOcc() <em>Fault Occ</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getFaultOcc()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String FAULT_OCC_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getFaultOcc() <em>Fault Occ</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getFaultOcc()
+	 * @generated
+	 * @ordered
+	 */
+	protected String faultOcc = FAULT_OCC_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected StatelessHardwareImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return StateBasedComponentsPackage.Literals.STATELESS_HARDWARE;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getProbPermFault() {
+		return probPermFault;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setProbPermFault(String newProbPermFault) {
+		String oldProbPermFault = probPermFault;
+		probPermFault = newProbPermFault;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, StateBasedComponentsPackage.STATELESS_HARDWARE__PROB_PERM_FAULT, oldProbPermFault, probPermFault));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getRepairDelay() {
+		return repairDelay;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setRepairDelay(String newRepairDelay) {
+		String oldRepairDelay = repairDelay;
+		repairDelay = newRepairDelay;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, StateBasedComponentsPackage.STATELESS_HARDWARE__REPAIR_DELAY, oldRepairDelay, repairDelay));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getFaultOcc() {
+		return faultOcc;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setFaultOcc(String newFaultOcc) {
+		String oldFaultOcc = faultOcc;
+		faultOcc = newFaultOcc;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, StateBasedComponentsPackage.STATELESS_HARDWARE__FAULT_OCC, oldFaultOcc, faultOcc));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case StateBasedComponentsPackage.STATELESS_HARDWARE__PROB_PERM_FAULT:
+				return getProbPermFault();
+			case StateBasedComponentsPackage.STATELESS_HARDWARE__REPAIR_DELAY:
+				return getRepairDelay();
+			case StateBasedComponentsPackage.STATELESS_HARDWARE__FAULT_OCC:
+				return getFaultOcc();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case StateBasedComponentsPackage.STATELESS_HARDWARE__PROB_PERM_FAULT:
+				setProbPermFault((String)newValue);
+				return;
+			case StateBasedComponentsPackage.STATELESS_HARDWARE__REPAIR_DELAY:
+				setRepairDelay((String)newValue);
+				return;
+			case StateBasedComponentsPackage.STATELESS_HARDWARE__FAULT_OCC:
+				setFaultOcc((String)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case StateBasedComponentsPackage.STATELESS_HARDWARE__PROB_PERM_FAULT:
+				setProbPermFault(PROB_PERM_FAULT_EDEFAULT);
+				return;
+			case StateBasedComponentsPackage.STATELESS_HARDWARE__REPAIR_DELAY:
+				setRepairDelay(REPAIR_DELAY_EDEFAULT);
+				return;
+			case StateBasedComponentsPackage.STATELESS_HARDWARE__FAULT_OCC:
+				setFaultOcc(FAULT_OCC_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case StateBasedComponentsPackage.STATELESS_HARDWARE__PROB_PERM_FAULT:
+				return PROB_PERM_FAULT_EDEFAULT == null ? probPermFault != null : !PROB_PERM_FAULT_EDEFAULT.equals(probPermFault);
+			case StateBasedComponentsPackage.STATELESS_HARDWARE__REPAIR_DELAY:
+				return REPAIR_DELAY_EDEFAULT == null ? repairDelay != null : !REPAIR_DELAY_EDEFAULT.equals(repairDelay);
+			case StateBasedComponentsPackage.STATELESS_HARDWARE__FAULT_OCC:
+				return FAULT_OCC_EDEFAULT == null ? faultOcc != null : !FAULT_OCC_EDEFAULT.equals(faultOcc);
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (probPermFault: ");
+		result.append(probPermFault);
+		result.append(", repairDelay: ");
+		result.append(repairDelay);
+		result.append(", faultOcc: ");
+		result.append(faultOcc);
+		result.append(')');
+		return result.toString();
+	}
+
+} //StatelessHardwareImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedComponents/impl/StatelessSoftwareImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedComponents/impl/StatelessSoftwareImpl.java
new file mode 100644
index 000000000..51b402439
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedComponents/impl/StatelessSoftwareImpl.java
@@ -0,0 +1,170 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.impl.DependableComponentImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StateBasedComponentsPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StatelessSoftware;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Stateless Software</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.impl.StatelessSoftwareImpl#getFaultOcc <em>Fault Occ</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class StatelessSoftwareImpl extends DependableComponentImpl implements StatelessSoftware {
+	/**
+	 * The default value of the '{@link #getFaultOcc() <em>Fault Occ</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getFaultOcc()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String FAULT_OCC_EDEFAULT = null;
+	/**
+	 * The cached value of the '{@link #getFaultOcc() <em>Fault Occ</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getFaultOcc()
+	 * @generated
+	 * @ordered
+	 */
+	protected String faultOcc = FAULT_OCC_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected StatelessSoftwareImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return StateBasedComponentsPackage.Literals.STATELESS_SOFTWARE;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getFaultOcc() {
+		return faultOcc;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setFaultOcc(String newFaultOcc) {
+		String oldFaultOcc = faultOcc;
+		faultOcc = newFaultOcc;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, StateBasedComponentsPackage.STATELESS_SOFTWARE__FAULT_OCC, oldFaultOcc, faultOcc));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case StateBasedComponentsPackage.STATELESS_SOFTWARE__FAULT_OCC:
+				return getFaultOcc();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case StateBasedComponentsPackage.STATELESS_SOFTWARE__FAULT_OCC:
+				setFaultOcc((String)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case StateBasedComponentsPackage.STATELESS_SOFTWARE__FAULT_OCC:
+				setFaultOcc(FAULT_OCC_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case StateBasedComponentsPackage.STATELESS_SOFTWARE__FAULT_OCC:
+				return FAULT_OCC_EDEFAULT == null ? faultOcc != null : !FAULT_OCC_EDEFAULT.equals(faultOcc);
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (faultOcc: ");
+		result.append(faultOcc);
+		result.append(')');
+		return result.toString();
+	}
+
+} //StatelessSoftwareImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedComponents/util/StateBasedComponentsAdapterFactory.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedComponents/util/StateBasedComponentsAdapterFactory.java
new file mode 100644
index 000000000..fe6370503
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedComponents/util/StateBasedComponentsAdapterFactory.java
@@ -0,0 +1,199 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+import org.eclipse.emf.ecore.EObject;
+import org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.DependableComponent;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StateBasedComponentsPackage
+ * @generated
+ */
+public class StateBasedComponentsAdapterFactory extends AdapterFactoryImpl {
+	/**
+	 * The cached model package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static StateBasedComponentsPackage modelPackage;
+
+	/**
+	 * Creates an instance of the adapter factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public StateBasedComponentsAdapterFactory() {
+		if (modelPackage == null) {
+			modelPackage = StateBasedComponentsPackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Returns whether this factory is applicable for the type of the object.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+	 * <!-- end-user-doc -->
+	 * @return whether this factory is applicable for the type of the object.
+	 * @generated
+	 */
+	@Override
+	public boolean isFactoryForType(Object object) {
+		if (object == modelPackage) {
+			return true;
+		}
+		if (object instanceof EObject) {
+			return ((EObject)object).eClass().getEPackage() == modelPackage;
+		}
+		return false;
+	}
+
+	/**
+	 * The switch that delegates to the <code>createXXX</code> methods.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected StateBasedComponentsSwitch<Adapter> modelSwitch =
+		new StateBasedComponentsSwitch<Adapter>() {
+			@Override
+			public Adapter caseStatefulHardware(StatefulHardware object) {
+				return createStatefulHardwareAdapter();
+			}
+			@Override
+			public Adapter caseStatefulSoftware(StatefulSoftware object) {
+				return createStatefulSoftwareAdapter();
+			}
+			@Override
+			public Adapter caseStatelessHardware(StatelessHardware object) {
+				return createStatelessHardwareAdapter();
+			}
+			@Override
+			public Adapter caseStatelessSoftware(StatelessSoftware object) {
+				return createStatelessSoftwareAdapter();
+			}
+			@Override
+			public Adapter caseDependableComponent(DependableComponent object) {
+				return createDependableComponentAdapter();
+			}
+			@Override
+			public Adapter defaultCase(EObject object) {
+				return createEObjectAdapter();
+			}
+		};
+
+	/**
+	 * Creates an adapter for the <code>target</code>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param target the object to adapt.
+	 * @return the adapter for the <code>target</code>.
+	 * @generated
+	 */
+	@Override
+	public Adapter createAdapter(Notifier target) {
+		return modelSwitch.doSwitch((EObject)target);
+	}
+
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StatefulHardware <em>Stateful Hardware</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StatefulHardware
+	 * @generated
+	 */
+	public Adapter createStatefulHardwareAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StatefulSoftware <em>Stateful Software</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StatefulSoftware
+	 * @generated
+	 */
+	public Adapter createStatefulSoftwareAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StatelessHardware <em>Stateless Hardware</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StatelessHardware
+	 * @generated
+	 */
+	public Adapter createStatelessHardwareAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StatelessSoftware <em>Stateless Software</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StatelessSoftware
+	 * @generated
+	 */
+	public Adapter createStatelessSoftwareAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.DependableComponent <em>Dependable Component</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.DependableComponent
+	 * @generated
+	 */
+	public Adapter createDependableComponentAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for the default case.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @generated
+	 */
+	public Adapter createEObjectAdapter() {
+		return null;
+	}
+
+} //StateBasedComponentsAdapterFactory
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedComponents/util/StateBasedComponentsResourceFactoryImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedComponents/util/StateBasedComponentsResourceFactoryImpl.java
new file mode 100644
index 000000000..32169b8f7
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedComponents/util/StateBasedComponentsResourceFactoryImpl.java
@@ -0,0 +1,61 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.util;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.resource.impl.ResourceFactoryImpl;
+
+import org.eclipse.emf.ecore.xmi.XMLResource;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource Factory</b> associated with the package.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.util.StateBasedComponentsResourceImpl
+ * @generated
+ */
+public class StateBasedComponentsResourceFactoryImpl extends ResourceFactoryImpl {
+	/**
+	 * Creates an instance of the resource factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public StateBasedComponentsResourceFactoryImpl() {
+		super();
+	}
+
+	/**
+	 * Creates an instance of the resource.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Resource createResource(URI uri) {
+		XMLResource result = new StateBasedComponentsResourceImpl(uri);
+		result.getDefaultSaveOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
+		result.getDefaultLoadOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
+
+		result.getDefaultSaveOptions().put(XMLResource.OPTION_SCHEMA_LOCATION, Boolean.TRUE);
+
+		result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+		result.getDefaultSaveOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+
+		result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_LEXICAL_HANDLER, Boolean.TRUE);
+		return result;
+	}
+
+} //StateBasedComponentsResourceFactoryImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedComponents/util/StateBasedComponentsResourceImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedComponents/util/StateBasedComponentsResourceImpl.java
new file mode 100644
index 000000000..6c1892354
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedComponents/util/StateBasedComponentsResourceImpl.java
@@ -0,0 +1,37 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.util;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource </b> associated with the package.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.util.StateBasedComponentsResourceFactoryImpl
+ * @generated
+ */
+public class StateBasedComponentsResourceImpl extends XMLResourceImpl {
+	/**
+	 * Creates an instance of the resource.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param uri the URI of the new resource.
+	 * @generated
+	 */
+	public StateBasedComponentsResourceImpl(URI uri) {
+		super(uri);
+	}
+
+} //StateBasedComponentsResourceImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedComponents/util/StateBasedComponentsSwitch.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedComponents/util/StateBasedComponentsSwitch.java
new file mode 100644
index 000000000..3a1fdb210
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedComponents/util/StateBasedComponentsSwitch.java
@@ -0,0 +1,203 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.util;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.util.Switch;
+import org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.DependableComponent;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StateBasedComponentsPackage
+ * @generated
+ */
+public class StateBasedComponentsSwitch<T> extends Switch<T> {
+	/**
+	 * The cached model package
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static StateBasedComponentsPackage modelPackage;
+
+	/**
+	 * Creates an instance of the switch.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public StateBasedComponentsSwitch() {
+		if (modelPackage == null) {
+			modelPackage = StateBasedComponentsPackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Checks whether this is a switch for the given package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @parameter ePackage the package in question.
+	 * @return whether this is a switch for the given package.
+	 * @generated
+	 */
+	@Override
+	protected boolean isSwitchFor(EPackage ePackage) {
+		return ePackage == modelPackage;
+	}
+
+	/**
+	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the first non-null result returned by a <code>caseXXX</code> call.
+	 * @generated
+	 */
+	@Override
+	protected T doSwitch(int classifierID, EObject theEObject) {
+		switch (classifierID) {
+			case StateBasedComponentsPackage.STATEFUL_HARDWARE: {
+				StatefulHardware statefulHardware = (StatefulHardware)theEObject;
+				T result = caseStatefulHardware(statefulHardware);
+				if (result == null) result = caseDependableComponent(statefulHardware);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case StateBasedComponentsPackage.STATEFUL_SOFTWARE: {
+				StatefulSoftware statefulSoftware = (StatefulSoftware)theEObject;
+				T result = caseStatefulSoftware(statefulSoftware);
+				if (result == null) result = caseDependableComponent(statefulSoftware);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case StateBasedComponentsPackage.STATELESS_HARDWARE: {
+				StatelessHardware statelessHardware = (StatelessHardware)theEObject;
+				T result = caseStatelessHardware(statelessHardware);
+				if (result == null) result = caseDependableComponent(statelessHardware);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case StateBasedComponentsPackage.STATELESS_SOFTWARE: {
+				StatelessSoftware statelessSoftware = (StatelessSoftware)theEObject;
+				T result = caseStatelessSoftware(statelessSoftware);
+				if (result == null) result = caseDependableComponent(statelessSoftware);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			default: return defaultCase(theEObject);
+		}
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Stateful Hardware</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Stateful Hardware</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseStatefulHardware(StatefulHardware object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Stateful Software</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Stateful Software</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseStatefulSoftware(StatefulSoftware object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Stateless Hardware</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Stateless Hardware</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseStatelessHardware(StatelessHardware object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Stateless Software</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Stateless Software</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseStatelessSoftware(StatelessSoftware object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Dependable Component</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Dependable Component</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseDependableComponent(DependableComponent object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch, but this is the last case anyway.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+	 * @generated
+	 */
+	@Override
+	public T defaultCase(EObject object) {
+		return null;
+	}
+
+} //StateBasedComponentsSwitch
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedComponents/util/StateBasedComponentsXMLProcessor.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedComponents/util/StateBasedComponentsXMLProcessor.java
new file mode 100644
index 000000000..ec90495f9
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedComponents/util/StateBasedComponentsXMLProcessor.java
@@ -0,0 +1,56 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.util;
+
+import java.util.Map;
+
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.xmi.util.XMLProcessor;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StateBasedComponentsPackage;
+
+/**
+ * This class contains helper methods to serialize and deserialize XML documents
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class StateBasedComponentsXMLProcessor extends XMLProcessor {
+
+	/**
+	 * Public constructor to instantiate the helper.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public StateBasedComponentsXMLProcessor() {
+		super((EPackage.Registry.INSTANCE));
+		StateBasedComponentsPackage.eINSTANCE.eClass();
+	}
+	
+	/**
+	 * Register for "*" and "xml" file extensions the StateBasedComponentsResourceFactoryImpl factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected Map<String, Resource.Factory> getRegistrations() {
+		if (registrations == null) {
+			super.getRegistrations();
+			registrations.put(XML_EXTENSION, new StateBasedComponentsResourceFactoryImpl());
+			registrations.put(STAR_EXTENSION, new StateBasedComponentsResourceFactoryImpl());
+		}
+		return registrations;
+	}
+
+} //StateBasedComponentsXMLProcessor
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedDataTypes/Availability.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedDataTypes/Availability.java
new file mode 100644
index 000000000..61cbe91a3
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedDataTypes/Availability.java
@@ -0,0 +1,26 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Availability</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.StateBasedDataTypesPackage#getAvailability()
+ * @model
+ * @generated
+ */
+public interface Availability extends DependabilityMeasure {
+} // Availability
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedDataTypes/ConfidenceKind.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedDataTypes/ConfidenceKind.java
new file mode 100644
index 000000000..1c0a5ebca
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedDataTypes/ConfidenceKind.java
@@ -0,0 +1,217 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Confidence Kind</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.StateBasedDataTypesPackage#getConfidenceKind()
+ * @model
+ * @generated
+ */
+public enum ConfidenceKind implements Enumerator {
+	/**
+	 * The '<em><b>Relative</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #RELATIVE_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	RELATIVE(0, "relative", "relative"),
+
+	/**
+	 * The '<em><b>Absolute</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #ABSOLUTE_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	ABSOLUTE(1, "absolute", "absolute");
+
+	/**
+	 * The '<em><b>Relative</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>Relative</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #RELATIVE
+	 * @model name="relative"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int RELATIVE_VALUE = 0;
+
+	/**
+	 * The '<em><b>Absolute</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>Absolute</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #ABSOLUTE
+	 * @model name="absolute"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int ABSOLUTE_VALUE = 1;
+
+	/**
+	 * An array of all the '<em><b>Confidence Kind</b></em>' enumerators.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static final ConfidenceKind[] VALUES_ARRAY =
+		new ConfidenceKind[] {
+			RELATIVE,
+			ABSOLUTE,
+		};
+
+	/**
+	 * A public read-only list of all the '<em><b>Confidence Kind</b></em>' enumerators.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final List<ConfidenceKind> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+	/**
+	 * Returns the '<em><b>Confidence Kind</b></em>' literal with the specified literal value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static ConfidenceKind get(String literal) {
+		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+			ConfidenceKind result = VALUES_ARRAY[i];
+			if (result.toString().equals(literal)) {
+				return result;
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Returns the '<em><b>Confidence Kind</b></em>' literal with the specified name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static ConfidenceKind getByName(String name) {
+		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+			ConfidenceKind result = VALUES_ARRAY[i];
+			if (result.getName().equals(name)) {
+				return result;
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Returns the '<em><b>Confidence Kind</b></em>' literal with the specified integer value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static ConfidenceKind get(int value) {
+		switch (value) {
+			case RELATIVE_VALUE: return RELATIVE;
+			case ABSOLUTE_VALUE: return ABSOLUTE;
+		}
+		return null;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final int value;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final String name;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final String literal;
+
+	/**
+	 * Only this class can construct instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private ConfidenceKind(int value, String name, String literal) {
+		this.value = value;
+		this.name = name;
+		this.literal = literal;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public int getValue() {
+	  return value;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getName() {
+	  return name;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getLiteral() {
+	  return literal;
+	}
+
+	/**
+	 * Returns the literal value of the enumerator, which is its string representation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		return literal;
+	}
+	
+} //ConfidenceKind
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedDataTypes/DependabilityMeasure.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedDataTypes/DependabilityMeasure.java
new file mode 100644
index 000000000..17d28feb1
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedDataTypes/DependabilityMeasure.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Dependability Measure</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.StateBasedDataTypesPackage#getDependabilityMeasure()
+ * @model
+ * @generated
+ */
+public interface DependabilityMeasure extends EObject {
+} // DependabilityMeasure
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedDataTypes/EvaluationAnalytical.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedDataTypes/EvaluationAnalytical.java
new file mode 100644
index 000000000..4af268355
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedDataTypes/EvaluationAnalytical.java
@@ -0,0 +1,26 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Evaluation Analytical</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.StateBasedDataTypesPackage#getEvaluationAnalytical()
+ * @model
+ * @generated
+ */
+public interface EvaluationAnalytical extends EvaluationMethod {
+} // EvaluationAnalytical
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedDataTypes/EvaluationBySimulation.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedDataTypes/EvaluationBySimulation.java
new file mode 100644
index 000000000..73d5d2384
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedDataTypes/EvaluationBySimulation.java
@@ -0,0 +1,26 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Evaluation By Simulation</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.StateBasedDataTypesPackage#getEvaluationBySimulation()
+ * @model
+ * @generated
+ */
+public interface EvaluationBySimulation extends EvaluationMethod {
+} // EvaluationBySimulation
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedDataTypes/EvaluationMethod.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedDataTypes/EvaluationMethod.java
new file mode 100644
index 000000000..69986ff68
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedDataTypes/EvaluationMethod.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Evaluation Method</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.StateBasedDataTypesPackage#getEvaluationMethod()
+ * @model
+ * @generated
+ */
+public interface EvaluationMethod extends EObject {
+} // EvaluationMethod
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedDataTypes/EvaluationType.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedDataTypes/EvaluationType.java
new file mode 100644
index 000000000..f150adf9f
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedDataTypes/EvaluationType.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Evaluation Type</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.StateBasedDataTypesPackage#getEvaluationType()
+ * @model
+ * @generated
+ */
+public interface EvaluationType extends EObject {
+} // EvaluationType
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedDataTypes/MTTF.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedDataTypes/MTTF.java
new file mode 100644
index 000000000..bfd650a20
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedDataTypes/MTTF.java
@@ -0,0 +1,26 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>MTTF</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.StateBasedDataTypesPackage#getMTTF()
+ * @model
+ * @generated
+ */
+public interface MTTF extends DependabilityMeasure {
+} // MTTF
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedDataTypes/RedundancyKind.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedDataTypes/RedundancyKind.java
new file mode 100644
index 000000000..62fc111fb
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedDataTypes/RedundancyKind.java
@@ -0,0 +1,217 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Redundancy Kind</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.StateBasedDataTypesPackage#getRedundancyKind()
+ * @model
+ * @generated
+ */
+public enum RedundancyKind implements Enumerator {
+	/**
+	 * The '<em><b>TMR</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #TMR_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	TMR(0, "TMR", "TMR"),
+
+	/**
+	 * The '<em><b>Recovery</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #RECOVERY_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	RECOVERY(1, "Recovery", "Recovery");
+
+	/**
+	 * The '<em><b>TMR</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>TMR</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #TMR
+	 * @model
+	 * @generated
+	 * @ordered
+	 */
+	public static final int TMR_VALUE = 0;
+
+	/**
+	 * The '<em><b>Recovery</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>Recovery</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #RECOVERY
+	 * @model name="Recovery"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int RECOVERY_VALUE = 1;
+
+	/**
+	 * An array of all the '<em><b>Redundancy Kind</b></em>' enumerators.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static final RedundancyKind[] VALUES_ARRAY =
+		new RedundancyKind[] {
+			TMR,
+			RECOVERY,
+		};
+
+	/**
+	 * A public read-only list of all the '<em><b>Redundancy Kind</b></em>' enumerators.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final List<RedundancyKind> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+	/**
+	 * Returns the '<em><b>Redundancy Kind</b></em>' literal with the specified literal value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static RedundancyKind get(String literal) {
+		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+			RedundancyKind result = VALUES_ARRAY[i];
+			if (result.toString().equals(literal)) {
+				return result;
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Returns the '<em><b>Redundancy Kind</b></em>' literal with the specified name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static RedundancyKind getByName(String name) {
+		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+			RedundancyKind result = VALUES_ARRAY[i];
+			if (result.getName().equals(name)) {
+				return result;
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Returns the '<em><b>Redundancy Kind</b></em>' literal with the specified integer value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static RedundancyKind get(int value) {
+		switch (value) {
+			case TMR_VALUE: return TMR;
+			case RECOVERY_VALUE: return RECOVERY;
+		}
+		return null;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final int value;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final String name;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final String literal;
+
+	/**
+	 * Only this class can construct instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private RedundancyKind(int value, String name, String literal) {
+		this.value = value;
+		this.name = name;
+		this.literal = literal;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public int getValue() {
+	  return value;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getName() {
+	  return name;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getLiteral() {
+	  return literal;
+	}
+
+	/**
+	 * Returns the literal value of the enumerator, which is its string representation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		return literal;
+	}
+	
+} //RedundancyKind
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedDataTypes/Reliability.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedDataTypes/Reliability.java
new file mode 100644
index 000000000..e898e3d6e
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedDataTypes/Reliability.java
@@ -0,0 +1,26 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Reliability</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.StateBasedDataTypesPackage#getReliability()
+ * @model
+ * @generated
+ */
+public interface Reliability extends DependabilityMeasure {
+} // Reliability
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedDataTypes/StateBasedDataTypesFactory.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedDataTypes/StateBasedDataTypesFactory.java
new file mode 100644
index 000000000..f8614225a
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedDataTypes/StateBasedDataTypesFactory.java
@@ -0,0 +1,123 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.StateBasedDataTypesPackage
+ * @generated
+ */
+public interface StateBasedDataTypesFactory extends EFactory {
+	/**
+	 * The singleton instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	StateBasedDataTypesFactory eINSTANCE = org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.impl.StateBasedDataTypesFactoryImpl.init();
+
+	/**
+	 * Returns a new object of class '<em>Dependability Measure</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Dependability Measure</em>'.
+	 * @generated
+	 */
+	DependabilityMeasure createDependabilityMeasure();
+
+	/**
+	 * Returns a new object of class '<em>Evaluation Method</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Evaluation Method</em>'.
+	 * @generated
+	 */
+	EvaluationMethod createEvaluationMethod();
+
+	/**
+	 * Returns a new object of class '<em>Evaluation By Simulation</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Evaluation By Simulation</em>'.
+	 * @generated
+	 */
+	EvaluationBySimulation createEvaluationBySimulation();
+
+	/**
+	 * Returns a new object of class '<em>Evaluation Analytical</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Evaluation Analytical</em>'.
+	 * @generated
+	 */
+	EvaluationAnalytical createEvaluationAnalytical();
+
+	/**
+	 * Returns a new object of class '<em>Reliability</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Reliability</em>'.
+	 * @generated
+	 */
+	Reliability createReliability();
+
+	/**
+	 * Returns a new object of class '<em>Evaluation Type</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Evaluation Type</em>'.
+	 * @generated
+	 */
+	EvaluationType createEvaluationType();
+
+	/**
+	 * Returns a new object of class '<em>Steady State</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Steady State</em>'.
+	 * @generated
+	 */
+	SteadyState createSteadyState();
+
+	/**
+	 * Returns a new object of class '<em>Availability</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Availability</em>'.
+	 * @generated
+	 */
+	Availability createAvailability();
+
+	/**
+	 * Returns a new object of class '<em>MTTF</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>MTTF</em>'.
+	 * @generated
+	 */
+	MTTF createMTTF();
+
+	/**
+	 * Returns the package supported by this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the package supported by this factory.
+	 * @generated
+	 */
+	StateBasedDataTypesPackage getStateBasedDataTypesPackage();
+
+} //StateBasedDataTypesFactory
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedDataTypes/StateBasedDataTypesPackage.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedDataTypes/StateBasedDataTypesPackage.java
new file mode 100644
index 000000000..1671b8ee4
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedDataTypes/StateBasedDataTypesPackage.java
@@ -0,0 +1,504 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EEnum;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ *   <li>each class,</li>
+ *   <li>each feature of each class,</li>
+ *   <li>each enum,</li>
+ *   <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.StateBasedDataTypesFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface StateBasedDataTypesPackage extends EPackage {
+	/**
+	 * The package name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNAME = "StateBasedDataTypes";
+
+	/**
+	 * The package namespace URI.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_URI = "http:///CHESS/Dependability/StateBased/StateBasedDataTypes.ecore";
+
+	/**
+	 * The package namespace name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_PREFIX = "CHESS.Dependability.StateBased.StateBasedDataTypes";
+
+	/**
+	 * The singleton instance of the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	StateBasedDataTypesPackage eINSTANCE = org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.impl.StateBasedDataTypesPackageImpl.init();
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.impl.DependabilityMeasureImpl <em>Dependability Measure</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.impl.DependabilityMeasureImpl
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.impl.StateBasedDataTypesPackageImpl#getDependabilityMeasure()
+	 * @generated
+	 */
+	int DEPENDABILITY_MEASURE = 0;
+
+	/**
+	 * The number of structural features of the '<em>Dependability Measure</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DEPENDABILITY_MEASURE_FEATURE_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.impl.EvaluationMethodImpl <em>Evaluation Method</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.impl.EvaluationMethodImpl
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.impl.StateBasedDataTypesPackageImpl#getEvaluationMethod()
+	 * @generated
+	 */
+	int EVALUATION_METHOD = 1;
+
+	/**
+	 * The number of structural features of the '<em>Evaluation Method</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EVALUATION_METHOD_FEATURE_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.impl.EvaluationBySimulationImpl <em>Evaluation By Simulation</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.impl.EvaluationBySimulationImpl
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.impl.StateBasedDataTypesPackageImpl#getEvaluationBySimulation()
+	 * @generated
+	 */
+	int EVALUATION_BY_SIMULATION = 2;
+
+	/**
+	 * The number of structural features of the '<em>Evaluation By Simulation</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EVALUATION_BY_SIMULATION_FEATURE_COUNT = EVALUATION_METHOD_FEATURE_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.impl.EvaluationAnalyticalImpl <em>Evaluation Analytical</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.impl.EvaluationAnalyticalImpl
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.impl.StateBasedDataTypesPackageImpl#getEvaluationAnalytical()
+	 * @generated
+	 */
+	int EVALUATION_ANALYTICAL = 3;
+
+	/**
+	 * The number of structural features of the '<em>Evaluation Analytical</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EVALUATION_ANALYTICAL_FEATURE_COUNT = EVALUATION_METHOD_FEATURE_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.impl.ReliabilityImpl <em>Reliability</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.impl.ReliabilityImpl
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.impl.StateBasedDataTypesPackageImpl#getReliability()
+	 * @generated
+	 */
+	int RELIABILITY = 4;
+
+	/**
+	 * The number of structural features of the '<em>Reliability</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int RELIABILITY_FEATURE_COUNT = DEPENDABILITY_MEASURE_FEATURE_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.impl.EvaluationTypeImpl <em>Evaluation Type</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.impl.EvaluationTypeImpl
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.impl.StateBasedDataTypesPackageImpl#getEvaluationType()
+	 * @generated
+	 */
+	int EVALUATION_TYPE = 5;
+
+	/**
+	 * The number of structural features of the '<em>Evaluation Type</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EVALUATION_TYPE_FEATURE_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.impl.SteadyStateImpl <em>Steady State</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.impl.SteadyStateImpl
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.impl.StateBasedDataTypesPackageImpl#getSteadyState()
+	 * @generated
+	 */
+	int STEADY_STATE = 6;
+
+	/**
+	 * The number of structural features of the '<em>Steady State</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STEADY_STATE_FEATURE_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.impl.AvailabilityImpl <em>Availability</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.impl.AvailabilityImpl
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.impl.StateBasedDataTypesPackageImpl#getAvailability()
+	 * @generated
+	 */
+	int AVAILABILITY = 7;
+
+	/**
+	 * The number of structural features of the '<em>Availability</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int AVAILABILITY_FEATURE_COUNT = DEPENDABILITY_MEASURE_FEATURE_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.impl.MTTFImpl <em>MTTF</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.impl.MTTFImpl
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.impl.StateBasedDataTypesPackageImpl#getMTTF()
+	 * @generated
+	 */
+	int MTTF = 8;
+
+	/**
+	 * The number of structural features of the '<em>MTTF</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MTTF_FEATURE_COUNT = DEPENDABILITY_MEASURE_FEATURE_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.RedundancyKind <em>Redundancy Kind</em>}' enum.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.RedundancyKind
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.impl.StateBasedDataTypesPackageImpl#getRedundancyKind()
+	 * @generated
+	 */
+	int REDUNDANCY_KIND = 9;
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.ConfidenceKind <em>Confidence Kind</em>}' enum.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.ConfidenceKind
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.impl.StateBasedDataTypesPackageImpl#getConfidenceKind()
+	 * @generated
+	 */
+	int CONFIDENCE_KIND = 10;
+
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.DependabilityMeasure <em>Dependability Measure</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Dependability Measure</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.DependabilityMeasure
+	 * @generated
+	 */
+	EClass getDependabilityMeasure();
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.EvaluationMethod <em>Evaluation Method</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Evaluation Method</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.EvaluationMethod
+	 * @generated
+	 */
+	EClass getEvaluationMethod();
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.EvaluationBySimulation <em>Evaluation By Simulation</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Evaluation By Simulation</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.EvaluationBySimulation
+	 * @generated
+	 */
+	EClass getEvaluationBySimulation();
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.EvaluationAnalytical <em>Evaluation Analytical</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Evaluation Analytical</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.EvaluationAnalytical
+	 * @generated
+	 */
+	EClass getEvaluationAnalytical();
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.Reliability <em>Reliability</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Reliability</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.Reliability
+	 * @generated
+	 */
+	EClass getReliability();
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.EvaluationType <em>Evaluation Type</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Evaluation Type</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.EvaluationType
+	 * @generated
+	 */
+	EClass getEvaluationType();
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.SteadyState <em>Steady State</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Steady State</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.SteadyState
+	 * @generated
+	 */
+	EClass getSteadyState();
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.Availability <em>Availability</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Availability</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.Availability
+	 * @generated
+	 */
+	EClass getAvailability();
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.MTTF <em>MTTF</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>MTTF</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.MTTF
+	 * @generated
+	 */
+	EClass getMTTF();
+
+	/**
+	 * Returns the meta object for enum '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.RedundancyKind <em>Redundancy Kind</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for enum '<em>Redundancy Kind</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.RedundancyKind
+	 * @generated
+	 */
+	EEnum getRedundancyKind();
+
+	/**
+	 * Returns the meta object for enum '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.ConfidenceKind <em>Confidence Kind</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for enum '<em>Confidence Kind</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.ConfidenceKind
+	 * @generated
+	 */
+	EEnum getConfidenceKind();
+
+	/**
+	 * Returns the factory that creates the instances of the model.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the factory that creates the instances of the model.
+	 * @generated
+	 */
+	StateBasedDataTypesFactory getStateBasedDataTypesFactory();
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * Defines literals for the meta objects that represent
+	 * <ul>
+	 *   <li>each class,</li>
+	 *   <li>each feature of each class,</li>
+	 *   <li>each enum,</li>
+	 *   <li>and each data type</li>
+	 * </ul>
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	interface Literals {
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.impl.DependabilityMeasureImpl <em>Dependability Measure</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.impl.DependabilityMeasureImpl
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.impl.StateBasedDataTypesPackageImpl#getDependabilityMeasure()
+		 * @generated
+		 */
+		EClass DEPENDABILITY_MEASURE = eINSTANCE.getDependabilityMeasure();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.impl.EvaluationMethodImpl <em>Evaluation Method</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.impl.EvaluationMethodImpl
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.impl.StateBasedDataTypesPackageImpl#getEvaluationMethod()
+		 * @generated
+		 */
+		EClass EVALUATION_METHOD = eINSTANCE.getEvaluationMethod();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.impl.EvaluationBySimulationImpl <em>Evaluation By Simulation</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.impl.EvaluationBySimulationImpl
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.impl.StateBasedDataTypesPackageImpl#getEvaluationBySimulation()
+		 * @generated
+		 */
+		EClass EVALUATION_BY_SIMULATION = eINSTANCE.getEvaluationBySimulation();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.impl.EvaluationAnalyticalImpl <em>Evaluation Analytical</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.impl.EvaluationAnalyticalImpl
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.impl.StateBasedDataTypesPackageImpl#getEvaluationAnalytical()
+		 * @generated
+		 */
+		EClass EVALUATION_ANALYTICAL = eINSTANCE.getEvaluationAnalytical();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.impl.ReliabilityImpl <em>Reliability</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.impl.ReliabilityImpl
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.impl.StateBasedDataTypesPackageImpl#getReliability()
+		 * @generated
+		 */
+		EClass RELIABILITY = eINSTANCE.getReliability();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.impl.EvaluationTypeImpl <em>Evaluation Type</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.impl.EvaluationTypeImpl
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.impl.StateBasedDataTypesPackageImpl#getEvaluationType()
+		 * @generated
+		 */
+		EClass EVALUATION_TYPE = eINSTANCE.getEvaluationType();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.impl.SteadyStateImpl <em>Steady State</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.impl.SteadyStateImpl
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.impl.StateBasedDataTypesPackageImpl#getSteadyState()
+		 * @generated
+		 */
+		EClass STEADY_STATE = eINSTANCE.getSteadyState();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.impl.AvailabilityImpl <em>Availability</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.impl.AvailabilityImpl
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.impl.StateBasedDataTypesPackageImpl#getAvailability()
+		 * @generated
+		 */
+		EClass AVAILABILITY = eINSTANCE.getAvailability();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.impl.MTTFImpl <em>MTTF</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.impl.MTTFImpl
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.impl.StateBasedDataTypesPackageImpl#getMTTF()
+		 * @generated
+		 */
+		EClass MTTF = eINSTANCE.getMTTF();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.RedundancyKind <em>Redundancy Kind</em>}' enum.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.RedundancyKind
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.impl.StateBasedDataTypesPackageImpl#getRedundancyKind()
+		 * @generated
+		 */
+		EEnum REDUNDANCY_KIND = eINSTANCE.getRedundancyKind();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.ConfidenceKind <em>Confidence Kind</em>}' enum.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.ConfidenceKind
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.impl.StateBasedDataTypesPackageImpl#getConfidenceKind()
+		 * @generated
+		 */
+		EEnum CONFIDENCE_KIND = eINSTANCE.getConfidenceKind();
+
+	}
+
+} //StateBasedDataTypesPackage
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedDataTypes/SteadyState.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedDataTypes/SteadyState.java
new file mode 100644
index 000000000..8cbaee032
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedDataTypes/SteadyState.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Steady State</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.StateBasedDataTypesPackage#getSteadyState()
+ * @model
+ * @generated
+ */
+public interface SteadyState extends EObject {
+} // SteadyState
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedDataTypes/impl/AvailabilityImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedDataTypes/impl/AvailabilityImpl.java
new file mode 100644
index 000000000..26b9be167
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedDataTypes/impl/AvailabilityImpl.java
@@ -0,0 +1,52 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.Availability;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.EvaluationType;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.StateBasedDataTypesPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Availability</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class AvailabilityImpl extends DependabilityMeasureImpl implements Availability {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected AvailabilityImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return StateBasedDataTypesPackage.Literals.AVAILABILITY;
+	}
+
+} //AvailabilityImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedDataTypes/impl/DependabilityMeasureImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedDataTypes/impl/DependabilityMeasureImpl.java
new file mode 100644
index 000000000..1dc3e52a4
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedDataTypes/impl/DependabilityMeasureImpl.java
@@ -0,0 +1,53 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.DependabilityMeasure;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.EvaluationMethod;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.StateBasedDataTypesPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Dependability Measure</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class DependabilityMeasureImpl extends EObjectImpl implements DependabilityMeasure {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected DependabilityMeasureImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return StateBasedDataTypesPackage.Literals.DEPENDABILITY_MEASURE;
+	}
+
+} //DependabilityMeasureImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedDataTypes/impl/EvaluationAnalyticalImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedDataTypes/impl/EvaluationAnalyticalImpl.java
new file mode 100644
index 000000000..35d0e2488
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedDataTypes/impl/EvaluationAnalyticalImpl.java
@@ -0,0 +1,49 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.EvaluationAnalytical;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.StateBasedDataTypesPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Evaluation Analytical</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class EvaluationAnalyticalImpl extends EvaluationMethodImpl implements EvaluationAnalytical {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected EvaluationAnalyticalImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return StateBasedDataTypesPackage.Literals.EVALUATION_ANALYTICAL;
+	}
+
+} //EvaluationAnalyticalImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedDataTypes/impl/EvaluationBySimulationImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedDataTypes/impl/EvaluationBySimulationImpl.java
new file mode 100644
index 000000000..bb715db52
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedDataTypes/impl/EvaluationBySimulationImpl.java
@@ -0,0 +1,50 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.ConfidenceKind;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.EvaluationBySimulation;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.StateBasedDataTypesPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Evaluation By Simulation</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class EvaluationBySimulationImpl extends EvaluationMethodImpl implements EvaluationBySimulation {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected EvaluationBySimulationImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return StateBasedDataTypesPackage.Literals.EVALUATION_BY_SIMULATION;
+	}
+
+} //EvaluationBySimulationImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedDataTypes/impl/EvaluationMethodImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedDataTypes/impl/EvaluationMethodImpl.java
new file mode 100644
index 000000000..c993215f8
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedDataTypes/impl/EvaluationMethodImpl.java
@@ -0,0 +1,54 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.EvaluationAnalytical;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.EvaluationBySimulation;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.EvaluationMethod;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.StateBasedDataTypesPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Evaluation Method</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class EvaluationMethodImpl extends EObjectImpl implements EvaluationMethod {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected EvaluationMethodImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return StateBasedDataTypesPackage.Literals.EVALUATION_METHOD;
+	}
+
+} //EvaluationMethodImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedDataTypes/impl/EvaluationTypeImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedDataTypes/impl/EvaluationTypeImpl.java
new file mode 100644
index 000000000..49e396f20
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedDataTypes/impl/EvaluationTypeImpl.java
@@ -0,0 +1,53 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.EvaluationType;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.StateBasedDataTypesPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.SteadyState;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Evaluation Type</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class EvaluationTypeImpl extends EObjectImpl implements EvaluationType {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected EvaluationTypeImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return StateBasedDataTypesPackage.Literals.EVALUATION_TYPE;
+	}
+
+} //EvaluationTypeImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedDataTypes/impl/MTTFImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedDataTypes/impl/MTTFImpl.java
new file mode 100644
index 000000000..123ca13f9
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedDataTypes/impl/MTTFImpl.java
@@ -0,0 +1,47 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.MTTF;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.StateBasedDataTypesPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>MTTF</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class MTTFImpl extends DependabilityMeasureImpl implements MTTF {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected MTTFImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return StateBasedDataTypesPackage.Literals.MTTF;
+	}
+
+} //MTTFImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedDataTypes/impl/ReliabilityImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedDataTypes/impl/ReliabilityImpl.java
new file mode 100644
index 000000000..563ece80c
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedDataTypes/impl/ReliabilityImpl.java
@@ -0,0 +1,49 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.Reliability;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.StateBasedDataTypesPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Reliability</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class ReliabilityImpl extends DependabilityMeasureImpl implements Reliability {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ReliabilityImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return StateBasedDataTypesPackage.Literals.RELIABILITY;
+	}
+
+} //ReliabilityImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedDataTypes/impl/StateBasedDataTypesFactoryImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedDataTypes/impl/StateBasedDataTypesFactoryImpl.java
new file mode 100644
index 000000000..1b0fd045e
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedDataTypes/impl/StateBasedDataTypesFactoryImpl.java
@@ -0,0 +1,264 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class StateBasedDataTypesFactoryImpl extends EFactoryImpl implements StateBasedDataTypesFactory {
+	/**
+	 * Creates the default factory implementation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static StateBasedDataTypesFactory init() {
+		try {
+			StateBasedDataTypesFactory theStateBasedDataTypesFactory = (StateBasedDataTypesFactory)EPackage.Registry.INSTANCE.getEFactory(StateBasedDataTypesPackage.eNS_URI);
+			if (theStateBasedDataTypesFactory != null) {
+				return theStateBasedDataTypesFactory;
+			}
+		}
+		catch (Exception exception) {
+			EcorePlugin.INSTANCE.log(exception);
+		}
+		return new StateBasedDataTypesFactoryImpl();
+	}
+
+	/**
+	 * Creates an instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public StateBasedDataTypesFactoryImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EObject create(EClass eClass) {
+		switch (eClass.getClassifierID()) {
+			case StateBasedDataTypesPackage.DEPENDABILITY_MEASURE: return createDependabilityMeasure();
+			case StateBasedDataTypesPackage.EVALUATION_METHOD: return createEvaluationMethod();
+			case StateBasedDataTypesPackage.EVALUATION_BY_SIMULATION: return createEvaluationBySimulation();
+			case StateBasedDataTypesPackage.EVALUATION_ANALYTICAL: return createEvaluationAnalytical();
+			case StateBasedDataTypesPackage.RELIABILITY: return createReliability();
+			case StateBasedDataTypesPackage.EVALUATION_TYPE: return createEvaluationType();
+			case StateBasedDataTypesPackage.STEADY_STATE: return createSteadyState();
+			case StateBasedDataTypesPackage.AVAILABILITY: return createAvailability();
+			case StateBasedDataTypesPackage.MTTF: return createMTTF();
+			default:
+				throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object createFromString(EDataType eDataType, String initialValue) {
+		switch (eDataType.getClassifierID()) {
+			case StateBasedDataTypesPackage.REDUNDANCY_KIND:
+				return createRedundancyKindFromString(eDataType, initialValue);
+			case StateBasedDataTypesPackage.CONFIDENCE_KIND:
+				return createConfidenceKindFromString(eDataType, initialValue);
+			default:
+				throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String convertToString(EDataType eDataType, Object instanceValue) {
+		switch (eDataType.getClassifierID()) {
+			case StateBasedDataTypesPackage.REDUNDANCY_KIND:
+				return convertRedundancyKindToString(eDataType, instanceValue);
+			case StateBasedDataTypesPackage.CONFIDENCE_KIND:
+				return convertConfidenceKindToString(eDataType, instanceValue);
+			default:
+				throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public DependabilityMeasure createDependabilityMeasure() {
+		DependabilityMeasureImpl dependabilityMeasure = new DependabilityMeasureImpl();
+		return dependabilityMeasure;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EvaluationMethod createEvaluationMethod() {
+		EvaluationMethodImpl evaluationMethod = new EvaluationMethodImpl();
+		return evaluationMethod;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EvaluationBySimulation createEvaluationBySimulation() {
+		EvaluationBySimulationImpl evaluationBySimulation = new EvaluationBySimulationImpl();
+		return evaluationBySimulation;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EvaluationAnalytical createEvaluationAnalytical() {
+		EvaluationAnalyticalImpl evaluationAnalytical = new EvaluationAnalyticalImpl();
+		return evaluationAnalytical;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Reliability createReliability() {
+		ReliabilityImpl reliability = new ReliabilityImpl();
+		return reliability;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EvaluationType createEvaluationType() {
+		EvaluationTypeImpl evaluationType = new EvaluationTypeImpl();
+		return evaluationType;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public SteadyState createSteadyState() {
+		SteadyStateImpl steadyState = new SteadyStateImpl();
+		return steadyState;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Availability createAvailability() {
+		AvailabilityImpl availability = new AvailabilityImpl();
+		return availability;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public MTTF createMTTF() {
+		MTTFImpl mttf = new MTTFImpl();
+		return mttf;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public RedundancyKind createRedundancyKindFromString(EDataType eDataType, String initialValue) {
+		RedundancyKind result = RedundancyKind.get(initialValue);
+		if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+		return result;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String convertRedundancyKindToString(EDataType eDataType, Object instanceValue) {
+		return instanceValue == null ? null : instanceValue.toString();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ConfidenceKind createConfidenceKindFromString(EDataType eDataType, String initialValue) {
+		ConfidenceKind result = ConfidenceKind.get(initialValue);
+		if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+		return result;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String convertConfidenceKindToString(EDataType eDataType, Object instanceValue) {
+		return instanceValue == null ? null : instanceValue.toString();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public StateBasedDataTypesPackage getStateBasedDataTypesPackage() {
+		return (StateBasedDataTypesPackage)getEPackage();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @deprecated
+	 * @generated
+	 */
+	@Deprecated
+	public static StateBasedDataTypesPackage getPackage() {
+		return StateBasedDataTypesPackage.eINSTANCE;
+	}
+
+} //StateBasedDataTypesFactoryImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedDataTypes/impl/StateBasedDataTypesPackageImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedDataTypes/impl/StateBasedDataTypesPackageImpl.java
new file mode 100644
index 000000000..6e04cbab1
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedDataTypes/impl/StateBasedDataTypesPackageImpl.java
@@ -0,0 +1,525 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EEnum;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EcorePackage;
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+import org.eclipse.papyrus.MARTE.MARTEPackage;
+import org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.BasicNFP_TypesPackage;
+import org.eclipse.papyrus.MARTE_Library.GRM_BasicTypes.GRM_BasicTypesPackage;
+import org.eclipse.papyrus.MARTE_Library.MARTE_DataTypes.MARTE_DataTypesPackage;
+import org.eclipse.papyrus.MARTE_Library.MARTE_PrimitivesTypes.MARTE_PrimitivesTypesPackage;
+import org.eclipse.papyrus.MARTE_Library.MeasurementUnits.MeasurementUnitsPackage;
+import org.eclipse.papyrus.MARTE_Library.RS_Library.RS_LibraryPackage;
+import org.eclipse.papyrus.MARTE_Library.TimeLibrary.TimeLibraryPackage;
+import org.eclipse.papyrus.MARTE_Library.TimeTypesLibrary.TimeTypesLibraryPackage;
+import org.polarsys.chess.chessmlprofile.chessmlprofilePackage;
+import org.polarsys.chess.chessmlprofile.ComponentModel.ComponentModelPackage;
+import org.polarsys.chess.chessmlprofile.ComponentModel.impl.ComponentModelPackageImpl;
+import org.polarsys.chess.chessmlprofile.Core.CorePackage;
+import org.polarsys.chess.chessmlprofile.Core.CHESSViews.CHESSViewsPackage;
+import org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl.CHESSViewsPackageImpl;
+import org.polarsys.chess.chessmlprofile.Core.impl.CorePackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.DataFlowCallGraph.DataFlowCallGraphPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.DataFlowCallGraph.impl.DataFlowCallGraphPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.DependableComponentPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.impl.DependableComponentPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEAPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEADataTypes.FMEADataTypesPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEADataTypes.impl.FMEADataTypesPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.impl.FMEAPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.FailurePropagationDataTypesPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.impl.FailurePropagationDataTypesPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl.FailurePropagationPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans.MitigationMeansPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans.impl.MitigationMeansPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.FaultTolerancePackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.impl.FaultTolerancePackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.MaintenanceMonitoringPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.impl.MaintenanceMonitoringPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.StateBasedAnalysisPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.impl.StateBasedAnalysisPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StateBasedComponentsPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.impl.StateBasedComponentsPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.Availability;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.ConfidenceKind;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.DependabilityMeasure;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.EvaluationAnalytical;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.EvaluationBySimulation;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.EvaluationMethod;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.EvaluationType;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.RedundancyKind;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.Reliability;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.StateBasedDataTypesFactory;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.StateBasedDataTypesPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.SteadyState;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatsPropagationPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.ThreatsPropagationPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.DeploymentConfAnalysisPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.impl.DeploymentConfAnalysisPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HardwareBaselinePackage;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.HardwareBaselinePackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTComponentModelPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.RTDataTypesPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.impl.RTDataTypesPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.impl.RTComponentModelPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingAnalysisPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.TimingConstraintsPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.impl.TimingConstraintsPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.impl.TimingAnalysisPackageImpl;
+import org.polarsys.chess.chessmlprofile.impl.chessmlprofilePackageImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class StateBasedDataTypesPackageImpl extends EPackageImpl implements StateBasedDataTypesPackage {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass dependabilityMeasureEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass evaluationMethodEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass evaluationBySimulationEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass evaluationAnalyticalEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass reliabilityEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass evaluationTypeEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass steadyStateEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass availabilityEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass mttfEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EEnum redundancyKindEEnum = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EEnum confidenceKindEEnum = null;
+
+	/**
+	 * Creates an instance of the model <b>Package</b>, registered with
+	 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+	 * package URI value.
+	 * <p>Note: the correct way to create the package is via the static
+	 * factory method {@link #init init()}, which also performs
+	 * initialization of the package, or returns the registered package,
+	 * if one already exists.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.emf.ecore.EPackage.Registry
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.StateBasedDataTypesPackage#eNS_URI
+	 * @see #init()
+	 * @generated
+	 */
+	private StateBasedDataTypesPackageImpl() {
+		super(eNS_URI, StateBasedDataTypesFactory.eINSTANCE);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static boolean isInited = false;
+
+	/**
+	 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+	 * 
+	 * <p>This method is used to initialize {@link StateBasedDataTypesPackage#eINSTANCE} when that field is accessed.
+	 * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #eNS_URI
+	 * @see #createPackageContents()
+	 * @see #initializePackageContents()
+	 * @generated
+	 */
+	public static StateBasedDataTypesPackage init() {
+		if (isInited) return (StateBasedDataTypesPackage)EPackage.Registry.INSTANCE.getEPackage(StateBasedDataTypesPackage.eNS_URI);
+
+		// Obtain or create and register package
+		StateBasedDataTypesPackageImpl theStateBasedDataTypesPackage = (StateBasedDataTypesPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof StateBasedDataTypesPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new StateBasedDataTypesPackageImpl());
+
+		isInited = true;
+
+		// Initialize simple dependencies
+		MARTEPackage.eINSTANCE.eClass();
+		MeasurementUnitsPackage.eINSTANCE.eClass();
+		GRM_BasicTypesPackage.eINSTANCE.eClass();
+		MARTE_DataTypesPackage.eINSTANCE.eClass();
+		BasicNFP_TypesPackage.eINSTANCE.eClass();
+		TimeTypesLibraryPackage.eINSTANCE.eClass();
+		TimeLibraryPackage.eINSTANCE.eClass();
+		RS_LibraryPackage.eINSTANCE.eClass();
+		MARTE_PrimitivesTypesPackage.eINSTANCE.eClass();
+		BasicNFP_TypesPackage.eINSTANCE.eClass();
+
+		// Obtain or create and register interdependencies
+		chessmlprofilePackageImpl thechessmlprofilePackage = (chessmlprofilePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(chessmlprofilePackage.eNS_URI) instanceof chessmlprofilePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(chessmlprofilePackage.eNS_URI) : chessmlprofilePackage.eINSTANCE);
+		CorePackageImpl theCorePackage = (CorePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(CorePackage.eNS_URI) instanceof CorePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(CorePackage.eNS_URI) : CorePackage.eINSTANCE);
+		CHESSViewsPackageImpl theCHESSViewsPackage = (CHESSViewsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(CHESSViewsPackage.eNS_URI) instanceof CHESSViewsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(CHESSViewsPackage.eNS_URI) : CHESSViewsPackage.eINSTANCE);
+		FailurePropagationPackageImpl theFailurePropagationPackage = (FailurePropagationPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FailurePropagationPackage.eNS_URI) instanceof FailurePropagationPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FailurePropagationPackage.eNS_URI) : FailurePropagationPackage.eINSTANCE);
+		FailurePropagationDataTypesPackageImpl theFailurePropagationDataTypesPackage = (FailurePropagationDataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FailurePropagationDataTypesPackage.eNS_URI) instanceof FailurePropagationDataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FailurePropagationDataTypesPackage.eNS_URI) : FailurePropagationDataTypesPackage.eINSTANCE);
+		DependableComponentPackageImpl theDependableComponentPackage = (DependableComponentPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DependableComponentPackage.eNS_URI) instanceof DependableComponentPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DependableComponentPackage.eNS_URI) : DependableComponentPackage.eINSTANCE);
+		ThreatsPropagationPackageImpl theThreatsPropagationPackage = (ThreatsPropagationPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ThreatsPropagationPackage.eNS_URI) instanceof ThreatsPropagationPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ThreatsPropagationPackage.eNS_URI) : ThreatsPropagationPackage.eINSTANCE);
+		DataFlowCallGraphPackageImpl theDataFlowCallGraphPackage = (DataFlowCallGraphPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DataFlowCallGraphPackage.eNS_URI) instanceof DataFlowCallGraphPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DataFlowCallGraphPackage.eNS_URI) : DataFlowCallGraphPackage.eINSTANCE);
+		StateBasedComponentsPackageImpl theStateBasedComponentsPackage = (StateBasedComponentsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(StateBasedComponentsPackage.eNS_URI) instanceof StateBasedComponentsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(StateBasedComponentsPackage.eNS_URI) : StateBasedComponentsPackage.eINSTANCE);
+		FaultTolerancePackageImpl theFaultTolerancePackage = (FaultTolerancePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FaultTolerancePackage.eNS_URI) instanceof FaultTolerancePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FaultTolerancePackage.eNS_URI) : FaultTolerancePackage.eINSTANCE);
+		MaintenanceMonitoringPackageImpl theMaintenanceMonitoringPackage = (MaintenanceMonitoringPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(MaintenanceMonitoringPackage.eNS_URI) instanceof MaintenanceMonitoringPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(MaintenanceMonitoringPackage.eNS_URI) : MaintenanceMonitoringPackage.eINSTANCE);
+		StateBasedAnalysisPackageImpl theStateBasedAnalysisPackage = (StateBasedAnalysisPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(StateBasedAnalysisPackage.eNS_URI) instanceof StateBasedAnalysisPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(StateBasedAnalysisPackage.eNS_URI) : StateBasedAnalysisPackage.eINSTANCE);
+		FMEAPackageImpl theFMEAPackage = (FMEAPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FMEAPackage.eNS_URI) instanceof FMEAPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FMEAPackage.eNS_URI) : FMEAPackage.eINSTANCE);
+		FMEADataTypesPackageImpl theFMEADataTypesPackage = (FMEADataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FMEADataTypesPackage.eNS_URI) instanceof FMEADataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FMEADataTypesPackage.eNS_URI) : FMEADataTypesPackage.eINSTANCE);
+		MitigationMeansPackageImpl theMitigationMeansPackage = (MitigationMeansPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(MitigationMeansPackage.eNS_URI) instanceof MitigationMeansPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(MitigationMeansPackage.eNS_URI) : MitigationMeansPackage.eINSTANCE);
+		TimingAnalysisPackageImpl theTimingAnalysisPackage = (TimingAnalysisPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimingAnalysisPackage.eNS_URI) instanceof TimingAnalysisPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimingAnalysisPackage.eNS_URI) : TimingAnalysisPackage.eINSTANCE);
+		TimingConstraintsPackageImpl theTimingConstraintsPackage = (TimingConstraintsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimingConstraintsPackage.eNS_URI) instanceof TimingConstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimingConstraintsPackage.eNS_URI) : TimingConstraintsPackage.eINSTANCE);
+		HardwareBaselinePackageImpl theHardwareBaselinePackage = (HardwareBaselinePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HardwareBaselinePackage.eNS_URI) instanceof HardwareBaselinePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HardwareBaselinePackage.eNS_URI) : HardwareBaselinePackage.eINSTANCE);
+		DeploymentConfAnalysisPackageImpl theDeploymentConfAnalysisPackage = (DeploymentConfAnalysisPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DeploymentConfAnalysisPackage.eNS_URI) instanceof DeploymentConfAnalysisPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DeploymentConfAnalysisPackage.eNS_URI) : DeploymentConfAnalysisPackage.eINSTANCE);
+		RTComponentModelPackageImpl theRTComponentModelPackage = (RTComponentModelPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RTComponentModelPackage.eNS_URI) instanceof RTComponentModelPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RTComponentModelPackage.eNS_URI) : RTComponentModelPackage.eINSTANCE);
+		RTDataTypesPackageImpl theRTDataTypesPackage = (RTDataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RTDataTypesPackage.eNS_URI) instanceof RTDataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RTDataTypesPackage.eNS_URI) : RTDataTypesPackage.eINSTANCE);
+		ComponentModelPackageImpl theComponentModelPackage = (ComponentModelPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ComponentModelPackage.eNS_URI) instanceof ComponentModelPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ComponentModelPackage.eNS_URI) : ComponentModelPackage.eINSTANCE);
+
+		// Create package meta-data objects
+		theStateBasedDataTypesPackage.createPackageContents();
+		thechessmlprofilePackage.createPackageContents();
+		theCorePackage.createPackageContents();
+		theCHESSViewsPackage.createPackageContents();
+		theFailurePropagationPackage.createPackageContents();
+		theFailurePropagationDataTypesPackage.createPackageContents();
+		theDependableComponentPackage.createPackageContents();
+		theThreatsPropagationPackage.createPackageContents();
+		theDataFlowCallGraphPackage.createPackageContents();
+		theStateBasedComponentsPackage.createPackageContents();
+		theFaultTolerancePackage.createPackageContents();
+		theMaintenanceMonitoringPackage.createPackageContents();
+		theStateBasedAnalysisPackage.createPackageContents();
+		theFMEAPackage.createPackageContents();
+		theFMEADataTypesPackage.createPackageContents();
+		theMitigationMeansPackage.createPackageContents();
+		theTimingAnalysisPackage.createPackageContents();
+		theTimingConstraintsPackage.createPackageContents();
+		theHardwareBaselinePackage.createPackageContents();
+		theDeploymentConfAnalysisPackage.createPackageContents();
+		theRTComponentModelPackage.createPackageContents();
+		theRTDataTypesPackage.createPackageContents();
+		theComponentModelPackage.createPackageContents();
+
+		// Initialize created meta-data
+		theStateBasedDataTypesPackage.initializePackageContents();
+		thechessmlprofilePackage.initializePackageContents();
+		theCorePackage.initializePackageContents();
+		theCHESSViewsPackage.initializePackageContents();
+		theFailurePropagationPackage.initializePackageContents();
+		theFailurePropagationDataTypesPackage.initializePackageContents();
+		theDependableComponentPackage.initializePackageContents();
+		theThreatsPropagationPackage.initializePackageContents();
+		theDataFlowCallGraphPackage.initializePackageContents();
+		theStateBasedComponentsPackage.initializePackageContents();
+		theFaultTolerancePackage.initializePackageContents();
+		theMaintenanceMonitoringPackage.initializePackageContents();
+		theStateBasedAnalysisPackage.initializePackageContents();
+		theFMEAPackage.initializePackageContents();
+		theFMEADataTypesPackage.initializePackageContents();
+		theMitigationMeansPackage.initializePackageContents();
+		theTimingAnalysisPackage.initializePackageContents();
+		theTimingConstraintsPackage.initializePackageContents();
+		theHardwareBaselinePackage.initializePackageContents();
+		theDeploymentConfAnalysisPackage.initializePackageContents();
+		theRTComponentModelPackage.initializePackageContents();
+		theRTDataTypesPackage.initializePackageContents();
+		theComponentModelPackage.initializePackageContents();
+
+		// Mark meta-data to indicate it can't be changed
+		theStateBasedDataTypesPackage.freeze();
+
+  
+		// Update the registry and return the package
+		EPackage.Registry.INSTANCE.put(StateBasedDataTypesPackage.eNS_URI, theStateBasedDataTypesPackage);
+		return theStateBasedDataTypesPackage;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getDependabilityMeasure() {
+		return dependabilityMeasureEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getEvaluationMethod() {
+		return evaluationMethodEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getEvaluationBySimulation() {
+		return evaluationBySimulationEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getEvaluationAnalytical() {
+		return evaluationAnalyticalEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getReliability() {
+		return reliabilityEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getEvaluationType() {
+		return evaluationTypeEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getSteadyState() {
+		return steadyStateEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getAvailability() {
+		return availabilityEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getMTTF() {
+		return mttfEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EEnum getRedundancyKind() {
+		return redundancyKindEEnum;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EEnum getConfidenceKind() {
+		return confidenceKindEEnum;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public StateBasedDataTypesFactory getStateBasedDataTypesFactory() {
+		return (StateBasedDataTypesFactory)getEFactoryInstance();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isCreated = false;
+
+	/**
+	 * Creates the meta-model objects for the package.  This method is
+	 * guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void createPackageContents() {
+		if (isCreated) return;
+		isCreated = true;
+
+		// Create classes and their features
+		dependabilityMeasureEClass = createEClass(DEPENDABILITY_MEASURE);
+
+		evaluationMethodEClass = createEClass(EVALUATION_METHOD);
+
+		evaluationBySimulationEClass = createEClass(EVALUATION_BY_SIMULATION);
+
+		evaluationAnalyticalEClass = createEClass(EVALUATION_ANALYTICAL);
+
+		reliabilityEClass = createEClass(RELIABILITY);
+
+		evaluationTypeEClass = createEClass(EVALUATION_TYPE);
+
+		steadyStateEClass = createEClass(STEADY_STATE);
+
+		availabilityEClass = createEClass(AVAILABILITY);
+
+		mttfEClass = createEClass(MTTF);
+
+		// Create enums
+		redundancyKindEEnum = createEEnum(REDUNDANCY_KIND);
+		confidenceKindEEnum = createEEnum(CONFIDENCE_KIND);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isInitialized = false;
+
+	/**
+	 * Complete the initialization of the package and its meta-model.  This
+	 * method is guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void initializePackageContents() {
+		if (isInitialized) return;
+		isInitialized = true;
+
+		// Initialize package
+		setName(eNAME);
+		setNsPrefix(eNS_PREFIX);
+		setNsURI(eNS_URI);
+
+		// Create type parameters
+
+		// Set bounds for type parameters
+
+		// Add supertypes to classes
+		evaluationBySimulationEClass.getESuperTypes().add(this.getEvaluationMethod());
+		evaluationAnalyticalEClass.getESuperTypes().add(this.getEvaluationMethod());
+		reliabilityEClass.getESuperTypes().add(this.getDependabilityMeasure());
+		availabilityEClass.getESuperTypes().add(this.getDependabilityMeasure());
+		mttfEClass.getESuperTypes().add(this.getDependabilityMeasure());
+
+		// Initialize classes and features; add operations and parameters
+		initEClass(dependabilityMeasureEClass, DependabilityMeasure.class, "DependabilityMeasure", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+		initEClass(evaluationMethodEClass, EvaluationMethod.class, "EvaluationMethod", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+		initEClass(evaluationBySimulationEClass, EvaluationBySimulation.class, "EvaluationBySimulation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+		initEClass(evaluationAnalyticalEClass, EvaluationAnalytical.class, "EvaluationAnalytical", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+		initEClass(reliabilityEClass, Reliability.class, "Reliability", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+		initEClass(evaluationTypeEClass, EvaluationType.class, "EvaluationType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+		initEClass(steadyStateEClass, SteadyState.class, "SteadyState", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+		initEClass(availabilityEClass, Availability.class, "Availability", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+		initEClass(mttfEClass, org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.MTTF.class, "MTTF", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+		// Initialize enums and add enum literals
+		initEEnum(redundancyKindEEnum, RedundancyKind.class, "RedundancyKind");
+		addEEnumLiteral(redundancyKindEEnum, RedundancyKind.TMR);
+		addEEnumLiteral(redundancyKindEEnum, RedundancyKind.RECOVERY);
+
+		initEEnum(confidenceKindEEnum, ConfidenceKind.class, "ConfidenceKind");
+		addEEnumLiteral(confidenceKindEEnum, ConfidenceKind.RELATIVE);
+		addEEnumLiteral(confidenceKindEEnum, ConfidenceKind.ABSOLUTE);
+	}
+
+} //StateBasedDataTypesPackageImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedDataTypes/impl/SteadyStateImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedDataTypes/impl/SteadyStateImpl.java
new file mode 100644
index 000000000..acbd5050c
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedDataTypes/impl/SteadyStateImpl.java
@@ -0,0 +1,50 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.StateBasedDataTypesPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.SteadyState;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Steady State</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class SteadyStateImpl extends EObjectImpl implements SteadyState {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected SteadyStateImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return StateBasedDataTypesPackage.Literals.STEADY_STATE;
+	}
+
+} //SteadyStateImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedDataTypes/util/StateBasedDataTypesAdapterFactory.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedDataTypes/util/StateBasedDataTypesAdapterFactory.java
new file mode 100644
index 000000000..c4a48fffe
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedDataTypes/util/StateBasedDataTypesAdapterFactory.java
@@ -0,0 +1,270 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+import org.eclipse.emf.ecore.EObject;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.StateBasedDataTypesPackage
+ * @generated
+ */
+public class StateBasedDataTypesAdapterFactory extends AdapterFactoryImpl {
+	/**
+	 * The cached model package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static StateBasedDataTypesPackage modelPackage;
+
+	/**
+	 * Creates an instance of the adapter factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public StateBasedDataTypesAdapterFactory() {
+		if (modelPackage == null) {
+			modelPackage = StateBasedDataTypesPackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Returns whether this factory is applicable for the type of the object.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+	 * <!-- end-user-doc -->
+	 * @return whether this factory is applicable for the type of the object.
+	 * @generated
+	 */
+	@Override
+	public boolean isFactoryForType(Object object) {
+		if (object == modelPackage) {
+			return true;
+		}
+		if (object instanceof EObject) {
+			return ((EObject)object).eClass().getEPackage() == modelPackage;
+		}
+		return false;
+	}
+
+	/**
+	 * The switch that delegates to the <code>createXXX</code> methods.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected StateBasedDataTypesSwitch<Adapter> modelSwitch =
+		new StateBasedDataTypesSwitch<Adapter>() {
+			@Override
+			public Adapter caseDependabilityMeasure(DependabilityMeasure object) {
+				return createDependabilityMeasureAdapter();
+			}
+			@Override
+			public Adapter caseEvaluationMethod(EvaluationMethod object) {
+				return createEvaluationMethodAdapter();
+			}
+			@Override
+			public Adapter caseEvaluationBySimulation(EvaluationBySimulation object) {
+				return createEvaluationBySimulationAdapter();
+			}
+			@Override
+			public Adapter caseEvaluationAnalytical(EvaluationAnalytical object) {
+				return createEvaluationAnalyticalAdapter();
+			}
+			@Override
+			public Adapter caseReliability(Reliability object) {
+				return createReliabilityAdapter();
+			}
+			@Override
+			public Adapter caseEvaluationType(EvaluationType object) {
+				return createEvaluationTypeAdapter();
+			}
+			@Override
+			public Adapter caseSteadyState(SteadyState object) {
+				return createSteadyStateAdapter();
+			}
+			@Override
+			public Adapter caseAvailability(Availability object) {
+				return createAvailabilityAdapter();
+			}
+			@Override
+			public Adapter caseMTTF(MTTF object) {
+				return createMTTFAdapter();
+			}
+			@Override
+			public Adapter defaultCase(EObject object) {
+				return createEObjectAdapter();
+			}
+		};
+
+	/**
+	 * Creates an adapter for the <code>target</code>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param target the object to adapt.
+	 * @return the adapter for the <code>target</code>.
+	 * @generated
+	 */
+	@Override
+	public Adapter createAdapter(Notifier target) {
+		return modelSwitch.doSwitch((EObject)target);
+	}
+
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.DependabilityMeasure <em>Dependability Measure</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.DependabilityMeasure
+	 * @generated
+	 */
+	public Adapter createDependabilityMeasureAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.EvaluationMethod <em>Evaluation Method</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.EvaluationMethod
+	 * @generated
+	 */
+	public Adapter createEvaluationMethodAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.EvaluationBySimulation <em>Evaluation By Simulation</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.EvaluationBySimulation
+	 * @generated
+	 */
+	public Adapter createEvaluationBySimulationAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.EvaluationAnalytical <em>Evaluation Analytical</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.EvaluationAnalytical
+	 * @generated
+	 */
+	public Adapter createEvaluationAnalyticalAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.Reliability <em>Reliability</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.Reliability
+	 * @generated
+	 */
+	public Adapter createReliabilityAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.EvaluationType <em>Evaluation Type</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.EvaluationType
+	 * @generated
+	 */
+	public Adapter createEvaluationTypeAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.SteadyState <em>Steady State</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.SteadyState
+	 * @generated
+	 */
+	public Adapter createSteadyStateAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.Availability <em>Availability</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.Availability
+	 * @generated
+	 */
+	public Adapter createAvailabilityAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.MTTF <em>MTTF</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.MTTF
+	 * @generated
+	 */
+	public Adapter createMTTFAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for the default case.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @generated
+	 */
+	public Adapter createEObjectAdapter() {
+		return null;
+	}
+
+} //StateBasedDataTypesAdapterFactory
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedDataTypes/util/StateBasedDataTypesSwitch.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedDataTypes/util/StateBasedDataTypesSwitch.java
new file mode 100644
index 000000000..850957cba
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/StateBased/StateBasedDataTypes/util/StateBasedDataTypesSwitch.java
@@ -0,0 +1,293 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.util;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.util.Switch;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.StateBasedDataTypesPackage
+ * @generated
+ */
+public class StateBasedDataTypesSwitch<T> extends Switch<T> {
+	/**
+	 * The cached model package
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static StateBasedDataTypesPackage modelPackage;
+
+	/**
+	 * Creates an instance of the switch.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public StateBasedDataTypesSwitch() {
+		if (modelPackage == null) {
+			modelPackage = StateBasedDataTypesPackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Checks whether this is a switch for the given package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @parameter ePackage the package in question.
+	 * @return whether this is a switch for the given package.
+	 * @generated
+	 */
+	@Override
+	protected boolean isSwitchFor(EPackage ePackage) {
+		return ePackage == modelPackage;
+	}
+
+	/**
+	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the first non-null result returned by a <code>caseXXX</code> call.
+	 * @generated
+	 */
+	@Override
+	protected T doSwitch(int classifierID, EObject theEObject) {
+		switch (classifierID) {
+			case StateBasedDataTypesPackage.DEPENDABILITY_MEASURE: {
+				DependabilityMeasure dependabilityMeasure = (DependabilityMeasure)theEObject;
+				T result = caseDependabilityMeasure(dependabilityMeasure);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case StateBasedDataTypesPackage.EVALUATION_METHOD: {
+				EvaluationMethod evaluationMethod = (EvaluationMethod)theEObject;
+				T result = caseEvaluationMethod(evaluationMethod);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case StateBasedDataTypesPackage.EVALUATION_BY_SIMULATION: {
+				EvaluationBySimulation evaluationBySimulation = (EvaluationBySimulation)theEObject;
+				T result = caseEvaluationBySimulation(evaluationBySimulation);
+				if (result == null) result = caseEvaluationMethod(evaluationBySimulation);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case StateBasedDataTypesPackage.EVALUATION_ANALYTICAL: {
+				EvaluationAnalytical evaluationAnalytical = (EvaluationAnalytical)theEObject;
+				T result = caseEvaluationAnalytical(evaluationAnalytical);
+				if (result == null) result = caseEvaluationMethod(evaluationAnalytical);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case StateBasedDataTypesPackage.RELIABILITY: {
+				Reliability reliability = (Reliability)theEObject;
+				T result = caseReliability(reliability);
+				if (result == null) result = caseDependabilityMeasure(reliability);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case StateBasedDataTypesPackage.EVALUATION_TYPE: {
+				EvaluationType evaluationType = (EvaluationType)theEObject;
+				T result = caseEvaluationType(evaluationType);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case StateBasedDataTypesPackage.STEADY_STATE: {
+				SteadyState steadyState = (SteadyState)theEObject;
+				T result = caseSteadyState(steadyState);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case StateBasedDataTypesPackage.AVAILABILITY: {
+				Availability availability = (Availability)theEObject;
+				T result = caseAvailability(availability);
+				if (result == null) result = caseDependabilityMeasure(availability);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case StateBasedDataTypesPackage.MTTF: {
+				MTTF mttf = (MTTF)theEObject;
+				T result = caseMTTF(mttf);
+				if (result == null) result = caseDependabilityMeasure(mttf);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			default: return defaultCase(theEObject);
+		}
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Dependability Measure</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Dependability Measure</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseDependabilityMeasure(DependabilityMeasure object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Evaluation Method</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Evaluation Method</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseEvaluationMethod(EvaluationMethod object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Evaluation By Simulation</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Evaluation By Simulation</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseEvaluationBySimulation(EvaluationBySimulation object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Evaluation Analytical</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Evaluation Analytical</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseEvaluationAnalytical(EvaluationAnalytical object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Reliability</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Reliability</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseReliability(Reliability object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Evaluation Type</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Evaluation Type</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseEvaluationType(EvaluationType object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Steady State</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Steady State</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseSteadyState(SteadyState object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Availability</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Availability</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseAvailability(Availability object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>MTTF</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>MTTF</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseMTTF(MTTF object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch, but this is the last case anyway.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+	 * @generated
+	 */
+	@Override
+	public T defaultCase(EObject object) {
+		return null;
+	}
+
+} //StateBasedDataTypesSwitch
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/DurationType.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/DurationType.java
new file mode 100644
index 000000000..4f0ca15c4
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/DurationType.java
@@ -0,0 +1,217 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Duration Type</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatsPropagationPackage#getDurationType()
+ * @model
+ * @generated
+ */
+public enum DurationType implements Enumerator {
+	/**
+	 * The '<em><b>Transient</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #TRANSIENT_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	TRANSIENT(0, "transient", "transient"),
+
+	/**
+	 * The '<em><b>Permanent</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #PERMANENT_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	PERMANENT(1, "permanent", "permanent");
+
+	/**
+	 * The '<em><b>Transient</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>Transient</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #TRANSIENT
+	 * @model name="transient"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int TRANSIENT_VALUE = 0;
+
+	/**
+	 * The '<em><b>Permanent</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>Permanent</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #PERMANENT
+	 * @model name="permanent"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int PERMANENT_VALUE = 1;
+
+	/**
+	 * An array of all the '<em><b>Duration Type</b></em>' enumerators.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static final DurationType[] VALUES_ARRAY =
+		new DurationType[] {
+			TRANSIENT,
+			PERMANENT,
+		};
+
+	/**
+	 * A public read-only list of all the '<em><b>Duration Type</b></em>' enumerators.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final List<DurationType> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+	/**
+	 * Returns the '<em><b>Duration Type</b></em>' literal with the specified literal value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static DurationType get(String literal) {
+		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+			DurationType result = VALUES_ARRAY[i];
+			if (result.toString().equals(literal)) {
+				return result;
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Returns the '<em><b>Duration Type</b></em>' literal with the specified name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static DurationType getByName(String name) {
+		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+			DurationType result = VALUES_ARRAY[i];
+			if (result.getName().equals(name)) {
+				return result;
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Returns the '<em><b>Duration Type</b></em>' literal with the specified integer value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static DurationType get(int value) {
+		switch (value) {
+			case TRANSIENT_VALUE: return TRANSIENT;
+			case PERMANENT_VALUE: return PERMANENT;
+		}
+		return null;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final int value;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final String name;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final String literal;
+
+	/**
+	 * Only this class can construct instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private DurationType(int value, String name, String literal) {
+		this.value = value;
+		this.name = name;
+		this.literal = literal;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public int getValue() {
+	  return value;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getName() {
+	  return name;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getLiteral() {
+	  return literal;
+	}
+
+	/**
+	 * Returns the literal value of the enumerator, which is its string representation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		return literal;
+	}
+	
+} //DurationType
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/EffectModesEnum.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/EffectModesEnum.java
new file mode 100644
index 000000000..747a2675d
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/EffectModesEnum.java
@@ -0,0 +1,271 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Effect Modes Enum</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatsPropagationPackage#getEffectModesEnum()
+ * @model
+ * @generated
+ */
+public enum EffectModesEnum implements Enumerator {
+	/**
+	 * The '<em><b>Stuck At</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #STUCK_AT_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	STUCK_AT(0, "StuckAt", "StuckAt"),
+
+	/**
+	 * The '<em><b>Stuck At Fixed</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #STUCK_AT_FIXED_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	STUCK_AT_FIXED(1, "StuckAtFixed", "StuckAtFixed"),
+
+	/**
+	 * The '<em><b>Inverted</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #INVERTED_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	INVERTED(2, "Inverted", "Inverted"),
+
+	/**
+	 * The '<em><b>Ramp Down</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #RAMP_DOWN_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	RAMP_DOWN(3, "RampDown", "RampDown");
+
+	/**
+	 * The '<em><b>Stuck At</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>Stuck At</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #STUCK_AT
+	 * @model name="StuckAt"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int STUCK_AT_VALUE = 0;
+
+	/**
+	 * The '<em><b>Stuck At Fixed</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>Stuck At Fixed</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #STUCK_AT_FIXED
+	 * @model name="StuckAtFixed"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int STUCK_AT_FIXED_VALUE = 1;
+
+	/**
+	 * The '<em><b>Inverted</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>Inverted</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #INVERTED
+	 * @model name="Inverted"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int INVERTED_VALUE = 2;
+
+	/**
+	 * The '<em><b>Ramp Down</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>Ramp Down</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #RAMP_DOWN
+	 * @model name="RampDown"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int RAMP_DOWN_VALUE = 3;
+
+	/**
+	 * An array of all the '<em><b>Effect Modes Enum</b></em>' enumerators.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static final EffectModesEnum[] VALUES_ARRAY =
+		new EffectModesEnum[] {
+			STUCK_AT,
+			STUCK_AT_FIXED,
+			INVERTED,
+			RAMP_DOWN,
+		};
+
+	/**
+	 * A public read-only list of all the '<em><b>Effect Modes Enum</b></em>' enumerators.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final List<EffectModesEnum> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+	/**
+	 * Returns the '<em><b>Effect Modes Enum</b></em>' literal with the specified literal value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static EffectModesEnum get(String literal) {
+		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+			EffectModesEnum result = VALUES_ARRAY[i];
+			if (result.toString().equals(literal)) {
+				return result;
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Returns the '<em><b>Effect Modes Enum</b></em>' literal with the specified name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static EffectModesEnum getByName(String name) {
+		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+			EffectModesEnum result = VALUES_ARRAY[i];
+			if (result.getName().equals(name)) {
+				return result;
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Returns the '<em><b>Effect Modes Enum</b></em>' literal with the specified integer value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static EffectModesEnum get(int value) {
+		switch (value) {
+			case STUCK_AT_VALUE: return STUCK_AT;
+			case STUCK_AT_FIXED_VALUE: return STUCK_AT_FIXED;
+			case INVERTED_VALUE: return INVERTED;
+			case RAMP_DOWN_VALUE: return RAMP_DOWN;
+		}
+		return null;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final int value;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final String name;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final String literal;
+
+	/**
+	 * Only this class can construct instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EffectModesEnum(int value, String name, String literal) {
+		this.value = value;
+		this.name = name;
+		this.literal = literal;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public int getValue() {
+	  return value;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getName() {
+	  return name;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getLiteral() {
+	  return literal;
+	}
+
+	/**
+	 * Returns the literal value of the enumerator, which is its string representation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		return literal;
+	}
+	
+} //EffectModesEnum
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/Error.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/Error.java
new file mode 100644
index 000000000..fff10cf1c
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/Error.java
@@ -0,0 +1,88 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Error</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.Error#getType <em>Type</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.Error#getVanishingTime <em>Vanishing Time</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatsPropagationPackage#getError()
+ * @model
+ * @generated
+ */
+public interface Error extends ThreatState {
+	/**
+	 * Returns the value of the '<em><b>Type</b></em>' attribute.
+	 * The literals are from the enumeration {@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.DurationType}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Type</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Type</em>' attribute.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.DurationType
+	 * @see #setType(DurationType)
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatsPropagationPackage#getError_Type()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	DurationType getType();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.Error#getType <em>Type</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Type</em>' attribute.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.DurationType
+	 * @see #getType()
+	 * @generated
+	 */
+	void setType(DurationType value);
+
+	/**
+	 * Returns the value of the '<em><b>Vanishing Time</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Vanishing Time</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Vanishing Time</em>' attribute.
+	 * @see #setVanishingTime(String)
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatsPropagationPackage#getError_VanishingTime()
+	 * @model dataType="org.eclipse.uml2.types.String" ordered="false"
+	 * @generated
+	 */
+	String getVanishingTime();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.Error#getVanishingTime <em>Vanishing Time</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Vanishing Time</em>' attribute.
+	 * @see #getVanishingTime()
+	 * @generated
+	 */
+	void setVanishingTime(String value);
+
+} // Error
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/ErrorFree.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/ErrorFree.java
new file mode 100644
index 000000000..75475b753
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/ErrorFree.java
@@ -0,0 +1,26 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Error Free</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatsPropagationPackage#getErrorFree()
+ * @model
+ * @generated
+ */
+public interface ErrorFree extends ThreatState {
+} // ErrorFree
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/ErrorModel.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/ErrorModel.java
new file mode 100644
index 000000000..cbdecd84d
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/ErrorModel.java
@@ -0,0 +1,61 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.uml2.uml.StateMachine;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Error Model</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ErrorModel#getBase_StateMachine <em>Base State Machine</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatsPropagationPackage#getErrorModel()
+ * @model
+ * @generated
+ */
+public interface ErrorModel extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Base State Machine</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base State Machine</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Base State Machine</em>' reference.
+	 * @see #setBase_StateMachine(StateMachine)
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatsPropagationPackage#getErrorModel_Base_StateMachine()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	StateMachine getBase_StateMachine();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ErrorModel#getBase_StateMachine <em>Base State Machine</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Base State Machine</em>' reference.
+	 * @see #getBase_StateMachine()
+	 * @generated
+	 */
+	void setBase_StateMachine(StateMachine value);
+
+} // ErrorModel
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/ExternalFault.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/ExternalFault.java
new file mode 100644
index 000000000..d1e212558
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/ExternalFault.java
@@ -0,0 +1,235 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.Transition;
+import org.eclipse.uml2.uml.Type;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>External Fault</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ExternalFault#getBase_Transition <em>Base Transition</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ExternalFault#getFromPort <em>From Port</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ExternalFault#getPropagationCondition <em>Propagation Condition</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ExternalFault#getProbability <em>Probability</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ExternalFault#getUnit <em>Unit</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ExternalFault#getType <em>Type</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ExternalFault#getTransfFunct <em>Transf Funct</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatsPropagationPackage#getExternalFault()
+ * @model
+ * @generated
+ */
+public interface ExternalFault extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Base Transition</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Transition</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Base Transition</em>' reference.
+	 * @see #setBase_Transition(Transition)
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatsPropagationPackage#getExternalFault_Base_Transition()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	Transition getBase_Transition();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ExternalFault#getBase_Transition <em>Base Transition</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Base Transition</em>' reference.
+	 * @see #getBase_Transition()
+	 * @generated
+	 */
+	void setBase_Transition(Transition value);
+
+	/**
+	 * Returns the value of the '<em><b>From Port</b></em>' reference list.
+	 * The list contents are of type {@link org.eclipse.uml2.uml.Port}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>From Port</em>' reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>From Port</em>' reference list.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatsPropagationPackage#getExternalFault_FromPort()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	EList<Port> getFromPort();
+
+	/**
+	 * Retrieves the first {@link org.eclipse.uml2.uml.Port} with the specified '<em><b>Name</b></em>', and '<em><b>Type</b></em>' from the '<em><b>From Port</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param name The '<em><b>Name</b></em>' of the {@link org.eclipse.uml2.uml.Port} to retrieve, or <code>null</code>.
+	 * @param type The '<em><b>Type</b></em>' of the {@link org.eclipse.uml2.uml.Port} to retrieve, or <code>null</code>.
+	 * @return The first {@link org.eclipse.uml2.uml.Port} with the specified '<em><b>Name</b></em>', and '<em><b>Type</b></em>', or <code>null</code>.
+	 * @see #getFromPort()
+	 * @generated
+	 */
+	Port getFromPort(String name, Type type);
+
+	/**
+	 * Retrieves the first {@link org.eclipse.uml2.uml.Port} with the specified '<em><b>Name</b></em>', and '<em><b>Type</b></em>' from the '<em><b>From Port</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param name The '<em><b>Name</b></em>' of the {@link org.eclipse.uml2.uml.Port} to retrieve, or <code>null</code>.
+	 * @param type The '<em><b>Type</b></em>' of the {@link org.eclipse.uml2.uml.Port} to retrieve, or <code>null</code>.
+	 * @param ignoreCase Whether to ignore case in {@link java.lang.String} comparisons.
+	 * @return The first {@link org.eclipse.uml2.uml.Port} with the specified '<em><b>Name</b></em>', and '<em><b>Type</b></em>', or <code>null</code>.
+	 * @see #getFromPort()
+	 * @generated
+	 */
+	Port getFromPort(String name, Type type, boolean ignoreCase);
+
+	/**
+	 * Returns the value of the '<em><b>Propagation Condition</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Propagation Condition</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Propagation Condition</em>' attribute.
+	 * @see #setPropagationCondition(String)
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatsPropagationPackage#getExternalFault_PropagationCondition()
+	 * @model dataType="org.eclipse.uml2.types.String" ordered="false"
+	 * @generated
+	 */
+	String getPropagationCondition();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ExternalFault#getPropagationCondition <em>Propagation Condition</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Propagation Condition</em>' attribute.
+	 * @see #getPropagationCondition()
+	 * @generated
+	 */
+	void setPropagationCondition(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Probability</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Probability</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Probability</em>' attribute.
+	 * @see #setProbability(String)
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatsPropagationPackage#getExternalFault_Probability()
+	 * @model dataType="org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.NFP_Real" required="true" ordered="false"
+	 * @generated
+	 */
+	String getProbability();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ExternalFault#getProbability <em>Probability</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Probability</em>' attribute.
+	 * @see #getProbability()
+	 * @generated
+	 */
+	void setProbability(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Unit</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Unit</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Unit</em>' attribute.
+	 * @see #setUnit(String)
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatsPropagationPackage#getExternalFault_Unit()
+	 * @model dataType="org.eclipse.uml2.types.String" ordered="false"
+	 * @generated
+	 */
+	String getUnit();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ExternalFault#getUnit <em>Unit</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Unit</em>' attribute.
+	 * @see #getUnit()
+	 * @generated
+	 */
+	void setUnit(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Type</b></em>' attribute.
+	 * The literals are from the enumeration {@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.DurationType}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Type</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Type</em>' attribute.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.DurationType
+	 * @see #setType(DurationType)
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatsPropagationPackage#getExternalFault_Type()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	DurationType getType();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ExternalFault#getType <em>Type</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Type</em>' attribute.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.DurationType
+	 * @see #getType()
+	 * @generated
+	 */
+	void setType(DurationType value);
+
+	/**
+	 * Returns the value of the '<em><b>Transf Funct</b></em>' attribute list.
+	 * The list contents are of type {@link java.lang.String}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Transf Funct</em>' attribute list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Transf Funct</em>' attribute list.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatsPropagationPackage#getExternalFault_TransfFunct()
+	 * @model dataType="org.eclipse.uml2.types.String" ordered="false"
+	 * @generated
+	 */
+	EList<String> getTransfFunct();
+
+} // ExternalFault
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/FailureFree.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/FailureFree.java
new file mode 100644
index 000000000..12d324026
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/FailureFree.java
@@ -0,0 +1,26 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Failure Free</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatsPropagationPackage#getFailureFree()
+ * @model
+ * @generated
+ */
+public interface FailureFree extends ThreatState {
+} // FailureFree
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/FailureMode.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/FailureMode.java
new file mode 100644
index 000000000..1ab4b1b8e
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/FailureMode.java
@@ -0,0 +1,107 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.Type;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Failure Mode</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.FailureMode#getAffectedPorts <em>Affected Ports</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.FailureMode#getType <em>Type</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatsPropagationPackage#getFailureMode()
+ * @model
+ * @generated
+ */
+public interface FailureMode extends ThreatState {
+	/**
+	 * Returns the value of the '<em><b>Affected Ports</b></em>' reference list.
+	 * The list contents are of type {@link org.eclipse.uml2.uml.Port}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Affected Ports</em>' reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Affected Ports</em>' reference list.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatsPropagationPackage#getFailureMode_AffectedPorts()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	EList<Port> getAffectedPorts();
+
+	/**
+	 * Retrieves the first {@link org.eclipse.uml2.uml.Port} with the specified '<em><b>Name</b></em>', and '<em><b>Type</b></em>' from the '<em><b>Affected Ports</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param name The '<em><b>Name</b></em>' of the {@link org.eclipse.uml2.uml.Port} to retrieve, or <code>null</code>.
+	 * @param type The '<em><b>Type</b></em>' of the {@link org.eclipse.uml2.uml.Port} to retrieve, or <code>null</code>.
+	 * @return The first {@link org.eclipse.uml2.uml.Port} with the specified '<em><b>Name</b></em>', and '<em><b>Type</b></em>', or <code>null</code>.
+	 * @see #getAffectedPorts()
+	 * @generated
+	 */
+	Port getAffectedPorts(String name, Type type);
+
+	/**
+	 * Retrieves the first {@link org.eclipse.uml2.uml.Port} with the specified '<em><b>Name</b></em>', and '<em><b>Type</b></em>' from the '<em><b>Affected Ports</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param name The '<em><b>Name</b></em>' of the {@link org.eclipse.uml2.uml.Port} to retrieve, or <code>null</code>.
+	 * @param type The '<em><b>Type</b></em>' of the {@link org.eclipse.uml2.uml.Port} to retrieve, or <code>null</code>.
+	 * @param ignoreCase Whether to ignore case in {@link java.lang.String} comparisons.
+	 * @return The first {@link org.eclipse.uml2.uml.Port} with the specified '<em><b>Name</b></em>', and '<em><b>Type</b></em>', or <code>null</code>.
+	 * @see #getAffectedPorts()
+	 * @generated
+	 */
+	Port getAffectedPorts(String name, Type type, boolean ignoreCase);
+
+	/**
+	 * Returns the value of the '<em><b>Type</b></em>' attribute.
+	 * The literals are from the enumeration {@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.DurationType}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Type</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Type</em>' attribute.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.DurationType
+	 * @see #setType(DurationType)
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatsPropagationPackage#getFailureMode_Type()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	DurationType getType();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.FailureMode#getType <em>Type</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Type</em>' attribute.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.DurationType
+	 * @see #getType()
+	 * @generated
+	 */
+	void setType(DurationType value);
+
+} // FailureMode
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/InternalFault.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/InternalFault.java
new file mode 100644
index 000000000..5a25b944f
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/InternalFault.java
@@ -0,0 +1,225 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.State;
+import org.eclipse.uml2.uml.Transition;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Internal Fault</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.InternalFault#getBase_Transition <em>Base Transition</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.InternalFault#getPermanentProb <em>Permanent Prob</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.InternalFault#getTransfFunct <em>Transf Funct</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.InternalFault#getProperty <em>Property</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.InternalFault#getChildFailure <em>Child Failure</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.InternalFault#getOccurrence <em>Occurrence</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.InternalFault#getTransientDuration <em>Transient Duration</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatsPropagationPackage#getInternalFault()
+ * @model
+ * @generated
+ */
+public interface InternalFault extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Base Transition</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Transition</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Base Transition</em>' reference.
+	 * @see #setBase_Transition(Transition)
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatsPropagationPackage#getInternalFault_Base_Transition()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	Transition getBase_Transition();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.InternalFault#getBase_Transition <em>Base Transition</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Base Transition</em>' reference.
+	 * @see #getBase_Transition()
+	 * @generated
+	 */
+	void setBase_Transition(Transition value);
+
+	/**
+	 * Returns the value of the '<em><b>Permanent Prob</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Permanent Prob</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Permanent Prob</em>' attribute.
+	 * @see #setPermanentProb(String)
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatsPropagationPackage#getInternalFault_PermanentProb()
+	 * @model dataType="org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.NFP_Real" required="true" ordered="false"
+	 * @generated
+	 */
+	String getPermanentProb();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.InternalFault#getPermanentProb <em>Permanent Prob</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Permanent Prob</em>' attribute.
+	 * @see #getPermanentProb()
+	 * @generated
+	 */
+	void setPermanentProb(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Transf Funct</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Transf Funct</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Transf Funct</em>' attribute.
+	 * @see #setTransfFunct(String)
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatsPropagationPackage#getInternalFault_TransfFunct()
+	 * @model dataType="org.eclipse.uml2.types.String" ordered="false"
+	 * @generated
+	 */
+	String getTransfFunct();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.InternalFault#getTransfFunct <em>Transf Funct</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Transf Funct</em>' attribute.
+	 * @see #getTransfFunct()
+	 * @generated
+	 */
+	void setTransfFunct(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Property</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Property</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Property</em>' reference.
+	 * @see #setProperty(Property)
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatsPropagationPackage#getInternalFault_Property()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	Property getProperty();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.InternalFault#getProperty <em>Property</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Property</em>' reference.
+	 * @see #getProperty()
+	 * @generated
+	 */
+	void setProperty(Property value);
+
+	/**
+	 * Returns the value of the '<em><b>Child Failure</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Child Failure</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Child Failure</em>' reference.
+	 * @see #setChildFailure(State)
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatsPropagationPackage#getInternalFault_ChildFailure()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	State getChildFailure();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.InternalFault#getChildFailure <em>Child Failure</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Child Failure</em>' reference.
+	 * @see #getChildFailure()
+	 * @generated
+	 */
+	void setChildFailure(State value);
+
+	/**
+	 * Returns the value of the '<em><b>Occurrence</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Occurrence</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Occurrence</em>' attribute.
+	 * @see #setOccurrence(String)
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatsPropagationPackage#getInternalFault_Occurrence()
+	 * @model dataType="org.eclipse.uml2.types.String" ordered="false"
+	 * @generated
+	 */
+	String getOccurrence();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.InternalFault#getOccurrence <em>Occurrence</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Occurrence</em>' attribute.
+	 * @see #getOccurrence()
+	 * @generated
+	 */
+	void setOccurrence(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Transient Duration</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Transient Duration</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Transient Duration</em>' attribute.
+	 * @see #setTransientDuration(String)
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatsPropagationPackage#getInternalFault_TransientDuration()
+	 * @model dataType="org.eclipse.uml2.types.String" ordered="false"
+	 * @generated
+	 */
+	String getTransientDuration();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.InternalFault#getTransientDuration <em>Transient Duration</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Transient Duration</em>' attribute.
+	 * @see #getTransientDuration()
+	 * @generated
+	 */
+	void setTransientDuration(String value);
+
+} // InternalFault
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/Inverted.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/Inverted.java
new file mode 100644
index 000000000..3781cd9a2
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/Inverted.java
@@ -0,0 +1,89 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.State;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Inverted</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.Inverted#getBase_State <em>Base State</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.Inverted#getProperty <em>Property</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatsPropagationPackage#getInverted()
+ * @model
+ * @generated
+ */
+public interface Inverted extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Base State</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base State</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Base State</em>' reference.
+	 * @see #setBase_State(State)
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatsPropagationPackage#getInverted_Base_State()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	State getBase_State();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.Inverted#getBase_State <em>Base State</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Base State</em>' reference.
+	 * @see #getBase_State()
+	 * @generated
+	 */
+	void setBase_State(State value);
+
+	/**
+	 * Returns the value of the '<em><b>Property</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Property</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Property</em>' reference.
+	 * @see #setProperty(Property)
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatsPropagationPackage#getInverted_Property()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	Property getProperty();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.Inverted#getProperty <em>Property</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Property</em>' reference.
+	 * @see #getProperty()
+	 * @generated
+	 */
+	void setProperty(Property value);
+
+} // Inverted
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/RampDown.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/RampDown.java
new file mode 100644
index 000000000..a60a12755
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/RampDown.java
@@ -0,0 +1,143 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.State;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Ramp Down</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.RampDown#getBase_State <em>Base State</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.RampDown#getProperty <em>Property</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.RampDown#getDecr <em>Decr</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.RampDown#getEndValue <em>End Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatsPropagationPackage#getRampDown()
+ * @model
+ * @generated
+ */
+public interface RampDown extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Base State</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base State</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Base State</em>' reference.
+	 * @see #setBase_State(State)
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatsPropagationPackage#getRampDown_Base_State()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	State getBase_State();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.RampDown#getBase_State <em>Base State</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Base State</em>' reference.
+	 * @see #getBase_State()
+	 * @generated
+	 */
+	void setBase_State(State value);
+
+	/**
+	 * Returns the value of the '<em><b>Property</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Property</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Property</em>' reference.
+	 * @see #setProperty(Property)
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatsPropagationPackage#getRampDown_Property()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	Property getProperty();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.RampDown#getProperty <em>Property</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Property</em>' reference.
+	 * @see #getProperty()
+	 * @generated
+	 */
+	void setProperty(Property value);
+
+	/**
+	 * Returns the value of the '<em><b>Decr</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Decr</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Decr</em>' attribute.
+	 * @see #setDecr(String)
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatsPropagationPackage#getRampDown_Decr()
+	 * @model dataType="org.eclipse.uml2.types.String" required="true" ordered="false"
+	 * @generated
+	 */
+	String getDecr();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.RampDown#getDecr <em>Decr</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Decr</em>' attribute.
+	 * @see #getDecr()
+	 * @generated
+	 */
+	void setDecr(String value);
+
+	/**
+	 * Returns the value of the '<em><b>End Value</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>End Value</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>End Value</em>' attribute.
+	 * @see #setEndValue(String)
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatsPropagationPackage#getRampDown_EndValue()
+	 * @model dataType="org.eclipse.uml2.types.String" required="true" ordered="false"
+	 * @generated
+	 */
+	String getEndValue();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.RampDown#getEndValue <em>End Value</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>End Value</em>' attribute.
+	 * @see #getEndValue()
+	 * @generated
+	 */
+	void setEndValue(String value);
+
+} // RampDown
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/StuckAt.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/StuckAt.java
new file mode 100644
index 000000000..19e7f6ea6
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/StuckAt.java
@@ -0,0 +1,116 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.State;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Stuck At</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.StuckAt#getProperty <em>Property</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.StuckAt#getValue <em>Value</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.StuckAt#getBase_State <em>Base State</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatsPropagationPackage#getStuckAt()
+ * @model
+ * @generated
+ */
+public interface StuckAt extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Property</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Property</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Property</em>' reference.
+	 * @see #setProperty(Property)
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatsPropagationPackage#getStuckAt_Property()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	Property getProperty();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.StuckAt#getProperty <em>Property</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Property</em>' reference.
+	 * @see #getProperty()
+	 * @generated
+	 */
+	void setProperty(Property value);
+
+	/**
+	 * Returns the value of the '<em><b>Value</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Value</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Value</em>' attribute.
+	 * @see #setValue(String)
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatsPropagationPackage#getStuckAt_Value()
+	 * @model dataType="org.eclipse.uml2.types.String" required="true" ordered="false"
+	 * @generated
+	 */
+	String getValue();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.StuckAt#getValue <em>Value</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Value</em>' attribute.
+	 * @see #getValue()
+	 * @generated
+	 */
+	void setValue(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Base State</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base State</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Base State</em>' reference.
+	 * @see #setBase_State(State)
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatsPropagationPackage#getStuckAt_Base_State()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	State getBase_State();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.StuckAt#getBase_State <em>Base State</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Base State</em>' reference.
+	 * @see #getBase_State()
+	 * @generated
+	 */
+	void setBase_State(State value);
+
+} // StuckAt
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/StuckAtFixed.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/StuckAtFixed.java
new file mode 100644
index 000000000..55d3bb7e1
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/StuckAtFixed.java
@@ -0,0 +1,89 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.State;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Stuck At Fixed</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.StuckAtFixed#getBase_State <em>Base State</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.StuckAtFixed#getProperty <em>Property</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatsPropagationPackage#getStuckAtFixed()
+ * @model
+ * @generated
+ */
+public interface StuckAtFixed extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Base State</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base State</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Base State</em>' reference.
+	 * @see #setBase_State(State)
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatsPropagationPackage#getStuckAtFixed_Base_State()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	State getBase_State();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.StuckAtFixed#getBase_State <em>Base State</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Base State</em>' reference.
+	 * @see #getBase_State()
+	 * @generated
+	 */
+	void setBase_State(State value);
+
+	/**
+	 * Returns the value of the '<em><b>Property</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Property</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Property</em>' reference.
+	 * @see #setProperty(Property)
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatsPropagationPackage#getStuckAtFixed_Property()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	Property getProperty();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.StuckAtFixed#getProperty <em>Property</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Property</em>' reference.
+	 * @see #getProperty()
+	 * @generated
+	 */
+	void setProperty(Property value);
+
+} // StuckAtFixed
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/ThreatState.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/ThreatState.java
new file mode 100644
index 000000000..2e6db6243
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/ThreatState.java
@@ -0,0 +1,115 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.uml2.uml.State;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Threat State</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatState#getBase_State <em>Base State</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatState#getProbability <em>Probability</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatState#getUnit <em>Unit</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatsPropagationPackage#getThreatState()
+ * @model
+ * @generated
+ */
+public interface ThreatState extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Base State</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base State</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Base State</em>' reference.
+	 * @see #setBase_State(State)
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatsPropagationPackage#getThreatState_Base_State()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	State getBase_State();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatState#getBase_State <em>Base State</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Base State</em>' reference.
+	 * @see #getBase_State()
+	 * @generated
+	 */
+	void setBase_State(State value);
+
+	/**
+	 * Returns the value of the '<em><b>Probability</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Probability</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Probability</em>' attribute.
+	 * @see #setProbability(String)
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatsPropagationPackage#getThreatState_Probability()
+	 * @model dataType="org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.NFP_Real" required="true" ordered="false"
+	 * @generated
+	 */
+	String getProbability();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatState#getProbability <em>Probability</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Probability</em>' attribute.
+	 * @see #getProbability()
+	 * @generated
+	 */
+	void setProbability(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Unit</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Unit</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Unit</em>' attribute.
+	 * @see #setUnit(String)
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatsPropagationPackage#getThreatState_Unit()
+	 * @model dataType="org.eclipse.uml2.types.String" ordered="false"
+	 * @generated
+	 */
+	String getUnit();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatState#getUnit <em>Unit</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Unit</em>' attribute.
+	 * @see #getUnit()
+	 * @generated
+	 */
+	void setUnit(String value);
+
+} // ThreatState
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/ThreatsPropagationFactory.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/ThreatsPropagationFactory.java
new file mode 100644
index 000000000..e9cfc06c1
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/ThreatsPropagationFactory.java
@@ -0,0 +1,168 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatsPropagationPackage
+ * @generated
+ */
+public interface ThreatsPropagationFactory extends EFactory {
+	/**
+	 * The singleton instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	ThreatsPropagationFactory eINSTANCE = org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.ThreatsPropagationFactoryImpl.init();
+
+	/**
+	 * Returns a new object of class '<em>Internal Fault</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Internal Fault</em>'.
+	 * @generated
+	 */
+	InternalFault createInternalFault();
+
+	/**
+	 * Returns a new object of class '<em>External Fault</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>External Fault</em>'.
+	 * @generated
+	 */
+	ExternalFault createExternalFault();
+
+	/**
+	 * Returns a new object of class '<em>Error</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Error</em>'.
+	 * @generated
+	 */
+	Error createError();
+
+	/**
+	 * Returns a new object of class '<em>Threat State</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Threat State</em>'.
+	 * @generated
+	 */
+	ThreatState createThreatState();
+
+	/**
+	 * Returns a new object of class '<em>Error Free</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Error Free</em>'.
+	 * @generated
+	 */
+	ErrorFree createErrorFree();
+
+	/**
+	 * Returns a new object of class '<em>Unclassified Error</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Unclassified Error</em>'.
+	 * @generated
+	 */
+	UnclassifiedError createUnclassifiedError();
+
+	/**
+	 * Returns a new object of class '<em>Failure Mode</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Failure Mode</em>'.
+	 * @generated
+	 */
+	FailureMode createFailureMode();
+
+	/**
+	 * Returns a new object of class '<em>Failure Free</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Failure Free</em>'.
+	 * @generated
+	 */
+	FailureFree createFailureFree();
+
+	/**
+	 * Returns a new object of class '<em>Unclassified Failure</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Unclassified Failure</em>'.
+	 * @generated
+	 */
+	UnclassifiedFailure createUnclassifiedFailure();
+
+	/**
+	 * Returns a new object of class '<em>Stuck At</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Stuck At</em>'.
+	 * @generated
+	 */
+	StuckAt createStuckAt();
+
+	/**
+	 * Returns a new object of class '<em>Stuck At Fixed</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Stuck At Fixed</em>'.
+	 * @generated
+	 */
+	StuckAtFixed createStuckAtFixed();
+
+	/**
+	 * Returns a new object of class '<em>Inverted</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Inverted</em>'.
+	 * @generated
+	 */
+	Inverted createInverted();
+
+	/**
+	 * Returns a new object of class '<em>Ramp Down</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Ramp Down</em>'.
+	 * @generated
+	 */
+	RampDown createRampDown();
+
+	/**
+	 * Returns a new object of class '<em>Error Model</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Error Model</em>'.
+	 * @generated
+	 */
+	ErrorModel createErrorModel();
+
+	/**
+	 * Returns the package supported by this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the package supported by this factory.
+	 * @generated
+	 */
+	ThreatsPropagationPackage getThreatsPropagationPackage();
+
+} //ThreatsPropagationFactory
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/ThreatsPropagationPackage.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/ThreatsPropagationPackage.java
new file mode 100644
index 000000000..0f8c30440
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/ThreatsPropagationPackage.java
@@ -0,0 +1,1756 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EEnum;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.NFPs.NFPsPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ *   <li>each class,</li>
+ *   <li>each feature of each class,</li>
+ *   <li>each enum,</li>
+ *   <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatsPropagationFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface ThreatsPropagationPackage extends EPackage {
+	/**
+	 * The package name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNAME = "ThreatsPropagation";
+
+	/**
+	 * The package namespace URI.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_URI = "http://CHESS/Dependability/ThreatsPropagation";
+
+	/**
+	 * The package namespace name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_PREFIX = "ThreatsPropagation";
+
+	/**
+	 * The singleton instance of the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	ThreatsPropagationPackage eINSTANCE = org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.ThreatsPropagationPackageImpl.init();
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.InternalFaultImpl <em>Internal Fault</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.InternalFaultImpl
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.ThreatsPropagationPackageImpl#getInternalFault()
+	 * @generated
+	 */
+	int INTERNAL_FAULT = 0;
+
+	/**
+	 * The feature id for the '<em><b>Base Transition</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERNAL_FAULT__BASE_TRANSITION = 0;
+
+	/**
+	 * The feature id for the '<em><b>Permanent Prob</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERNAL_FAULT__PERMANENT_PROB = 1;
+
+	/**
+	 * The feature id for the '<em><b>Transf Funct</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERNAL_FAULT__TRANSF_FUNCT = 2;
+
+	/**
+	 * The feature id for the '<em><b>Property</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERNAL_FAULT__PROPERTY = 3;
+
+	/**
+	 * The feature id for the '<em><b>Child Failure</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERNAL_FAULT__CHILD_FAILURE = 4;
+
+	/**
+	 * The feature id for the '<em><b>Occurrence</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERNAL_FAULT__OCCURRENCE = 5;
+
+	/**
+	 * The feature id for the '<em><b>Transient Duration</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERNAL_FAULT__TRANSIENT_DURATION = 6;
+
+	/**
+	 * The number of structural features of the '<em>Internal Fault</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERNAL_FAULT_FEATURE_COUNT = 7;
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.ExternalFaultImpl <em>External Fault</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.ExternalFaultImpl
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.ThreatsPropagationPackageImpl#getExternalFault()
+	 * @generated
+	 */
+	int EXTERNAL_FAULT = 1;
+
+	/**
+	 * The feature id for the '<em><b>Base Transition</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EXTERNAL_FAULT__BASE_TRANSITION = 0;
+
+	/**
+	 * The feature id for the '<em><b>From Port</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EXTERNAL_FAULT__FROM_PORT = 1;
+
+	/**
+	 * The feature id for the '<em><b>Propagation Condition</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EXTERNAL_FAULT__PROPAGATION_CONDITION = 2;
+
+	/**
+	 * The feature id for the '<em><b>Probability</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EXTERNAL_FAULT__PROBABILITY = 3;
+
+	/**
+	 * The feature id for the '<em><b>Unit</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EXTERNAL_FAULT__UNIT = 4;
+
+	/**
+	 * The feature id for the '<em><b>Type</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EXTERNAL_FAULT__TYPE = 5;
+
+	/**
+	 * The feature id for the '<em><b>Transf Funct</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EXTERNAL_FAULT__TRANSF_FUNCT = 6;
+
+	/**
+	 * The number of structural features of the '<em>External Fault</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EXTERNAL_FAULT_FEATURE_COUNT = 7;
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.ThreatStateImpl <em>Threat State</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.ThreatStateImpl
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.ThreatsPropagationPackageImpl#getThreatState()
+	 * @generated
+	 */
+	int THREAT_STATE = 3;
+
+	/**
+	 * The feature id for the '<em><b>Base State</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int THREAT_STATE__BASE_STATE = 0;
+
+	/**
+	 * The feature id for the '<em><b>Probability</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int THREAT_STATE__PROBABILITY = 1;
+
+	/**
+	 * The feature id for the '<em><b>Unit</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int THREAT_STATE__UNIT = 2;
+
+	/**
+	 * The number of structural features of the '<em>Threat State</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int THREAT_STATE_FEATURE_COUNT = 3;
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.ErrorImpl <em>Error</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.ErrorImpl
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.ThreatsPropagationPackageImpl#getError()
+	 * @generated
+	 */
+	int ERROR = 2;
+
+	/**
+	 * The feature id for the '<em><b>Base State</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ERROR__BASE_STATE = THREAT_STATE__BASE_STATE;
+
+	/**
+	 * The feature id for the '<em><b>Probability</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ERROR__PROBABILITY = THREAT_STATE__PROBABILITY;
+
+	/**
+	 * The feature id for the '<em><b>Unit</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ERROR__UNIT = THREAT_STATE__UNIT;
+
+	/**
+	 * The feature id for the '<em><b>Type</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ERROR__TYPE = THREAT_STATE_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Vanishing Time</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ERROR__VANISHING_TIME = THREAT_STATE_FEATURE_COUNT + 1;
+
+	/**
+	 * The number of structural features of the '<em>Error</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ERROR_FEATURE_COUNT = THREAT_STATE_FEATURE_COUNT + 2;
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.ErrorFreeImpl <em>Error Free</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.ErrorFreeImpl
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.ThreatsPropagationPackageImpl#getErrorFree()
+	 * @generated
+	 */
+	int ERROR_FREE = 4;
+
+	/**
+	 * The feature id for the '<em><b>Base State</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ERROR_FREE__BASE_STATE = THREAT_STATE__BASE_STATE;
+
+	/**
+	 * The feature id for the '<em><b>Probability</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ERROR_FREE__PROBABILITY = THREAT_STATE__PROBABILITY;
+
+	/**
+	 * The feature id for the '<em><b>Unit</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ERROR_FREE__UNIT = THREAT_STATE__UNIT;
+
+	/**
+	 * The number of structural features of the '<em>Error Free</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ERROR_FREE_FEATURE_COUNT = THREAT_STATE_FEATURE_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.UnclassifiedErrorImpl <em>Unclassified Error</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.UnclassifiedErrorImpl
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.ThreatsPropagationPackageImpl#getUnclassifiedError()
+	 * @generated
+	 */
+	int UNCLASSIFIED_ERROR = 5;
+
+	/**
+	 * The feature id for the '<em><b>Base State</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int UNCLASSIFIED_ERROR__BASE_STATE = THREAT_STATE__BASE_STATE;
+
+	/**
+	 * The feature id for the '<em><b>Probability</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int UNCLASSIFIED_ERROR__PROBABILITY = THREAT_STATE__PROBABILITY;
+
+	/**
+	 * The feature id for the '<em><b>Unit</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int UNCLASSIFIED_ERROR__UNIT = THREAT_STATE__UNIT;
+
+	/**
+	 * The number of structural features of the '<em>Unclassified Error</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int UNCLASSIFIED_ERROR_FEATURE_COUNT = THREAT_STATE_FEATURE_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.FailureModeImpl <em>Failure Mode</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.FailureModeImpl
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.ThreatsPropagationPackageImpl#getFailureMode()
+	 * @generated
+	 */
+	int FAILURE_MODE = 6;
+
+	/**
+	 * The feature id for the '<em><b>Base State</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FAILURE_MODE__BASE_STATE = THREAT_STATE__BASE_STATE;
+
+	/**
+	 * The feature id for the '<em><b>Probability</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FAILURE_MODE__PROBABILITY = THREAT_STATE__PROBABILITY;
+
+	/**
+	 * The feature id for the '<em><b>Unit</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FAILURE_MODE__UNIT = THREAT_STATE__UNIT;
+
+	/**
+	 * The feature id for the '<em><b>Affected Ports</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FAILURE_MODE__AFFECTED_PORTS = THREAT_STATE_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Type</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FAILURE_MODE__TYPE = THREAT_STATE_FEATURE_COUNT + 1;
+
+	/**
+	 * The number of structural features of the '<em>Failure Mode</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FAILURE_MODE_FEATURE_COUNT = THREAT_STATE_FEATURE_COUNT + 2;
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.FailureFreeImpl <em>Failure Free</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.FailureFreeImpl
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.ThreatsPropagationPackageImpl#getFailureFree()
+	 * @generated
+	 */
+	int FAILURE_FREE = 7;
+
+	/**
+	 * The feature id for the '<em><b>Base State</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FAILURE_FREE__BASE_STATE = THREAT_STATE__BASE_STATE;
+
+	/**
+	 * The feature id for the '<em><b>Probability</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FAILURE_FREE__PROBABILITY = THREAT_STATE__PROBABILITY;
+
+	/**
+	 * The feature id for the '<em><b>Unit</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FAILURE_FREE__UNIT = THREAT_STATE__UNIT;
+
+	/**
+	 * The number of structural features of the '<em>Failure Free</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FAILURE_FREE_FEATURE_COUNT = THREAT_STATE_FEATURE_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.UnclassifiedFailureImpl <em>Unclassified Failure</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.UnclassifiedFailureImpl
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.ThreatsPropagationPackageImpl#getUnclassifiedFailure()
+	 * @generated
+	 */
+	int UNCLASSIFIED_FAILURE = 8;
+
+	/**
+	 * The feature id for the '<em><b>Base State</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int UNCLASSIFIED_FAILURE__BASE_STATE = THREAT_STATE__BASE_STATE;
+
+	/**
+	 * The feature id for the '<em><b>Probability</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int UNCLASSIFIED_FAILURE__PROBABILITY = THREAT_STATE__PROBABILITY;
+
+	/**
+	 * The feature id for the '<em><b>Unit</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int UNCLASSIFIED_FAILURE__UNIT = THREAT_STATE__UNIT;
+
+	/**
+	 * The number of structural features of the '<em>Unclassified Failure</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int UNCLASSIFIED_FAILURE_FEATURE_COUNT = THREAT_STATE_FEATURE_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.StuckAtImpl <em>Stuck At</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.StuckAtImpl
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.ThreatsPropagationPackageImpl#getStuckAt()
+	 * @generated
+	 */
+	int STUCK_AT = 9;
+
+	/**
+	 * The feature id for the '<em><b>Property</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STUCK_AT__PROPERTY = 0;
+
+	/**
+	 * The feature id for the '<em><b>Value</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STUCK_AT__VALUE = 1;
+
+	/**
+	 * The feature id for the '<em><b>Base State</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STUCK_AT__BASE_STATE = 2;
+
+	/**
+	 * The number of structural features of the '<em>Stuck At</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STUCK_AT_FEATURE_COUNT = 3;
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.StuckAtFixedImpl <em>Stuck At Fixed</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.StuckAtFixedImpl
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.ThreatsPropagationPackageImpl#getStuckAtFixed()
+	 * @generated
+	 */
+	int STUCK_AT_FIXED = 10;
+
+	/**
+	 * The feature id for the '<em><b>Base State</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STUCK_AT_FIXED__BASE_STATE = 0;
+
+	/**
+	 * The feature id for the '<em><b>Property</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STUCK_AT_FIXED__PROPERTY = 1;
+
+	/**
+	 * The number of structural features of the '<em>Stuck At Fixed</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STUCK_AT_FIXED_FEATURE_COUNT = 2;
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.InvertedImpl <em>Inverted</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.InvertedImpl
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.ThreatsPropagationPackageImpl#getInverted()
+	 * @generated
+	 */
+	int INVERTED = 11;
+
+	/**
+	 * The feature id for the '<em><b>Base State</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INVERTED__BASE_STATE = 0;
+
+	/**
+	 * The feature id for the '<em><b>Property</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INVERTED__PROPERTY = 1;
+
+	/**
+	 * The number of structural features of the '<em>Inverted</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INVERTED_FEATURE_COUNT = 2;
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.RampDownImpl <em>Ramp Down</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.RampDownImpl
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.ThreatsPropagationPackageImpl#getRampDown()
+	 * @generated
+	 */
+	int RAMP_DOWN = 12;
+
+	/**
+	 * The feature id for the '<em><b>Base State</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int RAMP_DOWN__BASE_STATE = 0;
+
+	/**
+	 * The feature id for the '<em><b>Property</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int RAMP_DOWN__PROPERTY = 1;
+
+	/**
+	 * The feature id for the '<em><b>Decr</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int RAMP_DOWN__DECR = 2;
+
+	/**
+	 * The feature id for the '<em><b>End Value</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int RAMP_DOWN__END_VALUE = 3;
+
+	/**
+	 * The number of structural features of the '<em>Ramp Down</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int RAMP_DOWN_FEATURE_COUNT = 4;
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.ErrorModelImpl <em>Error Model</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.ErrorModelImpl
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.ThreatsPropagationPackageImpl#getErrorModel()
+	 * @generated
+	 */
+	int ERROR_MODEL = 13;
+
+	/**
+	 * The feature id for the '<em><b>Base State Machine</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ERROR_MODEL__BASE_STATE_MACHINE = 0;
+
+	/**
+	 * The number of structural features of the '<em>Error Model</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ERROR_MODEL_FEATURE_COUNT = 1;
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.DurationType <em>Duration Type</em>}' enum.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.DurationType
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.ThreatsPropagationPackageImpl#getDurationType()
+	 * @generated
+	 */
+	int DURATION_TYPE = 14;
+
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.InternalFault <em>Internal Fault</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Internal Fault</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.InternalFault
+	 * @generated
+	 */
+	EClass getInternalFault();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.InternalFault#getBase_Transition <em>Base Transition</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Base Transition</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.InternalFault#getBase_Transition()
+	 * @see #getInternalFault()
+	 * @generated
+	 */
+	EReference getInternalFault_Base_Transition();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.InternalFault#getPermanentProb <em>Permanent Prob</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Permanent Prob</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.InternalFault#getPermanentProb()
+	 * @see #getInternalFault()
+	 * @generated
+	 */
+	EAttribute getInternalFault_PermanentProb();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.InternalFault#getTransfFunct <em>Transf Funct</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Transf Funct</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.InternalFault#getTransfFunct()
+	 * @see #getInternalFault()
+	 * @generated
+	 */
+	EAttribute getInternalFault_TransfFunct();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.InternalFault#getProperty <em>Property</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Property</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.InternalFault#getProperty()
+	 * @see #getInternalFault()
+	 * @generated
+	 */
+	EReference getInternalFault_Property();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.InternalFault#getChildFailure <em>Child Failure</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Child Failure</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.InternalFault#getChildFailure()
+	 * @see #getInternalFault()
+	 * @generated
+	 */
+	EReference getInternalFault_ChildFailure();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.InternalFault#getOccurrence <em>Occurrence</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Occurrence</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.InternalFault#getOccurrence()
+	 * @see #getInternalFault()
+	 * @generated
+	 */
+	EAttribute getInternalFault_Occurrence();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.InternalFault#getTransientDuration <em>Transient Duration</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Transient Duration</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.InternalFault#getTransientDuration()
+	 * @see #getInternalFault()
+	 * @generated
+	 */
+	EAttribute getInternalFault_TransientDuration();
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ExternalFault <em>External Fault</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>External Fault</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ExternalFault
+	 * @generated
+	 */
+	EClass getExternalFault();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ExternalFault#getBase_Transition <em>Base Transition</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Base Transition</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ExternalFault#getBase_Transition()
+	 * @see #getExternalFault()
+	 * @generated
+	 */
+	EReference getExternalFault_Base_Transition();
+
+	/**
+	 * Returns the meta object for the reference list '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ExternalFault#getFromPort <em>From Port</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference list '<em>From Port</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ExternalFault#getFromPort()
+	 * @see #getExternalFault()
+	 * @generated
+	 */
+	EReference getExternalFault_FromPort();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ExternalFault#getPropagationCondition <em>Propagation Condition</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Propagation Condition</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ExternalFault#getPropagationCondition()
+	 * @see #getExternalFault()
+	 * @generated
+	 */
+	EAttribute getExternalFault_PropagationCondition();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ExternalFault#getProbability <em>Probability</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Probability</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ExternalFault#getProbability()
+	 * @see #getExternalFault()
+	 * @generated
+	 */
+	EAttribute getExternalFault_Probability();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ExternalFault#getUnit <em>Unit</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Unit</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ExternalFault#getUnit()
+	 * @see #getExternalFault()
+	 * @generated
+	 */
+	EAttribute getExternalFault_Unit();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ExternalFault#getType <em>Type</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Type</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ExternalFault#getType()
+	 * @see #getExternalFault()
+	 * @generated
+	 */
+	EAttribute getExternalFault_Type();
+
+	/**
+	 * Returns the meta object for the attribute list '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ExternalFault#getTransfFunct <em>Transf Funct</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute list '<em>Transf Funct</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ExternalFault#getTransfFunct()
+	 * @see #getExternalFault()
+	 * @generated
+	 */
+	EAttribute getExternalFault_TransfFunct();
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.Error <em>Error</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Error</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.Error
+	 * @generated
+	 */
+	EClass getError();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.Error#getType <em>Type</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Type</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.Error#getType()
+	 * @see #getError()
+	 * @generated
+	 */
+	EAttribute getError_Type();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.Error#getVanishingTime <em>Vanishing Time</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Vanishing Time</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.Error#getVanishingTime()
+	 * @see #getError()
+	 * @generated
+	 */
+	EAttribute getError_VanishingTime();
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatState <em>Threat State</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Threat State</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatState
+	 * @generated
+	 */
+	EClass getThreatState();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatState#getBase_State <em>Base State</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Base State</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatState#getBase_State()
+	 * @see #getThreatState()
+	 * @generated
+	 */
+	EReference getThreatState_Base_State();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatState#getProbability <em>Probability</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Probability</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatState#getProbability()
+	 * @see #getThreatState()
+	 * @generated
+	 */
+	EAttribute getThreatState_Probability();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatState#getUnit <em>Unit</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Unit</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatState#getUnit()
+	 * @see #getThreatState()
+	 * @generated
+	 */
+	EAttribute getThreatState_Unit();
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ErrorFree <em>Error Free</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Error Free</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ErrorFree
+	 * @generated
+	 */
+	EClass getErrorFree();
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.UnclassifiedError <em>Unclassified Error</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Unclassified Error</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.UnclassifiedError
+	 * @generated
+	 */
+	EClass getUnclassifiedError();
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.FailureMode <em>Failure Mode</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Failure Mode</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.FailureMode
+	 * @generated
+	 */
+	EClass getFailureMode();
+
+	/**
+	 * Returns the meta object for the reference list '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.FailureMode#getAffectedPorts <em>Affected Ports</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference list '<em>Affected Ports</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.FailureMode#getAffectedPorts()
+	 * @see #getFailureMode()
+	 * @generated
+	 */
+	EReference getFailureMode_AffectedPorts();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.FailureMode#getType <em>Type</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Type</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.FailureMode#getType()
+	 * @see #getFailureMode()
+	 * @generated
+	 */
+	EAttribute getFailureMode_Type();
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.FailureFree <em>Failure Free</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Failure Free</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.FailureFree
+	 * @generated
+	 */
+	EClass getFailureFree();
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.UnclassifiedFailure <em>Unclassified Failure</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Unclassified Failure</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.UnclassifiedFailure
+	 * @generated
+	 */
+	EClass getUnclassifiedFailure();
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.StuckAt <em>Stuck At</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Stuck At</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.StuckAt
+	 * @generated
+	 */
+	EClass getStuckAt();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.StuckAt#getProperty <em>Property</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Property</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.StuckAt#getProperty()
+	 * @see #getStuckAt()
+	 * @generated
+	 */
+	EReference getStuckAt_Property();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.StuckAt#getValue <em>Value</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Value</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.StuckAt#getValue()
+	 * @see #getStuckAt()
+	 * @generated
+	 */
+	EAttribute getStuckAt_Value();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.StuckAt#getBase_State <em>Base State</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Base State</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.StuckAt#getBase_State()
+	 * @see #getStuckAt()
+	 * @generated
+	 */
+	EReference getStuckAt_Base_State();
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.StuckAtFixed <em>Stuck At Fixed</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Stuck At Fixed</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.StuckAtFixed
+	 * @generated
+	 */
+	EClass getStuckAtFixed();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.StuckAtFixed#getBase_State <em>Base State</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Base State</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.StuckAtFixed#getBase_State()
+	 * @see #getStuckAtFixed()
+	 * @generated
+	 */
+	EReference getStuckAtFixed_Base_State();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.StuckAtFixed#getProperty <em>Property</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Property</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.StuckAtFixed#getProperty()
+	 * @see #getStuckAtFixed()
+	 * @generated
+	 */
+	EReference getStuckAtFixed_Property();
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.Inverted <em>Inverted</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Inverted</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.Inverted
+	 * @generated
+	 */
+	EClass getInverted();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.Inverted#getBase_State <em>Base State</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Base State</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.Inverted#getBase_State()
+	 * @see #getInverted()
+	 * @generated
+	 */
+	EReference getInverted_Base_State();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.Inverted#getProperty <em>Property</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Property</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.Inverted#getProperty()
+	 * @see #getInverted()
+	 * @generated
+	 */
+	EReference getInverted_Property();
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.RampDown <em>Ramp Down</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Ramp Down</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.RampDown
+	 * @generated
+	 */
+	EClass getRampDown();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.RampDown#getBase_State <em>Base State</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Base State</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.RampDown#getBase_State()
+	 * @see #getRampDown()
+	 * @generated
+	 */
+	EReference getRampDown_Base_State();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.RampDown#getProperty <em>Property</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Property</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.RampDown#getProperty()
+	 * @see #getRampDown()
+	 * @generated
+	 */
+	EReference getRampDown_Property();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.RampDown#getDecr <em>Decr</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Decr</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.RampDown#getDecr()
+	 * @see #getRampDown()
+	 * @generated
+	 */
+	EAttribute getRampDown_Decr();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.RampDown#getEndValue <em>End Value</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>End Value</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.RampDown#getEndValue()
+	 * @see #getRampDown()
+	 * @generated
+	 */
+	EAttribute getRampDown_EndValue();
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ErrorModel <em>Error Model</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Error Model</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ErrorModel
+	 * @generated
+	 */
+	EClass getErrorModel();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ErrorModel#getBase_StateMachine <em>Base State Machine</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Base State Machine</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ErrorModel#getBase_StateMachine()
+	 * @see #getErrorModel()
+	 * @generated
+	 */
+	EReference getErrorModel_Base_StateMachine();
+
+	/**
+	 * Returns the meta object for enum '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.DurationType <em>Duration Type</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for enum '<em>Duration Type</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.DurationType
+	 * @generated
+	 */
+	EEnum getDurationType();
+
+	/**
+	 * Returns the factory that creates the instances of the model.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the factory that creates the instances of the model.
+	 * @generated
+	 */
+	ThreatsPropagationFactory getThreatsPropagationFactory();
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * Defines literals for the meta objects that represent
+	 * <ul>
+	 *   <li>each class,</li>
+	 *   <li>each feature of each class,</li>
+	 *   <li>each enum,</li>
+	 *   <li>and each data type</li>
+	 * </ul>
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	interface Literals {
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.InternalFaultImpl <em>Internal Fault</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.InternalFaultImpl
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.ThreatsPropagationPackageImpl#getInternalFault()
+		 * @generated
+		 */
+		EClass INTERNAL_FAULT = eINSTANCE.getInternalFault();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Transition</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference INTERNAL_FAULT__BASE_TRANSITION = eINSTANCE.getInternalFault_Base_Transition();
+
+		/**
+		 * The meta object literal for the '<em><b>Permanent Prob</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute INTERNAL_FAULT__PERMANENT_PROB = eINSTANCE.getInternalFault_PermanentProb();
+
+		/**
+		 * The meta object literal for the '<em><b>Transf Funct</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute INTERNAL_FAULT__TRANSF_FUNCT = eINSTANCE.getInternalFault_TransfFunct();
+
+		/**
+		 * The meta object literal for the '<em><b>Property</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference INTERNAL_FAULT__PROPERTY = eINSTANCE.getInternalFault_Property();
+
+		/**
+		 * The meta object literal for the '<em><b>Child Failure</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference INTERNAL_FAULT__CHILD_FAILURE = eINSTANCE.getInternalFault_ChildFailure();
+
+		/**
+		 * The meta object literal for the '<em><b>Occurrence</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute INTERNAL_FAULT__OCCURRENCE = eINSTANCE.getInternalFault_Occurrence();
+
+		/**
+		 * The meta object literal for the '<em><b>Transient Duration</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute INTERNAL_FAULT__TRANSIENT_DURATION = eINSTANCE.getInternalFault_TransientDuration();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.ExternalFaultImpl <em>External Fault</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.ExternalFaultImpl
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.ThreatsPropagationPackageImpl#getExternalFault()
+		 * @generated
+		 */
+		EClass EXTERNAL_FAULT = eINSTANCE.getExternalFault();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Transition</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference EXTERNAL_FAULT__BASE_TRANSITION = eINSTANCE.getExternalFault_Base_Transition();
+
+		/**
+		 * The meta object literal for the '<em><b>From Port</b></em>' reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference EXTERNAL_FAULT__FROM_PORT = eINSTANCE.getExternalFault_FromPort();
+
+		/**
+		 * The meta object literal for the '<em><b>Propagation Condition</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute EXTERNAL_FAULT__PROPAGATION_CONDITION = eINSTANCE.getExternalFault_PropagationCondition();
+
+		/**
+		 * The meta object literal for the '<em><b>Probability</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute EXTERNAL_FAULT__PROBABILITY = eINSTANCE.getExternalFault_Probability();
+
+		/**
+		 * The meta object literal for the '<em><b>Unit</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute EXTERNAL_FAULT__UNIT = eINSTANCE.getExternalFault_Unit();
+
+		/**
+		 * The meta object literal for the '<em><b>Type</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute EXTERNAL_FAULT__TYPE = eINSTANCE.getExternalFault_Type();
+
+		/**
+		 * The meta object literal for the '<em><b>Transf Funct</b></em>' attribute list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute EXTERNAL_FAULT__TRANSF_FUNCT = eINSTANCE.getExternalFault_TransfFunct();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.ErrorImpl <em>Error</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.ErrorImpl
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.ThreatsPropagationPackageImpl#getError()
+		 * @generated
+		 */
+		EClass ERROR = eINSTANCE.getError();
+
+		/**
+		 * The meta object literal for the '<em><b>Type</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute ERROR__TYPE = eINSTANCE.getError_Type();
+
+		/**
+		 * The meta object literal for the '<em><b>Vanishing Time</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute ERROR__VANISHING_TIME = eINSTANCE.getError_VanishingTime();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.ThreatStateImpl <em>Threat State</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.ThreatStateImpl
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.ThreatsPropagationPackageImpl#getThreatState()
+		 * @generated
+		 */
+		EClass THREAT_STATE = eINSTANCE.getThreatState();
+
+		/**
+		 * The meta object literal for the '<em><b>Base State</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference THREAT_STATE__BASE_STATE = eINSTANCE.getThreatState_Base_State();
+
+		/**
+		 * The meta object literal for the '<em><b>Probability</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute THREAT_STATE__PROBABILITY = eINSTANCE.getThreatState_Probability();
+
+		/**
+		 * The meta object literal for the '<em><b>Unit</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute THREAT_STATE__UNIT = eINSTANCE.getThreatState_Unit();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.ErrorFreeImpl <em>Error Free</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.ErrorFreeImpl
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.ThreatsPropagationPackageImpl#getErrorFree()
+		 * @generated
+		 */
+		EClass ERROR_FREE = eINSTANCE.getErrorFree();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.UnclassifiedErrorImpl <em>Unclassified Error</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.UnclassifiedErrorImpl
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.ThreatsPropagationPackageImpl#getUnclassifiedError()
+		 * @generated
+		 */
+		EClass UNCLASSIFIED_ERROR = eINSTANCE.getUnclassifiedError();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.FailureModeImpl <em>Failure Mode</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.FailureModeImpl
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.ThreatsPropagationPackageImpl#getFailureMode()
+		 * @generated
+		 */
+		EClass FAILURE_MODE = eINSTANCE.getFailureMode();
+
+		/**
+		 * The meta object literal for the '<em><b>Affected Ports</b></em>' reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference FAILURE_MODE__AFFECTED_PORTS = eINSTANCE.getFailureMode_AffectedPorts();
+
+		/**
+		 * The meta object literal for the '<em><b>Type</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute FAILURE_MODE__TYPE = eINSTANCE.getFailureMode_Type();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.FailureFreeImpl <em>Failure Free</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.FailureFreeImpl
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.ThreatsPropagationPackageImpl#getFailureFree()
+		 * @generated
+		 */
+		EClass FAILURE_FREE = eINSTANCE.getFailureFree();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.UnclassifiedFailureImpl <em>Unclassified Failure</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.UnclassifiedFailureImpl
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.ThreatsPropagationPackageImpl#getUnclassifiedFailure()
+		 * @generated
+		 */
+		EClass UNCLASSIFIED_FAILURE = eINSTANCE.getUnclassifiedFailure();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.StuckAtImpl <em>Stuck At</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.StuckAtImpl
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.ThreatsPropagationPackageImpl#getStuckAt()
+		 * @generated
+		 */
+		EClass STUCK_AT = eINSTANCE.getStuckAt();
+
+		/**
+		 * The meta object literal for the '<em><b>Property</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference STUCK_AT__PROPERTY = eINSTANCE.getStuckAt_Property();
+
+		/**
+		 * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute STUCK_AT__VALUE = eINSTANCE.getStuckAt_Value();
+
+		/**
+		 * The meta object literal for the '<em><b>Base State</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference STUCK_AT__BASE_STATE = eINSTANCE.getStuckAt_Base_State();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.StuckAtFixedImpl <em>Stuck At Fixed</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.StuckAtFixedImpl
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.ThreatsPropagationPackageImpl#getStuckAtFixed()
+		 * @generated
+		 */
+		EClass STUCK_AT_FIXED = eINSTANCE.getStuckAtFixed();
+
+		/**
+		 * The meta object literal for the '<em><b>Base State</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference STUCK_AT_FIXED__BASE_STATE = eINSTANCE.getStuckAtFixed_Base_State();
+
+		/**
+		 * The meta object literal for the '<em><b>Property</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference STUCK_AT_FIXED__PROPERTY = eINSTANCE.getStuckAtFixed_Property();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.InvertedImpl <em>Inverted</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.InvertedImpl
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.ThreatsPropagationPackageImpl#getInverted()
+		 * @generated
+		 */
+		EClass INVERTED = eINSTANCE.getInverted();
+
+		/**
+		 * The meta object literal for the '<em><b>Base State</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference INVERTED__BASE_STATE = eINSTANCE.getInverted_Base_State();
+
+		/**
+		 * The meta object literal for the '<em><b>Property</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference INVERTED__PROPERTY = eINSTANCE.getInverted_Property();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.RampDownImpl <em>Ramp Down</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.RampDownImpl
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.ThreatsPropagationPackageImpl#getRampDown()
+		 * @generated
+		 */
+		EClass RAMP_DOWN = eINSTANCE.getRampDown();
+
+		/**
+		 * The meta object literal for the '<em><b>Base State</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference RAMP_DOWN__BASE_STATE = eINSTANCE.getRampDown_Base_State();
+
+		/**
+		 * The meta object literal for the '<em><b>Property</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference RAMP_DOWN__PROPERTY = eINSTANCE.getRampDown_Property();
+
+		/**
+		 * The meta object literal for the '<em><b>Decr</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute RAMP_DOWN__DECR = eINSTANCE.getRampDown_Decr();
+
+		/**
+		 * The meta object literal for the '<em><b>End Value</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute RAMP_DOWN__END_VALUE = eINSTANCE.getRampDown_EndValue();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.ErrorModelImpl <em>Error Model</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.ErrorModelImpl
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.ThreatsPropagationPackageImpl#getErrorModel()
+		 * @generated
+		 */
+		EClass ERROR_MODEL = eINSTANCE.getErrorModel();
+
+		/**
+		 * The meta object literal for the '<em><b>Base State Machine</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ERROR_MODEL__BASE_STATE_MACHINE = eINSTANCE.getErrorModel_Base_StateMachine();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.DurationType <em>Duration Type</em>}' enum.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.DurationType
+		 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.ThreatsPropagationPackageImpl#getDurationType()
+		 * @generated
+		 */
+		EEnum DURATION_TYPE = eINSTANCE.getDurationType();
+
+	}
+
+} //ThreatsPropagationPackage
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/UnclassifiedError.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/UnclassifiedError.java
new file mode 100644
index 000000000..f9836cbd7
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/UnclassifiedError.java
@@ -0,0 +1,26 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Unclassified Error</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatsPropagationPackage#getUnclassifiedError()
+ * @model
+ * @generated
+ */
+public interface UnclassifiedError extends ThreatState {
+} // UnclassifiedError
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/UnclassifiedFailure.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/UnclassifiedFailure.java
new file mode 100644
index 000000000..cafb13d7c
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/UnclassifiedFailure.java
@@ -0,0 +1,26 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Unclassified Failure</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatsPropagationPackage#getUnclassifiedFailure()
+ * @model
+ * @generated
+ */
+public interface UnclassifiedFailure extends ThreatState {
+} // UnclassifiedFailure
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/impl/ErrorFreeImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/impl/ErrorFreeImpl.java
new file mode 100644
index 000000000..5376a9b65
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/impl/ErrorFreeImpl.java
@@ -0,0 +1,47 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ErrorFree;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatsPropagationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Error Free</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class ErrorFreeImpl extends ThreatStateImpl implements ErrorFree {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ErrorFreeImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return ThreatsPropagationPackage.Literals.ERROR_FREE;
+	}
+
+} //ErrorFreeImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/impl/ErrorImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/impl/ErrorImpl.java
new file mode 100644
index 000000000..24e91670b
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/impl/ErrorImpl.java
@@ -0,0 +1,222 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.DurationType;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatsPropagationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Error</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.ErrorImpl#getType <em>Type</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.ErrorImpl#getVanishingTime <em>Vanishing Time</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ErrorImpl extends ThreatStateImpl implements org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.Error {
+	/**
+	 * The default value of the '{@link #getType() <em>Type</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getType()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final DurationType TYPE_EDEFAULT = DurationType.TRANSIENT;
+
+	/**
+	 * The cached value of the '{@link #getType() <em>Type</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getType()
+	 * @generated
+	 * @ordered
+	 */
+	protected DurationType type = TYPE_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getVanishingTime() <em>Vanishing Time</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getVanishingTime()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String VANISHING_TIME_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getVanishingTime() <em>Vanishing Time</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getVanishingTime()
+	 * @generated
+	 * @ordered
+	 */
+	protected String vanishingTime = VANISHING_TIME_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ErrorImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return ThreatsPropagationPackage.Literals.ERROR;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public DurationType getType() {
+		return type;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setType(DurationType newType) {
+		DurationType oldType = type;
+		type = newType == null ? TYPE_EDEFAULT : newType;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ThreatsPropagationPackage.ERROR__TYPE, oldType, type));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getVanishingTime() {
+		return vanishingTime;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setVanishingTime(String newVanishingTime) {
+		String oldVanishingTime = vanishingTime;
+		vanishingTime = newVanishingTime;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ThreatsPropagationPackage.ERROR__VANISHING_TIME, oldVanishingTime, vanishingTime));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case ThreatsPropagationPackage.ERROR__TYPE:
+				return getType();
+			case ThreatsPropagationPackage.ERROR__VANISHING_TIME:
+				return getVanishingTime();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case ThreatsPropagationPackage.ERROR__TYPE:
+				setType((DurationType)newValue);
+				return;
+			case ThreatsPropagationPackage.ERROR__VANISHING_TIME:
+				setVanishingTime((String)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case ThreatsPropagationPackage.ERROR__TYPE:
+				setType(TYPE_EDEFAULT);
+				return;
+			case ThreatsPropagationPackage.ERROR__VANISHING_TIME:
+				setVanishingTime(VANISHING_TIME_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case ThreatsPropagationPackage.ERROR__TYPE:
+				return type != TYPE_EDEFAULT;
+			case ThreatsPropagationPackage.ERROR__VANISHING_TIME:
+				return VANISHING_TIME_EDEFAULT == null ? vanishingTime != null : !VANISHING_TIME_EDEFAULT.equals(vanishingTime);
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (type: ");
+		result.append(type);
+		result.append(", vanishingTime: ");
+		result.append(vanishingTime);
+		result.append(')');
+		return result.toString();
+	}
+
+} //ErrorImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/impl/ErrorModelImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/impl/ErrorModelImpl.java
new file mode 100644
index 000000000..8957208ca
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/impl/ErrorModelImpl.java
@@ -0,0 +1,163 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.uml2.uml.StateMachine;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ErrorModel;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatsPropagationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Error Model</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.ErrorModelImpl#getBase_StateMachine <em>Base State Machine</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ErrorModelImpl extends EObjectImpl implements ErrorModel {
+	/**
+	 * The cached value of the '{@link #getBase_StateMachine() <em>Base State Machine</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBase_StateMachine()
+	 * @generated
+	 * @ordered
+	 */
+	protected StateMachine base_StateMachine;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ErrorModelImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return ThreatsPropagationPackage.Literals.ERROR_MODEL;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public StateMachine getBase_StateMachine() {
+		if (base_StateMachine != null && base_StateMachine.eIsProxy()) {
+			InternalEObject oldBase_StateMachine = (InternalEObject)base_StateMachine;
+			base_StateMachine = (StateMachine)eResolveProxy(oldBase_StateMachine);
+			if (base_StateMachine != oldBase_StateMachine) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, ThreatsPropagationPackage.ERROR_MODEL__BASE_STATE_MACHINE, oldBase_StateMachine, base_StateMachine));
+			}
+		}
+		return base_StateMachine;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public StateMachine basicGetBase_StateMachine() {
+		return base_StateMachine;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setBase_StateMachine(StateMachine newBase_StateMachine) {
+		StateMachine oldBase_StateMachine = base_StateMachine;
+		base_StateMachine = newBase_StateMachine;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ThreatsPropagationPackage.ERROR_MODEL__BASE_STATE_MACHINE, oldBase_StateMachine, base_StateMachine));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case ThreatsPropagationPackage.ERROR_MODEL__BASE_STATE_MACHINE:
+				if (resolve) return getBase_StateMachine();
+				return basicGetBase_StateMachine();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case ThreatsPropagationPackage.ERROR_MODEL__BASE_STATE_MACHINE:
+				setBase_StateMachine((StateMachine)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case ThreatsPropagationPackage.ERROR_MODEL__BASE_STATE_MACHINE:
+				setBase_StateMachine((StateMachine)null);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case ThreatsPropagationPackage.ERROR_MODEL__BASE_STATE_MACHINE:
+				return base_StateMachine != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //ErrorModelImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/impl/ExternalFaultImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/impl/ExternalFaultImpl.java
new file mode 100644
index 000000000..01489dda4
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/impl/ExternalFaultImpl.java
@@ -0,0 +1,497 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.emf.ecore.util.EDataTypeUniqueEList;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.Transition;
+import org.eclipse.uml2.uml.Type;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.DurationType;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ExternalFault;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatsPropagationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>External Fault</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.ExternalFaultImpl#getBase_Transition <em>Base Transition</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.ExternalFaultImpl#getFromPort <em>From Port</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.ExternalFaultImpl#getPropagationCondition <em>Propagation Condition</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.ExternalFaultImpl#getProbability <em>Probability</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.ExternalFaultImpl#getUnit <em>Unit</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.ExternalFaultImpl#getType <em>Type</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.ExternalFaultImpl#getTransfFunct <em>Transf Funct</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ExternalFaultImpl extends EObjectImpl implements ExternalFault {
+	/**
+	 * The cached value of the '{@link #getBase_Transition() <em>Base Transition</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBase_Transition()
+	 * @generated
+	 * @ordered
+	 */
+	protected Transition base_Transition;
+
+	/**
+	 * The cached value of the '{@link #getFromPort() <em>From Port</em>}' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getFromPort()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<Port> fromPort;
+
+	/**
+	 * The default value of the '{@link #getPropagationCondition() <em>Propagation Condition</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getPropagationCondition()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String PROPAGATION_CONDITION_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getPropagationCondition() <em>Propagation Condition</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getPropagationCondition()
+	 * @generated
+	 * @ordered
+	 */
+	protected String propagationCondition = PROPAGATION_CONDITION_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getProbability() <em>Probability</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getProbability()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String PROBABILITY_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getProbability() <em>Probability</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getProbability()
+	 * @generated
+	 * @ordered
+	 */
+	protected String probability = PROBABILITY_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getUnit() <em>Unit</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getUnit()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String UNIT_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getUnit() <em>Unit</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getUnit()
+	 * @generated
+	 * @ordered
+	 */
+	protected String unit = UNIT_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getType() <em>Type</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getType()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final DurationType TYPE_EDEFAULT = DurationType.TRANSIENT;
+
+	/**
+	 * The cached value of the '{@link #getType() <em>Type</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getType()
+	 * @generated
+	 * @ordered
+	 */
+	protected DurationType type = TYPE_EDEFAULT;
+
+	/**
+	 * The cached value of the '{@link #getTransfFunct() <em>Transf Funct</em>}' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getTransfFunct()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<String> transfFunct;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ExternalFaultImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return ThreatsPropagationPackage.Literals.EXTERNAL_FAULT;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Transition getBase_Transition() {
+		if (base_Transition != null && base_Transition.eIsProxy()) {
+			InternalEObject oldBase_Transition = (InternalEObject)base_Transition;
+			base_Transition = (Transition)eResolveProxy(oldBase_Transition);
+			if (base_Transition != oldBase_Transition) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, ThreatsPropagationPackage.EXTERNAL_FAULT__BASE_TRANSITION, oldBase_Transition, base_Transition));
+			}
+		}
+		return base_Transition;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Transition basicGetBase_Transition() {
+		return base_Transition;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setBase_Transition(Transition newBase_Transition) {
+		Transition oldBase_Transition = base_Transition;
+		base_Transition = newBase_Transition;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ThreatsPropagationPackage.EXTERNAL_FAULT__BASE_TRANSITION, oldBase_Transition, base_Transition));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<Port> getFromPort() {
+		if (fromPort == null) {
+			fromPort = new EObjectResolvingEList<Port>(Port.class, this, ThreatsPropagationPackage.EXTERNAL_FAULT__FROM_PORT);
+		}
+		return fromPort;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Port getFromPort(String name, Type type) {
+		return getFromPort(name, type, false);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Port getFromPort(String name, Type type, boolean ignoreCase) {
+		fromPortLoop: for (Port fromPort : getFromPort()) {
+			if (name != null && !(ignoreCase ? name.equalsIgnoreCase(fromPort.getName()) : name.equals(fromPort.getName())))
+				continue fromPortLoop;
+			if (type != null && !type.equals(fromPort.getType()))
+				continue fromPortLoop;
+			return fromPort;
+		}
+		return null;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getPropagationCondition() {
+		return propagationCondition;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setPropagationCondition(String newPropagationCondition) {
+		String oldPropagationCondition = propagationCondition;
+		propagationCondition = newPropagationCondition;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ThreatsPropagationPackage.EXTERNAL_FAULT__PROPAGATION_CONDITION, oldPropagationCondition, propagationCondition));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getProbability() {
+		return probability;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setProbability(String newProbability) {
+		String oldProbability = probability;
+		probability = newProbability;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ThreatsPropagationPackage.EXTERNAL_FAULT__PROBABILITY, oldProbability, probability));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getUnit() {
+		return unit;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setUnit(String newUnit) {
+		String oldUnit = unit;
+		unit = newUnit;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ThreatsPropagationPackage.EXTERNAL_FAULT__UNIT, oldUnit, unit));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public DurationType getType() {
+		return type;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setType(DurationType newType) {
+		DurationType oldType = type;
+		type = newType == null ? TYPE_EDEFAULT : newType;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ThreatsPropagationPackage.EXTERNAL_FAULT__TYPE, oldType, type));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<String> getTransfFunct() {
+		if (transfFunct == null) {
+			transfFunct = new EDataTypeUniqueEList<String>(String.class, this, ThreatsPropagationPackage.EXTERNAL_FAULT__TRANSF_FUNCT);
+		}
+		return transfFunct;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case ThreatsPropagationPackage.EXTERNAL_FAULT__BASE_TRANSITION:
+				if (resolve) return getBase_Transition();
+				return basicGetBase_Transition();
+			case ThreatsPropagationPackage.EXTERNAL_FAULT__FROM_PORT:
+				return getFromPort();
+			case ThreatsPropagationPackage.EXTERNAL_FAULT__PROPAGATION_CONDITION:
+				return getPropagationCondition();
+			case ThreatsPropagationPackage.EXTERNAL_FAULT__PROBABILITY:
+				return getProbability();
+			case ThreatsPropagationPackage.EXTERNAL_FAULT__UNIT:
+				return getUnit();
+			case ThreatsPropagationPackage.EXTERNAL_FAULT__TYPE:
+				return getType();
+			case ThreatsPropagationPackage.EXTERNAL_FAULT__TRANSF_FUNCT:
+				return getTransfFunct();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case ThreatsPropagationPackage.EXTERNAL_FAULT__BASE_TRANSITION:
+				setBase_Transition((Transition)newValue);
+				return;
+			case ThreatsPropagationPackage.EXTERNAL_FAULT__FROM_PORT:
+				getFromPort().clear();
+				getFromPort().addAll((Collection<? extends Port>)newValue);
+				return;
+			case ThreatsPropagationPackage.EXTERNAL_FAULT__PROPAGATION_CONDITION:
+				setPropagationCondition((String)newValue);
+				return;
+			case ThreatsPropagationPackage.EXTERNAL_FAULT__PROBABILITY:
+				setProbability((String)newValue);
+				return;
+			case ThreatsPropagationPackage.EXTERNAL_FAULT__UNIT:
+				setUnit((String)newValue);
+				return;
+			case ThreatsPropagationPackage.EXTERNAL_FAULT__TYPE:
+				setType((DurationType)newValue);
+				return;
+			case ThreatsPropagationPackage.EXTERNAL_FAULT__TRANSF_FUNCT:
+				getTransfFunct().clear();
+				getTransfFunct().addAll((Collection<? extends String>)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case ThreatsPropagationPackage.EXTERNAL_FAULT__BASE_TRANSITION:
+				setBase_Transition((Transition)null);
+				return;
+			case ThreatsPropagationPackage.EXTERNAL_FAULT__FROM_PORT:
+				getFromPort().clear();
+				return;
+			case ThreatsPropagationPackage.EXTERNAL_FAULT__PROPAGATION_CONDITION:
+				setPropagationCondition(PROPAGATION_CONDITION_EDEFAULT);
+				return;
+			case ThreatsPropagationPackage.EXTERNAL_FAULT__PROBABILITY:
+				setProbability(PROBABILITY_EDEFAULT);
+				return;
+			case ThreatsPropagationPackage.EXTERNAL_FAULT__UNIT:
+				setUnit(UNIT_EDEFAULT);
+				return;
+			case ThreatsPropagationPackage.EXTERNAL_FAULT__TYPE:
+				setType(TYPE_EDEFAULT);
+				return;
+			case ThreatsPropagationPackage.EXTERNAL_FAULT__TRANSF_FUNCT:
+				getTransfFunct().clear();
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case ThreatsPropagationPackage.EXTERNAL_FAULT__BASE_TRANSITION:
+				return base_Transition != null;
+			case ThreatsPropagationPackage.EXTERNAL_FAULT__FROM_PORT:
+				return fromPort != null && !fromPort.isEmpty();
+			case ThreatsPropagationPackage.EXTERNAL_FAULT__PROPAGATION_CONDITION:
+				return PROPAGATION_CONDITION_EDEFAULT == null ? propagationCondition != null : !PROPAGATION_CONDITION_EDEFAULT.equals(propagationCondition);
+			case ThreatsPropagationPackage.EXTERNAL_FAULT__PROBABILITY:
+				return PROBABILITY_EDEFAULT == null ? probability != null : !PROBABILITY_EDEFAULT.equals(probability);
+			case ThreatsPropagationPackage.EXTERNAL_FAULT__UNIT:
+				return UNIT_EDEFAULT == null ? unit != null : !UNIT_EDEFAULT.equals(unit);
+			case ThreatsPropagationPackage.EXTERNAL_FAULT__TYPE:
+				return type != TYPE_EDEFAULT;
+			case ThreatsPropagationPackage.EXTERNAL_FAULT__TRANSF_FUNCT:
+				return transfFunct != null && !transfFunct.isEmpty();
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (propagationCondition: ");
+		result.append(propagationCondition);
+		result.append(", probability: ");
+		result.append(probability);
+		result.append(", unit: ");
+		result.append(unit);
+		result.append(", type: ");
+		result.append(type);
+		result.append(", transfFunct: ");
+		result.append(transfFunct);
+		result.append(')');
+		return result.toString();
+	}
+
+} //ExternalFaultImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/impl/FailureFreeImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/impl/FailureFreeImpl.java
new file mode 100644
index 000000000..12da239c8
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/impl/FailureFreeImpl.java
@@ -0,0 +1,47 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.FailureFree;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatsPropagationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Failure Free</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class FailureFreeImpl extends ThreatStateImpl implements FailureFree {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected FailureFreeImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return ThreatsPropagationPackage.Literals.FAILURE_FREE;
+	}
+
+} //FailureFreeImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/impl/FailureModeImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/impl/FailureModeImpl.java
new file mode 100644
index 000000000..8991caf3d
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/impl/FailureModeImpl.java
@@ -0,0 +1,235 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.Type;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.DurationType;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.FailureMode;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatsPropagationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Failure Mode</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.FailureModeImpl#getAffectedPorts <em>Affected Ports</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.FailureModeImpl#getType <em>Type</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class FailureModeImpl extends ThreatStateImpl implements FailureMode {
+	/**
+	 * The cached value of the '{@link #getAffectedPorts() <em>Affected Ports</em>}' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getAffectedPorts()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<Port> affectedPorts;
+
+	/**
+	 * The default value of the '{@link #getType() <em>Type</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getType()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final DurationType TYPE_EDEFAULT = DurationType.TRANSIENT;
+
+	/**
+	 * The cached value of the '{@link #getType() <em>Type</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getType()
+	 * @generated
+	 * @ordered
+	 */
+	protected DurationType type = TYPE_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected FailureModeImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return ThreatsPropagationPackage.Literals.FAILURE_MODE;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<Port> getAffectedPorts() {
+		if (affectedPorts == null) {
+			affectedPorts = new EObjectResolvingEList<Port>(Port.class, this, ThreatsPropagationPackage.FAILURE_MODE__AFFECTED_PORTS);
+		}
+		return affectedPorts;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Port getAffectedPorts(String name, Type type) {
+		return getAffectedPorts(name, type, false);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Port getAffectedPorts(String name, Type type, boolean ignoreCase) {
+		affectedPortsLoop: for (Port affectedPorts : getAffectedPorts()) {
+			if (name != null && !(ignoreCase ? name.equalsIgnoreCase(affectedPorts.getName()) : name.equals(affectedPorts.getName())))
+				continue affectedPortsLoop;
+			if (type != null && !type.equals(affectedPorts.getType()))
+				continue affectedPortsLoop;
+			return affectedPorts;
+		}
+		return null;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public DurationType getType() {
+		return type;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setType(DurationType newType) {
+		DurationType oldType = type;
+		type = newType == null ? TYPE_EDEFAULT : newType;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ThreatsPropagationPackage.FAILURE_MODE__TYPE, oldType, type));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case ThreatsPropagationPackage.FAILURE_MODE__AFFECTED_PORTS:
+				return getAffectedPorts();
+			case ThreatsPropagationPackage.FAILURE_MODE__TYPE:
+				return getType();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case ThreatsPropagationPackage.FAILURE_MODE__AFFECTED_PORTS:
+				getAffectedPorts().clear();
+				getAffectedPorts().addAll((Collection<? extends Port>)newValue);
+				return;
+			case ThreatsPropagationPackage.FAILURE_MODE__TYPE:
+				setType((DurationType)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case ThreatsPropagationPackage.FAILURE_MODE__AFFECTED_PORTS:
+				getAffectedPorts().clear();
+				return;
+			case ThreatsPropagationPackage.FAILURE_MODE__TYPE:
+				setType(TYPE_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case ThreatsPropagationPackage.FAILURE_MODE__AFFECTED_PORTS:
+				return affectedPorts != null && !affectedPorts.isEmpty();
+			case ThreatsPropagationPackage.FAILURE_MODE__TYPE:
+				return type != TYPE_EDEFAULT;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (type: ");
+		result.append(type);
+		result.append(')');
+		return result.toString();
+	}
+
+} //FailureModeImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/impl/InternalFaultImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/impl/InternalFaultImpl.java
new file mode 100644
index 000000000..9e9fd86e3
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/impl/InternalFaultImpl.java
@@ -0,0 +1,515 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.State;
+import org.eclipse.uml2.uml.Transition;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.InternalFault;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatsPropagationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Internal Fault</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.InternalFaultImpl#getBase_Transition <em>Base Transition</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.InternalFaultImpl#getPermanentProb <em>Permanent Prob</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.InternalFaultImpl#getTransfFunct <em>Transf Funct</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.InternalFaultImpl#getProperty <em>Property</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.InternalFaultImpl#getChildFailure <em>Child Failure</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.InternalFaultImpl#getOccurrence <em>Occurrence</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.InternalFaultImpl#getTransientDuration <em>Transient Duration</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class InternalFaultImpl extends EObjectImpl implements InternalFault {
+	/**
+	 * The cached value of the '{@link #getBase_Transition() <em>Base Transition</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBase_Transition()
+	 * @generated
+	 * @ordered
+	 */
+	protected Transition base_Transition;
+
+	/**
+	 * The default value of the '{@link #getPermanentProb() <em>Permanent Prob</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getPermanentProb()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String PERMANENT_PROB_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getPermanentProb() <em>Permanent Prob</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getPermanentProb()
+	 * @generated
+	 * @ordered
+	 */
+	protected String permanentProb = PERMANENT_PROB_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getTransfFunct() <em>Transf Funct</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getTransfFunct()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String TRANSF_FUNCT_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getTransfFunct() <em>Transf Funct</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getTransfFunct()
+	 * @generated
+	 * @ordered
+	 */
+	protected String transfFunct = TRANSF_FUNCT_EDEFAULT;
+
+	/**
+	 * The cached value of the '{@link #getProperty() <em>Property</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getProperty()
+	 * @generated
+	 * @ordered
+	 */
+	protected Property property;
+
+	/**
+	 * The cached value of the '{@link #getChildFailure() <em>Child Failure</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getChildFailure()
+	 * @generated
+	 * @ordered
+	 */
+	protected State childFailure;
+
+	/**
+	 * The default value of the '{@link #getOccurrence() <em>Occurrence</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getOccurrence()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String OCCURRENCE_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getOccurrence() <em>Occurrence</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getOccurrence()
+	 * @generated
+	 * @ordered
+	 */
+	protected String occurrence = OCCURRENCE_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getTransientDuration() <em>Transient Duration</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getTransientDuration()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String TRANSIENT_DURATION_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getTransientDuration() <em>Transient Duration</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getTransientDuration()
+	 * @generated
+	 * @ordered
+	 */
+	protected String transientDuration = TRANSIENT_DURATION_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected InternalFaultImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return ThreatsPropagationPackage.Literals.INTERNAL_FAULT;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Transition getBase_Transition() {
+		if (base_Transition != null && base_Transition.eIsProxy()) {
+			InternalEObject oldBase_Transition = (InternalEObject)base_Transition;
+			base_Transition = (Transition)eResolveProxy(oldBase_Transition);
+			if (base_Transition != oldBase_Transition) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, ThreatsPropagationPackage.INTERNAL_FAULT__BASE_TRANSITION, oldBase_Transition, base_Transition));
+			}
+		}
+		return base_Transition;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Transition basicGetBase_Transition() {
+		return base_Transition;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setBase_Transition(Transition newBase_Transition) {
+		Transition oldBase_Transition = base_Transition;
+		base_Transition = newBase_Transition;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ThreatsPropagationPackage.INTERNAL_FAULT__BASE_TRANSITION, oldBase_Transition, base_Transition));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getPermanentProb() {
+		return permanentProb;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setPermanentProb(String newPermanentProb) {
+		String oldPermanentProb = permanentProb;
+		permanentProb = newPermanentProb;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ThreatsPropagationPackage.INTERNAL_FAULT__PERMANENT_PROB, oldPermanentProb, permanentProb));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getTransfFunct() {
+		return transfFunct;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setTransfFunct(String newTransfFunct) {
+		String oldTransfFunct = transfFunct;
+		transfFunct = newTransfFunct;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ThreatsPropagationPackage.INTERNAL_FAULT__TRANSF_FUNCT, oldTransfFunct, transfFunct));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Property getProperty() {
+		if (property != null && property.eIsProxy()) {
+			InternalEObject oldProperty = (InternalEObject)property;
+			property = (Property)eResolveProxy(oldProperty);
+			if (property != oldProperty) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, ThreatsPropagationPackage.INTERNAL_FAULT__PROPERTY, oldProperty, property));
+			}
+		}
+		return property;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Property basicGetProperty() {
+		return property;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setProperty(Property newProperty) {
+		Property oldProperty = property;
+		property = newProperty;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ThreatsPropagationPackage.INTERNAL_FAULT__PROPERTY, oldProperty, property));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public State getChildFailure() {
+		if (childFailure != null && childFailure.eIsProxy()) {
+			InternalEObject oldChildFailure = (InternalEObject)childFailure;
+			childFailure = (State)eResolveProxy(oldChildFailure);
+			if (childFailure != oldChildFailure) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, ThreatsPropagationPackage.INTERNAL_FAULT__CHILD_FAILURE, oldChildFailure, childFailure));
+			}
+		}
+		return childFailure;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public State basicGetChildFailure() {
+		return childFailure;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setChildFailure(State newChildFailure) {
+		State oldChildFailure = childFailure;
+		childFailure = newChildFailure;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ThreatsPropagationPackage.INTERNAL_FAULT__CHILD_FAILURE, oldChildFailure, childFailure));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getOccurrence() {
+		return occurrence;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setOccurrence(String newOccurrence) {
+		String oldOccurrence = occurrence;
+		occurrence = newOccurrence;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ThreatsPropagationPackage.INTERNAL_FAULT__OCCURRENCE, oldOccurrence, occurrence));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getTransientDuration() {
+		return transientDuration;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setTransientDuration(String newTransientDuration) {
+		String oldTransientDuration = transientDuration;
+		transientDuration = newTransientDuration;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ThreatsPropagationPackage.INTERNAL_FAULT__TRANSIENT_DURATION, oldTransientDuration, transientDuration));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case ThreatsPropagationPackage.INTERNAL_FAULT__BASE_TRANSITION:
+				if (resolve) return getBase_Transition();
+				return basicGetBase_Transition();
+			case ThreatsPropagationPackage.INTERNAL_FAULT__PERMANENT_PROB:
+				return getPermanentProb();
+			case ThreatsPropagationPackage.INTERNAL_FAULT__TRANSF_FUNCT:
+				return getTransfFunct();
+			case ThreatsPropagationPackage.INTERNAL_FAULT__PROPERTY:
+				if (resolve) return getProperty();
+				return basicGetProperty();
+			case ThreatsPropagationPackage.INTERNAL_FAULT__CHILD_FAILURE:
+				if (resolve) return getChildFailure();
+				return basicGetChildFailure();
+			case ThreatsPropagationPackage.INTERNAL_FAULT__OCCURRENCE:
+				return getOccurrence();
+			case ThreatsPropagationPackage.INTERNAL_FAULT__TRANSIENT_DURATION:
+				return getTransientDuration();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case ThreatsPropagationPackage.INTERNAL_FAULT__BASE_TRANSITION:
+				setBase_Transition((Transition)newValue);
+				return;
+			case ThreatsPropagationPackage.INTERNAL_FAULT__PERMANENT_PROB:
+				setPermanentProb((String)newValue);
+				return;
+			case ThreatsPropagationPackage.INTERNAL_FAULT__TRANSF_FUNCT:
+				setTransfFunct((String)newValue);
+				return;
+			case ThreatsPropagationPackage.INTERNAL_FAULT__PROPERTY:
+				setProperty((Property)newValue);
+				return;
+			case ThreatsPropagationPackage.INTERNAL_FAULT__CHILD_FAILURE:
+				setChildFailure((State)newValue);
+				return;
+			case ThreatsPropagationPackage.INTERNAL_FAULT__OCCURRENCE:
+				setOccurrence((String)newValue);
+				return;
+			case ThreatsPropagationPackage.INTERNAL_FAULT__TRANSIENT_DURATION:
+				setTransientDuration((String)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case ThreatsPropagationPackage.INTERNAL_FAULT__BASE_TRANSITION:
+				setBase_Transition((Transition)null);
+				return;
+			case ThreatsPropagationPackage.INTERNAL_FAULT__PERMANENT_PROB:
+				setPermanentProb(PERMANENT_PROB_EDEFAULT);
+				return;
+			case ThreatsPropagationPackage.INTERNAL_FAULT__TRANSF_FUNCT:
+				setTransfFunct(TRANSF_FUNCT_EDEFAULT);
+				return;
+			case ThreatsPropagationPackage.INTERNAL_FAULT__PROPERTY:
+				setProperty((Property)null);
+				return;
+			case ThreatsPropagationPackage.INTERNAL_FAULT__CHILD_FAILURE:
+				setChildFailure((State)null);
+				return;
+			case ThreatsPropagationPackage.INTERNAL_FAULT__OCCURRENCE:
+				setOccurrence(OCCURRENCE_EDEFAULT);
+				return;
+			case ThreatsPropagationPackage.INTERNAL_FAULT__TRANSIENT_DURATION:
+				setTransientDuration(TRANSIENT_DURATION_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case ThreatsPropagationPackage.INTERNAL_FAULT__BASE_TRANSITION:
+				return base_Transition != null;
+			case ThreatsPropagationPackage.INTERNAL_FAULT__PERMANENT_PROB:
+				return PERMANENT_PROB_EDEFAULT == null ? permanentProb != null : !PERMANENT_PROB_EDEFAULT.equals(permanentProb);
+			case ThreatsPropagationPackage.INTERNAL_FAULT__TRANSF_FUNCT:
+				return TRANSF_FUNCT_EDEFAULT == null ? transfFunct != null : !TRANSF_FUNCT_EDEFAULT.equals(transfFunct);
+			case ThreatsPropagationPackage.INTERNAL_FAULT__PROPERTY:
+				return property != null;
+			case ThreatsPropagationPackage.INTERNAL_FAULT__CHILD_FAILURE:
+				return childFailure != null;
+			case ThreatsPropagationPackage.INTERNAL_FAULT__OCCURRENCE:
+				return OCCURRENCE_EDEFAULT == null ? occurrence != null : !OCCURRENCE_EDEFAULT.equals(occurrence);
+			case ThreatsPropagationPackage.INTERNAL_FAULT__TRANSIENT_DURATION:
+				return TRANSIENT_DURATION_EDEFAULT == null ? transientDuration != null : !TRANSIENT_DURATION_EDEFAULT.equals(transientDuration);
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (permanentProb: ");
+		result.append(permanentProb);
+		result.append(", transfFunct: ");
+		result.append(transfFunct);
+		result.append(", occurrence: ");
+		result.append(occurrence);
+		result.append(", transientDuration: ");
+		result.append(transientDuration);
+		result.append(')');
+		return result.toString();
+	}
+
+} //InternalFaultImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/impl/InvertedImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/impl/InvertedImpl.java
new file mode 100644
index 000000000..5c96315ea
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/impl/InvertedImpl.java
@@ -0,0 +1,224 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.State;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.Inverted;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatsPropagationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Inverted</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.InvertedImpl#getBase_State <em>Base State</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.InvertedImpl#getProperty <em>Property</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class InvertedImpl extends EObjectImpl implements Inverted {
+	/**
+	 * The cached value of the '{@link #getBase_State() <em>Base State</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBase_State()
+	 * @generated
+	 * @ordered
+	 */
+	protected State base_State;
+
+	/**
+	 * The cached value of the '{@link #getProperty() <em>Property</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getProperty()
+	 * @generated
+	 * @ordered
+	 */
+	protected Property property;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected InvertedImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return ThreatsPropagationPackage.Literals.INVERTED;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public State getBase_State() {
+		if (base_State != null && base_State.eIsProxy()) {
+			InternalEObject oldBase_State = (InternalEObject)base_State;
+			base_State = (State)eResolveProxy(oldBase_State);
+			if (base_State != oldBase_State) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, ThreatsPropagationPackage.INVERTED__BASE_STATE, oldBase_State, base_State));
+			}
+		}
+		return base_State;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public State basicGetBase_State() {
+		return base_State;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setBase_State(State newBase_State) {
+		State oldBase_State = base_State;
+		base_State = newBase_State;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ThreatsPropagationPackage.INVERTED__BASE_STATE, oldBase_State, base_State));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Property getProperty() {
+		if (property != null && property.eIsProxy()) {
+			InternalEObject oldProperty = (InternalEObject)property;
+			property = (Property)eResolveProxy(oldProperty);
+			if (property != oldProperty) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, ThreatsPropagationPackage.INVERTED__PROPERTY, oldProperty, property));
+			}
+		}
+		return property;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Property basicGetProperty() {
+		return property;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setProperty(Property newProperty) {
+		Property oldProperty = property;
+		property = newProperty;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ThreatsPropagationPackage.INVERTED__PROPERTY, oldProperty, property));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case ThreatsPropagationPackage.INVERTED__BASE_STATE:
+				if (resolve) return getBase_State();
+				return basicGetBase_State();
+			case ThreatsPropagationPackage.INVERTED__PROPERTY:
+				if (resolve) return getProperty();
+				return basicGetProperty();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case ThreatsPropagationPackage.INVERTED__BASE_STATE:
+				setBase_State((State)newValue);
+				return;
+			case ThreatsPropagationPackage.INVERTED__PROPERTY:
+				setProperty((Property)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case ThreatsPropagationPackage.INVERTED__BASE_STATE:
+				setBase_State((State)null);
+				return;
+			case ThreatsPropagationPackage.INVERTED__PROPERTY:
+				setProperty((Property)null);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case ThreatsPropagationPackage.INVERTED__BASE_STATE:
+				return base_State != null;
+			case ThreatsPropagationPackage.INVERTED__PROPERTY:
+				return property != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //InvertedImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/impl/RampDownImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/impl/RampDownImpl.java
new file mode 100644
index 000000000..70e8bbd83
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/impl/RampDownImpl.java
@@ -0,0 +1,346 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.State;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.RampDown;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatsPropagationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Ramp Down</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.RampDownImpl#getBase_State <em>Base State</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.RampDownImpl#getProperty <em>Property</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.RampDownImpl#getDecr <em>Decr</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.RampDownImpl#getEndValue <em>End Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class RampDownImpl extends EObjectImpl implements RampDown {
+	/**
+	 * The cached value of the '{@link #getBase_State() <em>Base State</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBase_State()
+	 * @generated
+	 * @ordered
+	 */
+	protected State base_State;
+
+	/**
+	 * The cached value of the '{@link #getProperty() <em>Property</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getProperty()
+	 * @generated
+	 * @ordered
+	 */
+	protected Property property;
+
+	/**
+	 * The default value of the '{@link #getDecr() <em>Decr</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDecr()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String DECR_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getDecr() <em>Decr</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDecr()
+	 * @generated
+	 * @ordered
+	 */
+	protected String decr = DECR_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getEndValue() <em>End Value</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getEndValue()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String END_VALUE_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getEndValue() <em>End Value</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getEndValue()
+	 * @generated
+	 * @ordered
+	 */
+	protected String endValue = END_VALUE_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected RampDownImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return ThreatsPropagationPackage.Literals.RAMP_DOWN;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public State getBase_State() {
+		if (base_State != null && base_State.eIsProxy()) {
+			InternalEObject oldBase_State = (InternalEObject)base_State;
+			base_State = (State)eResolveProxy(oldBase_State);
+			if (base_State != oldBase_State) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, ThreatsPropagationPackage.RAMP_DOWN__BASE_STATE, oldBase_State, base_State));
+			}
+		}
+		return base_State;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public State basicGetBase_State() {
+		return base_State;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setBase_State(State newBase_State) {
+		State oldBase_State = base_State;
+		base_State = newBase_State;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ThreatsPropagationPackage.RAMP_DOWN__BASE_STATE, oldBase_State, base_State));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Property getProperty() {
+		if (property != null && property.eIsProxy()) {
+			InternalEObject oldProperty = (InternalEObject)property;
+			property = (Property)eResolveProxy(oldProperty);
+			if (property != oldProperty) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, ThreatsPropagationPackage.RAMP_DOWN__PROPERTY, oldProperty, property));
+			}
+		}
+		return property;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Property basicGetProperty() {
+		return property;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setProperty(Property newProperty) {
+		Property oldProperty = property;
+		property = newProperty;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ThreatsPropagationPackage.RAMP_DOWN__PROPERTY, oldProperty, property));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getDecr() {
+		return decr;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setDecr(String newDecr) {
+		String oldDecr = decr;
+		decr = newDecr;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ThreatsPropagationPackage.RAMP_DOWN__DECR, oldDecr, decr));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getEndValue() {
+		return endValue;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setEndValue(String newEndValue) {
+		String oldEndValue = endValue;
+		endValue = newEndValue;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ThreatsPropagationPackage.RAMP_DOWN__END_VALUE, oldEndValue, endValue));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case ThreatsPropagationPackage.RAMP_DOWN__BASE_STATE:
+				if (resolve) return getBase_State();
+				return basicGetBase_State();
+			case ThreatsPropagationPackage.RAMP_DOWN__PROPERTY:
+				if (resolve) return getProperty();
+				return basicGetProperty();
+			case ThreatsPropagationPackage.RAMP_DOWN__DECR:
+				return getDecr();
+			case ThreatsPropagationPackage.RAMP_DOWN__END_VALUE:
+				return getEndValue();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case ThreatsPropagationPackage.RAMP_DOWN__BASE_STATE:
+				setBase_State((State)newValue);
+				return;
+			case ThreatsPropagationPackage.RAMP_DOWN__PROPERTY:
+				setProperty((Property)newValue);
+				return;
+			case ThreatsPropagationPackage.RAMP_DOWN__DECR:
+				setDecr((String)newValue);
+				return;
+			case ThreatsPropagationPackage.RAMP_DOWN__END_VALUE:
+				setEndValue((String)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case ThreatsPropagationPackage.RAMP_DOWN__BASE_STATE:
+				setBase_State((State)null);
+				return;
+			case ThreatsPropagationPackage.RAMP_DOWN__PROPERTY:
+				setProperty((Property)null);
+				return;
+			case ThreatsPropagationPackage.RAMP_DOWN__DECR:
+				setDecr(DECR_EDEFAULT);
+				return;
+			case ThreatsPropagationPackage.RAMP_DOWN__END_VALUE:
+				setEndValue(END_VALUE_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case ThreatsPropagationPackage.RAMP_DOWN__BASE_STATE:
+				return base_State != null;
+			case ThreatsPropagationPackage.RAMP_DOWN__PROPERTY:
+				return property != null;
+			case ThreatsPropagationPackage.RAMP_DOWN__DECR:
+				return DECR_EDEFAULT == null ? decr != null : !DECR_EDEFAULT.equals(decr);
+			case ThreatsPropagationPackage.RAMP_DOWN__END_VALUE:
+				return END_VALUE_EDEFAULT == null ? endValue != null : !END_VALUE_EDEFAULT.equals(endValue);
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (decr: ");
+		result.append(decr);
+		result.append(", endValue: ");
+		result.append(endValue);
+		result.append(')');
+		return result.toString();
+	}
+
+} //RampDownImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/impl/StuckAtFixedImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/impl/StuckAtFixedImpl.java
new file mode 100644
index 000000000..d2d17e42a
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/impl/StuckAtFixedImpl.java
@@ -0,0 +1,224 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.State;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.StuckAtFixed;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatsPropagationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Stuck At Fixed</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.StuckAtFixedImpl#getBase_State <em>Base State</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.StuckAtFixedImpl#getProperty <em>Property</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class StuckAtFixedImpl extends EObjectImpl implements StuckAtFixed {
+	/**
+	 * The cached value of the '{@link #getBase_State() <em>Base State</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBase_State()
+	 * @generated
+	 * @ordered
+	 */
+	protected State base_State;
+
+	/**
+	 * The cached value of the '{@link #getProperty() <em>Property</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getProperty()
+	 * @generated
+	 * @ordered
+	 */
+	protected Property property;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected StuckAtFixedImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return ThreatsPropagationPackage.Literals.STUCK_AT_FIXED;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public State getBase_State() {
+		if (base_State != null && base_State.eIsProxy()) {
+			InternalEObject oldBase_State = (InternalEObject)base_State;
+			base_State = (State)eResolveProxy(oldBase_State);
+			if (base_State != oldBase_State) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, ThreatsPropagationPackage.STUCK_AT_FIXED__BASE_STATE, oldBase_State, base_State));
+			}
+		}
+		return base_State;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public State basicGetBase_State() {
+		return base_State;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setBase_State(State newBase_State) {
+		State oldBase_State = base_State;
+		base_State = newBase_State;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ThreatsPropagationPackage.STUCK_AT_FIXED__BASE_STATE, oldBase_State, base_State));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Property getProperty() {
+		if (property != null && property.eIsProxy()) {
+			InternalEObject oldProperty = (InternalEObject)property;
+			property = (Property)eResolveProxy(oldProperty);
+			if (property != oldProperty) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, ThreatsPropagationPackage.STUCK_AT_FIXED__PROPERTY, oldProperty, property));
+			}
+		}
+		return property;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Property basicGetProperty() {
+		return property;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setProperty(Property newProperty) {
+		Property oldProperty = property;
+		property = newProperty;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ThreatsPropagationPackage.STUCK_AT_FIXED__PROPERTY, oldProperty, property));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case ThreatsPropagationPackage.STUCK_AT_FIXED__BASE_STATE:
+				if (resolve) return getBase_State();
+				return basicGetBase_State();
+			case ThreatsPropagationPackage.STUCK_AT_FIXED__PROPERTY:
+				if (resolve) return getProperty();
+				return basicGetProperty();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case ThreatsPropagationPackage.STUCK_AT_FIXED__BASE_STATE:
+				setBase_State((State)newValue);
+				return;
+			case ThreatsPropagationPackage.STUCK_AT_FIXED__PROPERTY:
+				setProperty((Property)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case ThreatsPropagationPackage.STUCK_AT_FIXED__BASE_STATE:
+				setBase_State((State)null);
+				return;
+			case ThreatsPropagationPackage.STUCK_AT_FIXED__PROPERTY:
+				setProperty((Property)null);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case ThreatsPropagationPackage.STUCK_AT_FIXED__BASE_STATE:
+				return base_State != null;
+			case ThreatsPropagationPackage.STUCK_AT_FIXED__PROPERTY:
+				return property != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //StuckAtFixedImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/impl/StuckAtImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/impl/StuckAtImpl.java
new file mode 100644
index 000000000..51775059c
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/impl/StuckAtImpl.java
@@ -0,0 +1,292 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.State;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.StuckAt;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatsPropagationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Stuck At</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.StuckAtImpl#getProperty <em>Property</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.StuckAtImpl#getValue <em>Value</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.StuckAtImpl#getBase_State <em>Base State</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class StuckAtImpl extends EObjectImpl implements StuckAt {
+	/**
+	 * The cached value of the '{@link #getProperty() <em>Property</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getProperty()
+	 * @generated
+	 * @ordered
+	 */
+	protected Property property;
+
+	/**
+	 * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getValue()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String VALUE_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getValue()
+	 * @generated
+	 * @ordered
+	 */
+	protected String value = VALUE_EDEFAULT;
+
+	/**
+	 * The cached value of the '{@link #getBase_State() <em>Base State</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBase_State()
+	 * @generated
+	 * @ordered
+	 */
+	protected State base_State;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected StuckAtImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return ThreatsPropagationPackage.Literals.STUCK_AT;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Property getProperty() {
+		if (property != null && property.eIsProxy()) {
+			InternalEObject oldProperty = (InternalEObject)property;
+			property = (Property)eResolveProxy(oldProperty);
+			if (property != oldProperty) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, ThreatsPropagationPackage.STUCK_AT__PROPERTY, oldProperty, property));
+			}
+		}
+		return property;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Property basicGetProperty() {
+		return property;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setProperty(Property newProperty) {
+		Property oldProperty = property;
+		property = newProperty;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ThreatsPropagationPackage.STUCK_AT__PROPERTY, oldProperty, property));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getValue() {
+		return value;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setValue(String newValue) {
+		String oldValue = value;
+		value = newValue;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ThreatsPropagationPackage.STUCK_AT__VALUE, oldValue, value));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public State getBase_State() {
+		if (base_State != null && base_State.eIsProxy()) {
+			InternalEObject oldBase_State = (InternalEObject)base_State;
+			base_State = (State)eResolveProxy(oldBase_State);
+			if (base_State != oldBase_State) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, ThreatsPropagationPackage.STUCK_AT__BASE_STATE, oldBase_State, base_State));
+			}
+		}
+		return base_State;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public State basicGetBase_State() {
+		return base_State;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setBase_State(State newBase_State) {
+		State oldBase_State = base_State;
+		base_State = newBase_State;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ThreatsPropagationPackage.STUCK_AT__BASE_STATE, oldBase_State, base_State));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case ThreatsPropagationPackage.STUCK_AT__PROPERTY:
+				if (resolve) return getProperty();
+				return basicGetProperty();
+			case ThreatsPropagationPackage.STUCK_AT__VALUE:
+				return getValue();
+			case ThreatsPropagationPackage.STUCK_AT__BASE_STATE:
+				if (resolve) return getBase_State();
+				return basicGetBase_State();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case ThreatsPropagationPackage.STUCK_AT__PROPERTY:
+				setProperty((Property)newValue);
+				return;
+			case ThreatsPropagationPackage.STUCK_AT__VALUE:
+				setValue((String)newValue);
+				return;
+			case ThreatsPropagationPackage.STUCK_AT__BASE_STATE:
+				setBase_State((State)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case ThreatsPropagationPackage.STUCK_AT__PROPERTY:
+				setProperty((Property)null);
+				return;
+			case ThreatsPropagationPackage.STUCK_AT__VALUE:
+				setValue(VALUE_EDEFAULT);
+				return;
+			case ThreatsPropagationPackage.STUCK_AT__BASE_STATE:
+				setBase_State((State)null);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case ThreatsPropagationPackage.STUCK_AT__PROPERTY:
+				return property != null;
+			case ThreatsPropagationPackage.STUCK_AT__VALUE:
+				return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value);
+			case ThreatsPropagationPackage.STUCK_AT__BASE_STATE:
+				return base_State != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (value: ");
+		result.append(value);
+		result.append(')');
+		return result.toString();
+	}
+
+} //StuckAtImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/impl/ThreatStateImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/impl/ThreatStateImpl.java
new file mode 100644
index 000000000..d33af087a
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/impl/ThreatStateImpl.java
@@ -0,0 +1,285 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.uml2.uml.State;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatState;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatsPropagationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Threat State</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.ThreatStateImpl#getBase_State <em>Base State</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.ThreatStateImpl#getProbability <em>Probability</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.ThreatStateImpl#getUnit <em>Unit</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ThreatStateImpl extends EObjectImpl implements ThreatState {
+	/**
+	 * The cached value of the '{@link #getBase_State() <em>Base State</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBase_State()
+	 * @generated
+	 * @ordered
+	 */
+	protected State base_State;
+
+	/**
+	 * The default value of the '{@link #getProbability() <em>Probability</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getProbability()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String PROBABILITY_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getProbability() <em>Probability</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getProbability()
+	 * @generated
+	 * @ordered
+	 */
+	protected String probability = PROBABILITY_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getUnit() <em>Unit</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getUnit()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String UNIT_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getUnit() <em>Unit</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getUnit()
+	 * @generated
+	 * @ordered
+	 */
+	protected String unit = UNIT_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ThreatStateImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return ThreatsPropagationPackage.Literals.THREAT_STATE;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public State getBase_State() {
+		if (base_State != null && base_State.eIsProxy()) {
+			InternalEObject oldBase_State = (InternalEObject)base_State;
+			base_State = (State)eResolveProxy(oldBase_State);
+			if (base_State != oldBase_State) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, ThreatsPropagationPackage.THREAT_STATE__BASE_STATE, oldBase_State, base_State));
+			}
+		}
+		return base_State;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public State basicGetBase_State() {
+		return base_State;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setBase_State(State newBase_State) {
+		State oldBase_State = base_State;
+		base_State = newBase_State;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ThreatsPropagationPackage.THREAT_STATE__BASE_STATE, oldBase_State, base_State));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getProbability() {
+		return probability;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setProbability(String newProbability) {
+		String oldProbability = probability;
+		probability = newProbability;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ThreatsPropagationPackage.THREAT_STATE__PROBABILITY, oldProbability, probability));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getUnit() {
+		return unit;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setUnit(String newUnit) {
+		String oldUnit = unit;
+		unit = newUnit;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ThreatsPropagationPackage.THREAT_STATE__UNIT, oldUnit, unit));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case ThreatsPropagationPackage.THREAT_STATE__BASE_STATE:
+				if (resolve) return getBase_State();
+				return basicGetBase_State();
+			case ThreatsPropagationPackage.THREAT_STATE__PROBABILITY:
+				return getProbability();
+			case ThreatsPropagationPackage.THREAT_STATE__UNIT:
+				return getUnit();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case ThreatsPropagationPackage.THREAT_STATE__BASE_STATE:
+				setBase_State((State)newValue);
+				return;
+			case ThreatsPropagationPackage.THREAT_STATE__PROBABILITY:
+				setProbability((String)newValue);
+				return;
+			case ThreatsPropagationPackage.THREAT_STATE__UNIT:
+				setUnit((String)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case ThreatsPropagationPackage.THREAT_STATE__BASE_STATE:
+				setBase_State((State)null);
+				return;
+			case ThreatsPropagationPackage.THREAT_STATE__PROBABILITY:
+				setProbability(PROBABILITY_EDEFAULT);
+				return;
+			case ThreatsPropagationPackage.THREAT_STATE__UNIT:
+				setUnit(UNIT_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case ThreatsPropagationPackage.THREAT_STATE__BASE_STATE:
+				return base_State != null;
+			case ThreatsPropagationPackage.THREAT_STATE__PROBABILITY:
+				return PROBABILITY_EDEFAULT == null ? probability != null : !PROBABILITY_EDEFAULT.equals(probability);
+			case ThreatsPropagationPackage.THREAT_STATE__UNIT:
+				return UNIT_EDEFAULT == null ? unit != null : !UNIT_EDEFAULT.equals(unit);
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (probability: ");
+		result.append(probability);
+		result.append(", unit: ");
+		result.append(unit);
+		result.append(')');
+		return result.toString();
+	}
+
+} //ThreatStateImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/impl/ThreatsPropagationFactoryImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/impl/ThreatsPropagationFactoryImpl.java
new file mode 100644
index 000000000..3db88e8c1
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/impl/ThreatsPropagationFactoryImpl.java
@@ -0,0 +1,310 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.DurationType;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ErrorFree;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ErrorModel;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ExternalFault;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.FailureFree;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.FailureMode;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.InternalFault;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.Inverted;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.RampDown;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.StuckAt;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.StuckAtFixed;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatState;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatsPropagationFactory;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatsPropagationPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.UnclassifiedError;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.UnclassifiedFailure;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ThreatsPropagationFactoryImpl extends EFactoryImpl implements ThreatsPropagationFactory {
+	/**
+	 * Creates the default factory implementation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static ThreatsPropagationFactory init() {
+		try {
+			ThreatsPropagationFactory theThreatsPropagationFactory = (ThreatsPropagationFactory)EPackage.Registry.INSTANCE.getEFactory(ThreatsPropagationPackage.eNS_URI);
+			if (theThreatsPropagationFactory != null) {
+				return theThreatsPropagationFactory;
+			}
+		}
+		catch (Exception exception) {
+			EcorePlugin.INSTANCE.log(exception);
+		}
+		return new ThreatsPropagationFactoryImpl();
+	}
+
+	/**
+	 * Creates an instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ThreatsPropagationFactoryImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EObject create(EClass eClass) {
+		switch (eClass.getClassifierID()) {
+			case ThreatsPropagationPackage.INTERNAL_FAULT: return createInternalFault();
+			case ThreatsPropagationPackage.EXTERNAL_FAULT: return createExternalFault();
+			case ThreatsPropagationPackage.ERROR: return createError();
+			case ThreatsPropagationPackage.THREAT_STATE: return createThreatState();
+			case ThreatsPropagationPackage.ERROR_FREE: return createErrorFree();
+			case ThreatsPropagationPackage.UNCLASSIFIED_ERROR: return createUnclassifiedError();
+			case ThreatsPropagationPackage.FAILURE_MODE: return createFailureMode();
+			case ThreatsPropagationPackage.FAILURE_FREE: return createFailureFree();
+			case ThreatsPropagationPackage.UNCLASSIFIED_FAILURE: return createUnclassifiedFailure();
+			case ThreatsPropagationPackage.STUCK_AT: return createStuckAt();
+			case ThreatsPropagationPackage.STUCK_AT_FIXED: return createStuckAtFixed();
+			case ThreatsPropagationPackage.INVERTED: return createInverted();
+			case ThreatsPropagationPackage.RAMP_DOWN: return createRampDown();
+			case ThreatsPropagationPackage.ERROR_MODEL: return createErrorModel();
+			default:
+				throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object createFromString(EDataType eDataType, String initialValue) {
+		switch (eDataType.getClassifierID()) {
+			case ThreatsPropagationPackage.DURATION_TYPE:
+				return createDurationTypeFromString(eDataType, initialValue);
+			default:
+				throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String convertToString(EDataType eDataType, Object instanceValue) {
+		switch (eDataType.getClassifierID()) {
+			case ThreatsPropagationPackage.DURATION_TYPE:
+				return convertDurationTypeToString(eDataType, instanceValue);
+			default:
+				throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public InternalFault createInternalFault() {
+		InternalFaultImpl internalFault = new InternalFaultImpl();
+		return internalFault;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ExternalFault createExternalFault() {
+		ExternalFaultImpl externalFault = new ExternalFaultImpl();
+		return externalFault;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.Error createError() {
+		ErrorImpl error = new ErrorImpl();
+		return error;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ThreatState createThreatState() {
+		ThreatStateImpl threatState = new ThreatStateImpl();
+		return threatState;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ErrorFree createErrorFree() {
+		ErrorFreeImpl errorFree = new ErrorFreeImpl();
+		return errorFree;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public UnclassifiedError createUnclassifiedError() {
+		UnclassifiedErrorImpl unclassifiedError = new UnclassifiedErrorImpl();
+		return unclassifiedError;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public FailureMode createFailureMode() {
+		FailureModeImpl failureMode = new FailureModeImpl();
+		return failureMode;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public FailureFree createFailureFree() {
+		FailureFreeImpl failureFree = new FailureFreeImpl();
+		return failureFree;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public UnclassifiedFailure createUnclassifiedFailure() {
+		UnclassifiedFailureImpl unclassifiedFailure = new UnclassifiedFailureImpl();
+		return unclassifiedFailure;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public StuckAt createStuckAt() {
+		StuckAtImpl stuckAt = new StuckAtImpl();
+		return stuckAt;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public StuckAtFixed createStuckAtFixed() {
+		StuckAtFixedImpl stuckAtFixed = new StuckAtFixedImpl();
+		return stuckAtFixed;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Inverted createInverted() {
+		InvertedImpl inverted = new InvertedImpl();
+		return inverted;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public RampDown createRampDown() {
+		RampDownImpl rampDown = new RampDownImpl();
+		return rampDown;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ErrorModel createErrorModel() {
+		ErrorModelImpl errorModel = new ErrorModelImpl();
+		return errorModel;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public DurationType createDurationTypeFromString(EDataType eDataType, String initialValue) {
+		DurationType result = DurationType.get(initialValue);
+		if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+		return result;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String convertDurationTypeToString(EDataType eDataType, Object instanceValue) {
+		return instanceValue == null ? null : instanceValue.toString();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ThreatsPropagationPackage getThreatsPropagationPackage() {
+		return (ThreatsPropagationPackage)getEPackage();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @deprecated
+	 * @generated
+	 */
+	@Deprecated
+	public static ThreatsPropagationPackage getPackage() {
+		return ThreatsPropagationPackage.eINSTANCE;
+	}
+
+} //ThreatsPropagationFactoryImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/impl/ThreatsPropagationPackageImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/impl/ThreatsPropagationPackageImpl.java
new file mode 100644
index 000000000..81a1401d6
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/impl/ThreatsPropagationPackageImpl.java
@@ -0,0 +1,978 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EEnum;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+import org.eclipse.papyrus.MARTE.MARTEPackage;
+import org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.BasicNFP_TypesPackage;
+import org.eclipse.papyrus.MARTE_Library.GRM_BasicTypes.GRM_BasicTypesPackage;
+import org.eclipse.papyrus.MARTE_Library.MARTE_DataTypes.MARTE_DataTypesPackage;
+import org.eclipse.papyrus.MARTE_Library.MARTE_PrimitivesTypes.MARTE_PrimitivesTypesPackage;
+import org.eclipse.papyrus.MARTE_Library.MeasurementUnits.MeasurementUnitsPackage;
+import org.eclipse.papyrus.MARTE_Library.RS_Library.RS_LibraryPackage;
+import org.eclipse.papyrus.MARTE_Library.TimeLibrary.TimeLibraryPackage;
+import org.eclipse.papyrus.MARTE_Library.TimeTypesLibrary.TimeTypesLibraryPackage;
+import org.eclipse.uml2.types.TypesPackage;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.polarsys.chess.chessmlprofile.chessmlprofilePackage;
+import org.polarsys.chess.chessmlprofile.ComponentModel.ComponentModelPackage;
+import org.polarsys.chess.chessmlprofile.ComponentModel.impl.ComponentModelPackageImpl;
+import org.polarsys.chess.chessmlprofile.Core.CorePackage;
+import org.polarsys.chess.chessmlprofile.Core.CHESSViews.CHESSViewsPackage;
+import org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl.CHESSViewsPackageImpl;
+import org.polarsys.chess.chessmlprofile.Core.impl.CorePackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.DataFlowCallGraph.DataFlowCallGraphPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.DataFlowCallGraph.impl.DataFlowCallGraphPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.DependableComponentPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.impl.DependableComponentPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEAPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEADataTypes.FMEADataTypesPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEADataTypes.impl.FMEADataTypesPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.impl.FMEAPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.FailurePropagationDataTypesPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.impl.FailurePropagationDataTypesPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl.FailurePropagationPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans.MitigationMeansPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans.impl.MitigationMeansPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.FaultTolerancePackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.impl.FaultTolerancePackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.MaintenanceMonitoringPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.impl.MaintenanceMonitoringPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.StateBasedAnalysisPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.impl.StateBasedAnalysisPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StateBasedComponentsPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.impl.StateBasedComponentsPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.StateBasedDataTypesPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.impl.StateBasedDataTypesPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.DurationType;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ErrorFree;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ErrorModel;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ExternalFault;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.FailureFree;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.FailureMode;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.InternalFault;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.Inverted;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.RampDown;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.StuckAt;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.StuckAtFixed;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatState;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatsPropagationFactory;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatsPropagationPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.UnclassifiedError;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.UnclassifiedFailure;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.DeploymentConfAnalysisPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.impl.DeploymentConfAnalysisPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HardwareBaselinePackage;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.HardwareBaselinePackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTComponentModelPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.RTDataTypesPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.impl.RTDataTypesPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.impl.RTComponentModelPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingAnalysisPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.TimingConstraintsPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.impl.TimingConstraintsPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.impl.TimingAnalysisPackageImpl;
+import org.polarsys.chess.chessmlprofile.impl.chessmlprofilePackageImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ThreatsPropagationPackageImpl extends EPackageImpl implements ThreatsPropagationPackage {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass internalFaultEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass externalFaultEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass errorEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass threatStateEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass errorFreeEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass unclassifiedErrorEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass failureModeEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass failureFreeEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass unclassifiedFailureEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass stuckAtEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass stuckAtFixedEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass invertedEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass rampDownEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass errorModelEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EEnum durationTypeEEnum = null;
+
+	/**
+	 * Creates an instance of the model <b>Package</b>, registered with
+	 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+	 * package URI value.
+	 * <p>Note: the correct way to create the package is via the static
+	 * factory method {@link #init init()}, which also performs
+	 * initialization of the package, or returns the registered package,
+	 * if one already exists.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.emf.ecore.EPackage.Registry
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatsPropagationPackage#eNS_URI
+	 * @see #init()
+	 * @generated
+	 */
+	private ThreatsPropagationPackageImpl() {
+		super(eNS_URI, ThreatsPropagationFactory.eINSTANCE);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static boolean isInited = false;
+
+	/**
+	 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+	 * 
+	 * <p>This method is used to initialize {@link ThreatsPropagationPackage#eINSTANCE} when that field is accessed.
+	 * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #eNS_URI
+	 * @see #createPackageContents()
+	 * @see #initializePackageContents()
+	 * @generated
+	 */
+	public static ThreatsPropagationPackage init() {
+		if (isInited) return (ThreatsPropagationPackage)EPackage.Registry.INSTANCE.getEPackage(ThreatsPropagationPackage.eNS_URI);
+
+		// Obtain or create and register package
+		ThreatsPropagationPackageImpl theThreatsPropagationPackage = (ThreatsPropagationPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof ThreatsPropagationPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new ThreatsPropagationPackageImpl());
+
+		isInited = true;
+
+		// Initialize simple dependencies
+		MARTEPackage.eINSTANCE.eClass();
+		MeasurementUnitsPackage.eINSTANCE.eClass();
+		GRM_BasicTypesPackage.eINSTANCE.eClass();
+		MARTE_DataTypesPackage.eINSTANCE.eClass();
+		BasicNFP_TypesPackage.eINSTANCE.eClass();
+		TimeTypesLibraryPackage.eINSTANCE.eClass();
+		TimeLibraryPackage.eINSTANCE.eClass();
+		RS_LibraryPackage.eINSTANCE.eClass();
+		MARTE_PrimitivesTypesPackage.eINSTANCE.eClass();
+		BasicNFP_TypesPackage.eINSTANCE.eClass();
+
+		// Obtain or create and register interdependencies
+		chessmlprofilePackageImpl thechessmlprofilePackage = (chessmlprofilePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(chessmlprofilePackage.eNS_URI) instanceof chessmlprofilePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(chessmlprofilePackage.eNS_URI) : chessmlprofilePackage.eINSTANCE);
+		CorePackageImpl theCorePackage = (CorePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(CorePackage.eNS_URI) instanceof CorePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(CorePackage.eNS_URI) : CorePackage.eINSTANCE);
+		CHESSViewsPackageImpl theCHESSViewsPackage = (CHESSViewsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(CHESSViewsPackage.eNS_URI) instanceof CHESSViewsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(CHESSViewsPackage.eNS_URI) : CHESSViewsPackage.eINSTANCE);
+		FailurePropagationPackageImpl theFailurePropagationPackage = (FailurePropagationPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FailurePropagationPackage.eNS_URI) instanceof FailurePropagationPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FailurePropagationPackage.eNS_URI) : FailurePropagationPackage.eINSTANCE);
+		FailurePropagationDataTypesPackageImpl theFailurePropagationDataTypesPackage = (FailurePropagationDataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FailurePropagationDataTypesPackage.eNS_URI) instanceof FailurePropagationDataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FailurePropagationDataTypesPackage.eNS_URI) : FailurePropagationDataTypesPackage.eINSTANCE);
+		DependableComponentPackageImpl theDependableComponentPackage = (DependableComponentPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DependableComponentPackage.eNS_URI) instanceof DependableComponentPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DependableComponentPackage.eNS_URI) : DependableComponentPackage.eINSTANCE);
+		DataFlowCallGraphPackageImpl theDataFlowCallGraphPackage = (DataFlowCallGraphPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DataFlowCallGraphPackage.eNS_URI) instanceof DataFlowCallGraphPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DataFlowCallGraphPackage.eNS_URI) : DataFlowCallGraphPackage.eINSTANCE);
+		StateBasedDataTypesPackageImpl theStateBasedDataTypesPackage = (StateBasedDataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(StateBasedDataTypesPackage.eNS_URI) instanceof StateBasedDataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(StateBasedDataTypesPackage.eNS_URI) : StateBasedDataTypesPackage.eINSTANCE);
+		StateBasedComponentsPackageImpl theStateBasedComponentsPackage = (StateBasedComponentsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(StateBasedComponentsPackage.eNS_URI) instanceof StateBasedComponentsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(StateBasedComponentsPackage.eNS_URI) : StateBasedComponentsPackage.eINSTANCE);
+		FaultTolerancePackageImpl theFaultTolerancePackage = (FaultTolerancePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FaultTolerancePackage.eNS_URI) instanceof FaultTolerancePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FaultTolerancePackage.eNS_URI) : FaultTolerancePackage.eINSTANCE);
+		MaintenanceMonitoringPackageImpl theMaintenanceMonitoringPackage = (MaintenanceMonitoringPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(MaintenanceMonitoringPackage.eNS_URI) instanceof MaintenanceMonitoringPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(MaintenanceMonitoringPackage.eNS_URI) : MaintenanceMonitoringPackage.eINSTANCE);
+		StateBasedAnalysisPackageImpl theStateBasedAnalysisPackage = (StateBasedAnalysisPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(StateBasedAnalysisPackage.eNS_URI) instanceof StateBasedAnalysisPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(StateBasedAnalysisPackage.eNS_URI) : StateBasedAnalysisPackage.eINSTANCE);
+		FMEAPackageImpl theFMEAPackage = (FMEAPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FMEAPackage.eNS_URI) instanceof FMEAPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FMEAPackage.eNS_URI) : FMEAPackage.eINSTANCE);
+		FMEADataTypesPackageImpl theFMEADataTypesPackage = (FMEADataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FMEADataTypesPackage.eNS_URI) instanceof FMEADataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FMEADataTypesPackage.eNS_URI) : FMEADataTypesPackage.eINSTANCE);
+		MitigationMeansPackageImpl theMitigationMeansPackage = (MitigationMeansPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(MitigationMeansPackage.eNS_URI) instanceof MitigationMeansPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(MitigationMeansPackage.eNS_URI) : MitigationMeansPackage.eINSTANCE);
+		TimingAnalysisPackageImpl theTimingAnalysisPackage = (TimingAnalysisPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimingAnalysisPackage.eNS_URI) instanceof TimingAnalysisPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimingAnalysisPackage.eNS_URI) : TimingAnalysisPackage.eINSTANCE);
+		TimingConstraintsPackageImpl theTimingConstraintsPackage = (TimingConstraintsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimingConstraintsPackage.eNS_URI) instanceof TimingConstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimingConstraintsPackage.eNS_URI) : TimingConstraintsPackage.eINSTANCE);
+		HardwareBaselinePackageImpl theHardwareBaselinePackage = (HardwareBaselinePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HardwareBaselinePackage.eNS_URI) instanceof HardwareBaselinePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HardwareBaselinePackage.eNS_URI) : HardwareBaselinePackage.eINSTANCE);
+		DeploymentConfAnalysisPackageImpl theDeploymentConfAnalysisPackage = (DeploymentConfAnalysisPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DeploymentConfAnalysisPackage.eNS_URI) instanceof DeploymentConfAnalysisPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DeploymentConfAnalysisPackage.eNS_URI) : DeploymentConfAnalysisPackage.eINSTANCE);
+		RTComponentModelPackageImpl theRTComponentModelPackage = (RTComponentModelPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RTComponentModelPackage.eNS_URI) instanceof RTComponentModelPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RTComponentModelPackage.eNS_URI) : RTComponentModelPackage.eINSTANCE);
+		RTDataTypesPackageImpl theRTDataTypesPackage = (RTDataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RTDataTypesPackage.eNS_URI) instanceof RTDataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RTDataTypesPackage.eNS_URI) : RTDataTypesPackage.eINSTANCE);
+		ComponentModelPackageImpl theComponentModelPackage = (ComponentModelPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ComponentModelPackage.eNS_URI) instanceof ComponentModelPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ComponentModelPackage.eNS_URI) : ComponentModelPackage.eINSTANCE);
+
+		// Create package meta-data objects
+		theThreatsPropagationPackage.createPackageContents();
+		thechessmlprofilePackage.createPackageContents();
+		theCorePackage.createPackageContents();
+		theCHESSViewsPackage.createPackageContents();
+		theFailurePropagationPackage.createPackageContents();
+		theFailurePropagationDataTypesPackage.createPackageContents();
+		theDependableComponentPackage.createPackageContents();
+		theDataFlowCallGraphPackage.createPackageContents();
+		theStateBasedDataTypesPackage.createPackageContents();
+		theStateBasedComponentsPackage.createPackageContents();
+		theFaultTolerancePackage.createPackageContents();
+		theMaintenanceMonitoringPackage.createPackageContents();
+		theStateBasedAnalysisPackage.createPackageContents();
+		theFMEAPackage.createPackageContents();
+		theFMEADataTypesPackage.createPackageContents();
+		theMitigationMeansPackage.createPackageContents();
+		theTimingAnalysisPackage.createPackageContents();
+		theTimingConstraintsPackage.createPackageContents();
+		theHardwareBaselinePackage.createPackageContents();
+		theDeploymentConfAnalysisPackage.createPackageContents();
+		theRTComponentModelPackage.createPackageContents();
+		theRTDataTypesPackage.createPackageContents();
+		theComponentModelPackage.createPackageContents();
+
+		// Initialize created meta-data
+		theThreatsPropagationPackage.initializePackageContents();
+		thechessmlprofilePackage.initializePackageContents();
+		theCorePackage.initializePackageContents();
+		theCHESSViewsPackage.initializePackageContents();
+		theFailurePropagationPackage.initializePackageContents();
+		theFailurePropagationDataTypesPackage.initializePackageContents();
+		theDependableComponentPackage.initializePackageContents();
+		theDataFlowCallGraphPackage.initializePackageContents();
+		theStateBasedDataTypesPackage.initializePackageContents();
+		theStateBasedComponentsPackage.initializePackageContents();
+		theFaultTolerancePackage.initializePackageContents();
+		theMaintenanceMonitoringPackage.initializePackageContents();
+		theStateBasedAnalysisPackage.initializePackageContents();
+		theFMEAPackage.initializePackageContents();
+		theFMEADataTypesPackage.initializePackageContents();
+		theMitigationMeansPackage.initializePackageContents();
+		theTimingAnalysisPackage.initializePackageContents();
+		theTimingConstraintsPackage.initializePackageContents();
+		theHardwareBaselinePackage.initializePackageContents();
+		theDeploymentConfAnalysisPackage.initializePackageContents();
+		theRTComponentModelPackage.initializePackageContents();
+		theRTDataTypesPackage.initializePackageContents();
+		theComponentModelPackage.initializePackageContents();
+
+		// Mark meta-data to indicate it can't be changed
+		theThreatsPropagationPackage.freeze();
+
+  
+		// Update the registry and return the package
+		EPackage.Registry.INSTANCE.put(ThreatsPropagationPackage.eNS_URI, theThreatsPropagationPackage);
+		return theThreatsPropagationPackage;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getInternalFault() {
+		return internalFaultEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getInternalFault_Base_Transition() {
+		return (EReference)internalFaultEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getInternalFault_PermanentProb() {
+		return (EAttribute)internalFaultEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getInternalFault_TransfFunct() {
+		return (EAttribute)internalFaultEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getInternalFault_Property() {
+		return (EReference)internalFaultEClass.getEStructuralFeatures().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getInternalFault_ChildFailure() {
+		return (EReference)internalFaultEClass.getEStructuralFeatures().get(4);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getInternalFault_Occurrence() {
+		return (EAttribute)internalFaultEClass.getEStructuralFeatures().get(5);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getInternalFault_TransientDuration() {
+		return (EAttribute)internalFaultEClass.getEStructuralFeatures().get(6);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getExternalFault() {
+		return externalFaultEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getExternalFault_Base_Transition() {
+		return (EReference)externalFaultEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getExternalFault_FromPort() {
+		return (EReference)externalFaultEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getExternalFault_PropagationCondition() {
+		return (EAttribute)externalFaultEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getExternalFault_Probability() {
+		return (EAttribute)externalFaultEClass.getEStructuralFeatures().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getExternalFault_Unit() {
+		return (EAttribute)externalFaultEClass.getEStructuralFeatures().get(4);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getExternalFault_Type() {
+		return (EAttribute)externalFaultEClass.getEStructuralFeatures().get(5);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getExternalFault_TransfFunct() {
+		return (EAttribute)externalFaultEClass.getEStructuralFeatures().get(6);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getError() {
+		return errorEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getError_Type() {
+		return (EAttribute)errorEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getError_VanishingTime() {
+		return (EAttribute)errorEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getThreatState() {
+		return threatStateEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getThreatState_Base_State() {
+		return (EReference)threatStateEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getThreatState_Probability() {
+		return (EAttribute)threatStateEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getThreatState_Unit() {
+		return (EAttribute)threatStateEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getErrorFree() {
+		return errorFreeEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getUnclassifiedError() {
+		return unclassifiedErrorEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getFailureMode() {
+		return failureModeEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getFailureMode_AffectedPorts() {
+		return (EReference)failureModeEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getFailureMode_Type() {
+		return (EAttribute)failureModeEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getFailureFree() {
+		return failureFreeEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getUnclassifiedFailure() {
+		return unclassifiedFailureEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getStuckAt() {
+		return stuckAtEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getStuckAt_Property() {
+		return (EReference)stuckAtEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getStuckAt_Value() {
+		return (EAttribute)stuckAtEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getStuckAt_Base_State() {
+		return (EReference)stuckAtEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getStuckAtFixed() {
+		return stuckAtFixedEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getStuckAtFixed_Base_State() {
+		return (EReference)stuckAtFixedEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getStuckAtFixed_Property() {
+		return (EReference)stuckAtFixedEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getInverted() {
+		return invertedEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getInverted_Base_State() {
+		return (EReference)invertedEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getInverted_Property() {
+		return (EReference)invertedEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getRampDown() {
+		return rampDownEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getRampDown_Base_State() {
+		return (EReference)rampDownEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getRampDown_Property() {
+		return (EReference)rampDownEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getRampDown_Decr() {
+		return (EAttribute)rampDownEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getRampDown_EndValue() {
+		return (EAttribute)rampDownEClass.getEStructuralFeatures().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getErrorModel() {
+		return errorModelEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getErrorModel_Base_StateMachine() {
+		return (EReference)errorModelEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EEnum getDurationType() {
+		return durationTypeEEnum;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ThreatsPropagationFactory getThreatsPropagationFactory() {
+		return (ThreatsPropagationFactory)getEFactoryInstance();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isCreated = false;
+
+	/**
+	 * Creates the meta-model objects for the package.  This method is
+	 * guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void createPackageContents() {
+		if (isCreated) return;
+		isCreated = true;
+
+		// Create classes and their features
+		internalFaultEClass = createEClass(INTERNAL_FAULT);
+		createEReference(internalFaultEClass, INTERNAL_FAULT__BASE_TRANSITION);
+		createEAttribute(internalFaultEClass, INTERNAL_FAULT__PERMANENT_PROB);
+		createEAttribute(internalFaultEClass, INTERNAL_FAULT__TRANSF_FUNCT);
+		createEReference(internalFaultEClass, INTERNAL_FAULT__PROPERTY);
+		createEReference(internalFaultEClass, INTERNAL_FAULT__CHILD_FAILURE);
+		createEAttribute(internalFaultEClass, INTERNAL_FAULT__OCCURRENCE);
+		createEAttribute(internalFaultEClass, INTERNAL_FAULT__TRANSIENT_DURATION);
+
+		externalFaultEClass = createEClass(EXTERNAL_FAULT);
+		createEReference(externalFaultEClass, EXTERNAL_FAULT__BASE_TRANSITION);
+		createEReference(externalFaultEClass, EXTERNAL_FAULT__FROM_PORT);
+		createEAttribute(externalFaultEClass, EXTERNAL_FAULT__PROPAGATION_CONDITION);
+		createEAttribute(externalFaultEClass, EXTERNAL_FAULT__PROBABILITY);
+		createEAttribute(externalFaultEClass, EXTERNAL_FAULT__UNIT);
+		createEAttribute(externalFaultEClass, EXTERNAL_FAULT__TYPE);
+		createEAttribute(externalFaultEClass, EXTERNAL_FAULT__TRANSF_FUNCT);
+
+		errorEClass = createEClass(ERROR);
+		createEAttribute(errorEClass, ERROR__TYPE);
+		createEAttribute(errorEClass, ERROR__VANISHING_TIME);
+
+		threatStateEClass = createEClass(THREAT_STATE);
+		createEReference(threatStateEClass, THREAT_STATE__BASE_STATE);
+		createEAttribute(threatStateEClass, THREAT_STATE__PROBABILITY);
+		createEAttribute(threatStateEClass, THREAT_STATE__UNIT);
+
+		errorFreeEClass = createEClass(ERROR_FREE);
+
+		unclassifiedErrorEClass = createEClass(UNCLASSIFIED_ERROR);
+
+		failureModeEClass = createEClass(FAILURE_MODE);
+		createEReference(failureModeEClass, FAILURE_MODE__AFFECTED_PORTS);
+		createEAttribute(failureModeEClass, FAILURE_MODE__TYPE);
+
+		failureFreeEClass = createEClass(FAILURE_FREE);
+
+		unclassifiedFailureEClass = createEClass(UNCLASSIFIED_FAILURE);
+
+		stuckAtEClass = createEClass(STUCK_AT);
+		createEReference(stuckAtEClass, STUCK_AT__PROPERTY);
+		createEAttribute(stuckAtEClass, STUCK_AT__VALUE);
+		createEReference(stuckAtEClass, STUCK_AT__BASE_STATE);
+
+		stuckAtFixedEClass = createEClass(STUCK_AT_FIXED);
+		createEReference(stuckAtFixedEClass, STUCK_AT_FIXED__BASE_STATE);
+		createEReference(stuckAtFixedEClass, STUCK_AT_FIXED__PROPERTY);
+
+		invertedEClass = createEClass(INVERTED);
+		createEReference(invertedEClass, INVERTED__BASE_STATE);
+		createEReference(invertedEClass, INVERTED__PROPERTY);
+
+		rampDownEClass = createEClass(RAMP_DOWN);
+		createEReference(rampDownEClass, RAMP_DOWN__BASE_STATE);
+		createEReference(rampDownEClass, RAMP_DOWN__PROPERTY);
+		createEAttribute(rampDownEClass, RAMP_DOWN__DECR);
+		createEAttribute(rampDownEClass, RAMP_DOWN__END_VALUE);
+
+		errorModelEClass = createEClass(ERROR_MODEL);
+		createEReference(errorModelEClass, ERROR_MODEL__BASE_STATE_MACHINE);
+
+		// Create enums
+		durationTypeEEnum = createEEnum(DURATION_TYPE);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isInitialized = false;
+
+	/**
+	 * Complete the initialization of the package and its meta-model.  This
+	 * method is guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void initializePackageContents() {
+		if (isInitialized) return;
+		isInitialized = true;
+
+		// Initialize package
+		setName(eNAME);
+		setNsPrefix(eNS_PREFIX);
+		setNsURI(eNS_URI);
+
+		// Obtain other dependent packages
+		UMLPackage theUMLPackage = (UMLPackage)EPackage.Registry.INSTANCE.getEPackage(UMLPackage.eNS_URI);
+		BasicNFP_TypesPackage theBasicNFP_TypesPackage = (BasicNFP_TypesPackage)EPackage.Registry.INSTANCE.getEPackage(BasicNFP_TypesPackage.eNS_URI);
+		TypesPackage theTypesPackage = (TypesPackage)EPackage.Registry.INSTANCE.getEPackage(TypesPackage.eNS_URI);
+
+		// Create type parameters
+
+		// Set bounds for type parameters
+
+		// Add supertypes to classes
+		errorEClass.getESuperTypes().add(this.getThreatState());
+		errorFreeEClass.getESuperTypes().add(this.getThreatState());
+		unclassifiedErrorEClass.getESuperTypes().add(this.getThreatState());
+		failureModeEClass.getESuperTypes().add(this.getThreatState());
+		failureFreeEClass.getESuperTypes().add(this.getThreatState());
+		unclassifiedFailureEClass.getESuperTypes().add(this.getThreatState());
+
+		// Initialize classes and features; add operations and parameters
+		initEClass(internalFaultEClass, InternalFault.class, "InternalFault", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getInternalFault_Base_Transition(), theUMLPackage.getTransition(), null, "base_Transition", null, 1, 1, InternalFault.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getInternalFault_PermanentProb(), theBasicNFP_TypesPackage.getNFP_Real(), "permanentProb", null, 1, 1, InternalFault.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getInternalFault_TransfFunct(), theTypesPackage.getString(), "transfFunct", null, 0, 1, InternalFault.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEReference(getInternalFault_Property(), theUMLPackage.getProperty(), null, "property", null, 0, 1, InternalFault.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEReference(getInternalFault_ChildFailure(), theUMLPackage.getState(), null, "childFailure", null, 0, 1, InternalFault.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getInternalFault_Occurrence(), theTypesPackage.getString(), "occurrence", null, 0, 1, InternalFault.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getInternalFault_TransientDuration(), theTypesPackage.getString(), "transientDuration", null, 0, 1, InternalFault.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+		initEClass(externalFaultEClass, ExternalFault.class, "ExternalFault", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getExternalFault_Base_Transition(), theUMLPackage.getTransition(), null, "base_Transition", null, 1, 1, ExternalFault.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEReference(getExternalFault_FromPort(), theUMLPackage.getPort(), null, "fromPort", null, 1, -1, ExternalFault.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getExternalFault_PropagationCondition(), theTypesPackage.getString(), "propagationCondition", null, 0, 1, ExternalFault.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getExternalFault_Probability(), theBasicNFP_TypesPackage.getNFP_Real(), "probability", null, 1, 1, ExternalFault.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getExternalFault_Unit(), theTypesPackage.getString(), "unit", null, 0, 1, ExternalFault.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getExternalFault_Type(), this.getDurationType(), "type", null, 1, 1, ExternalFault.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getExternalFault_TransfFunct(), theTypesPackage.getString(), "transfFunct", null, 0, -1, ExternalFault.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+		initEClass(errorEClass, org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.Error.class, "Error", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getError_Type(), this.getDurationType(), "type", null, 1, 1, org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.Error.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getError_VanishingTime(), theTypesPackage.getString(), "vanishingTime", null, 0, 1, org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.Error.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+		initEClass(threatStateEClass, ThreatState.class, "ThreatState", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getThreatState_Base_State(), theUMLPackage.getState(), null, "base_State", null, 1, 1, ThreatState.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getThreatState_Probability(), theBasicNFP_TypesPackage.getNFP_Real(), "probability", null, 1, 1, ThreatState.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getThreatState_Unit(), theTypesPackage.getString(), "unit", null, 0, 1, ThreatState.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+		initEClass(errorFreeEClass, ErrorFree.class, "ErrorFree", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+		initEClass(unclassifiedErrorEClass, UnclassifiedError.class, "UnclassifiedError", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+		initEClass(failureModeEClass, FailureMode.class, "FailureMode", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getFailureMode_AffectedPorts(), theUMLPackage.getPort(), null, "affectedPorts", null, 0, -1, FailureMode.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getFailureMode_Type(), this.getDurationType(), "type", null, 1, 1, FailureMode.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+		initEClass(failureFreeEClass, FailureFree.class, "FailureFree", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+		initEClass(unclassifiedFailureEClass, UnclassifiedFailure.class, "UnclassifiedFailure", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+		initEClass(stuckAtEClass, StuckAt.class, "StuckAt", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getStuckAt_Property(), theUMLPackage.getProperty(), null, "property", null, 1, 1, StuckAt.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getStuckAt_Value(), theTypesPackage.getString(), "value", null, 1, 1, StuckAt.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEReference(getStuckAt_Base_State(), theUMLPackage.getState(), null, "base_State", null, 1, 1, StuckAt.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+		initEClass(stuckAtFixedEClass, StuckAtFixed.class, "StuckAtFixed", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getStuckAtFixed_Base_State(), theUMLPackage.getState(), null, "base_State", null, 1, 1, StuckAtFixed.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEReference(getStuckAtFixed_Property(), theUMLPackage.getProperty(), null, "property", null, 1, 1, StuckAtFixed.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+		initEClass(invertedEClass, Inverted.class, "Inverted", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getInverted_Base_State(), theUMLPackage.getState(), null, "base_State", null, 1, 1, Inverted.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEReference(getInverted_Property(), theUMLPackage.getProperty(), null, "property", null, 1, 1, Inverted.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+		initEClass(rampDownEClass, RampDown.class, "RampDown", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getRampDown_Base_State(), theUMLPackage.getState(), null, "base_State", null, 1, 1, RampDown.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEReference(getRampDown_Property(), theUMLPackage.getProperty(), null, "property", null, 1, 1, RampDown.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getRampDown_Decr(), theTypesPackage.getString(), "decr", null, 1, 1, RampDown.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getRampDown_EndValue(), theTypesPackage.getString(), "endValue", null, 1, 1, RampDown.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+		initEClass(errorModelEClass, ErrorModel.class, "ErrorModel", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getErrorModel_Base_StateMachine(), theUMLPackage.getStateMachine(), null, "base_StateMachine", null, 1, 1, ErrorModel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+		// Initialize enums and add enum literals
+		initEEnum(durationTypeEEnum, DurationType.class, "DurationType");
+		addEEnumLiteral(durationTypeEEnum, DurationType.TRANSIENT);
+		addEEnumLiteral(durationTypeEEnum, DurationType.PERMANENT);
+	}
+
+} //ThreatsPropagationPackageImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/impl/UnclassifiedErrorImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/impl/UnclassifiedErrorImpl.java
new file mode 100644
index 000000000..0ff30889d
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/impl/UnclassifiedErrorImpl.java
@@ -0,0 +1,47 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatsPropagationPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.UnclassifiedError;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Unclassified Error</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class UnclassifiedErrorImpl extends ThreatStateImpl implements UnclassifiedError {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected UnclassifiedErrorImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return ThreatsPropagationPackage.Literals.UNCLASSIFIED_ERROR;
+	}
+
+} //UnclassifiedErrorImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/impl/UnclassifiedFailureImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/impl/UnclassifiedFailureImpl.java
new file mode 100644
index 000000000..972e10763
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/impl/UnclassifiedFailureImpl.java
@@ -0,0 +1,47 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatsPropagationPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.UnclassifiedFailure;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Unclassified Failure</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class UnclassifiedFailureImpl extends ThreatStateImpl implements UnclassifiedFailure {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected UnclassifiedFailureImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return ThreatsPropagationPackage.Literals.UNCLASSIFIED_FAILURE;
+	}
+
+} //UnclassifiedFailureImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/util/ThreatsPropagationAdapterFactory.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/util/ThreatsPropagationAdapterFactory.java
new file mode 100644
index 000000000..76bf92773
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/util/ThreatsPropagationAdapterFactory.java
@@ -0,0 +1,373 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+import org.eclipse.emf.ecore.EObject;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ErrorFree;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ErrorModel;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ExternalFault;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.FailureFree;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.FailureMode;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.InternalFault;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.Inverted;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.RampDown;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.StuckAt;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.StuckAtFixed;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatState;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatsPropagationPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.UnclassifiedError;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.UnclassifiedFailure;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatsPropagationPackage
+ * @generated
+ */
+public class ThreatsPropagationAdapterFactory extends AdapterFactoryImpl {
+	/**
+	 * The cached model package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static ThreatsPropagationPackage modelPackage;
+
+	/**
+	 * Creates an instance of the adapter factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ThreatsPropagationAdapterFactory() {
+		if (modelPackage == null) {
+			modelPackage = ThreatsPropagationPackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Returns whether this factory is applicable for the type of the object.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+	 * <!-- end-user-doc -->
+	 * @return whether this factory is applicable for the type of the object.
+	 * @generated
+	 */
+	@Override
+	public boolean isFactoryForType(Object object) {
+		if (object == modelPackage) {
+			return true;
+		}
+		if (object instanceof EObject) {
+			return ((EObject)object).eClass().getEPackage() == modelPackage;
+		}
+		return false;
+	}
+
+	/**
+	 * The switch that delegates to the <code>createXXX</code> methods.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ThreatsPropagationSwitch<Adapter> modelSwitch =
+		new ThreatsPropagationSwitch<Adapter>() {
+			@Override
+			public Adapter caseInternalFault(InternalFault object) {
+				return createInternalFaultAdapter();
+			}
+			@Override
+			public Adapter caseExternalFault(ExternalFault object) {
+				return createExternalFaultAdapter();
+			}
+			@Override
+			public Adapter caseError(org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.Error object) {
+				return createErrorAdapter();
+			}
+			@Override
+			public Adapter caseThreatState(ThreatState object) {
+				return createThreatStateAdapter();
+			}
+			@Override
+			public Adapter caseErrorFree(ErrorFree object) {
+				return createErrorFreeAdapter();
+			}
+			@Override
+			public Adapter caseUnclassifiedError(UnclassifiedError object) {
+				return createUnclassifiedErrorAdapter();
+			}
+			@Override
+			public Adapter caseFailureMode(FailureMode object) {
+				return createFailureModeAdapter();
+			}
+			@Override
+			public Adapter caseFailureFree(FailureFree object) {
+				return createFailureFreeAdapter();
+			}
+			@Override
+			public Adapter caseUnclassifiedFailure(UnclassifiedFailure object) {
+				return createUnclassifiedFailureAdapter();
+			}
+			@Override
+			public Adapter caseStuckAt(StuckAt object) {
+				return createStuckAtAdapter();
+			}
+			@Override
+			public Adapter caseStuckAtFixed(StuckAtFixed object) {
+				return createStuckAtFixedAdapter();
+			}
+			@Override
+			public Adapter caseInverted(Inverted object) {
+				return createInvertedAdapter();
+			}
+			@Override
+			public Adapter caseRampDown(RampDown object) {
+				return createRampDownAdapter();
+			}
+			@Override
+			public Adapter caseErrorModel(ErrorModel object) {
+				return createErrorModelAdapter();
+			}
+			@Override
+			public Adapter defaultCase(EObject object) {
+				return createEObjectAdapter();
+			}
+		};
+
+	/**
+	 * Creates an adapter for the <code>target</code>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param target the object to adapt.
+	 * @return the adapter for the <code>target</code>.
+	 * @generated
+	 */
+	@Override
+	public Adapter createAdapter(Notifier target) {
+		return modelSwitch.doSwitch((EObject)target);
+	}
+
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.InternalFault <em>Internal Fault</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.InternalFault
+	 * @generated
+	 */
+	public Adapter createInternalFaultAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ExternalFault <em>External Fault</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ExternalFault
+	 * @generated
+	 */
+	public Adapter createExternalFaultAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.Error <em>Error</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.Error
+	 * @generated
+	 */
+	public Adapter createErrorAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatState <em>Threat State</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatState
+	 * @generated
+	 */
+	public Adapter createThreatStateAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ErrorFree <em>Error Free</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ErrorFree
+	 * @generated
+	 */
+	public Adapter createErrorFreeAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.UnclassifiedError <em>Unclassified Error</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.UnclassifiedError
+	 * @generated
+	 */
+	public Adapter createUnclassifiedErrorAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.FailureMode <em>Failure Mode</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.FailureMode
+	 * @generated
+	 */
+	public Adapter createFailureModeAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.FailureFree <em>Failure Free</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.FailureFree
+	 * @generated
+	 */
+	public Adapter createFailureFreeAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.UnclassifiedFailure <em>Unclassified Failure</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.UnclassifiedFailure
+	 * @generated
+	 */
+	public Adapter createUnclassifiedFailureAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.StuckAt <em>Stuck At</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.StuckAt
+	 * @generated
+	 */
+	public Adapter createStuckAtAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.StuckAtFixed <em>Stuck At Fixed</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.StuckAtFixed
+	 * @generated
+	 */
+	public Adapter createStuckAtFixedAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.Inverted <em>Inverted</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.Inverted
+	 * @generated
+	 */
+	public Adapter createInvertedAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.RampDown <em>Ramp Down</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.RampDown
+	 * @generated
+	 */
+	public Adapter createRampDownAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ErrorModel <em>Error Model</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ErrorModel
+	 * @generated
+	 */
+	public Adapter createErrorModelAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for the default case.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @generated
+	 */
+	public Adapter createEObjectAdapter() {
+		return null;
+	}
+
+} //ThreatsPropagationAdapterFactory
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/util/ThreatsPropagationResourceFactoryImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/util/ThreatsPropagationResourceFactoryImpl.java
new file mode 100644
index 000000000..c3675b9c0
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/util/ThreatsPropagationResourceFactoryImpl.java
@@ -0,0 +1,61 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.util;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.resource.impl.ResourceFactoryImpl;
+
+import org.eclipse.emf.ecore.xmi.XMLResource;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource Factory</b> associated with the package.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.util.ThreatsPropagationResourceImpl
+ * @generated
+ */
+public class ThreatsPropagationResourceFactoryImpl extends ResourceFactoryImpl {
+	/**
+	 * Creates an instance of the resource factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ThreatsPropagationResourceFactoryImpl() {
+		super();
+	}
+
+	/**
+	 * Creates an instance of the resource.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Resource createResource(URI uri) {
+		XMLResource result = new ThreatsPropagationResourceImpl(uri);
+		result.getDefaultSaveOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
+		result.getDefaultLoadOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
+
+		result.getDefaultSaveOptions().put(XMLResource.OPTION_SCHEMA_LOCATION, Boolean.TRUE);
+
+		result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+		result.getDefaultSaveOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+
+		result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_LEXICAL_HANDLER, Boolean.TRUE);
+		return result;
+	}
+
+} //ThreatsPropagationResourceFactoryImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/util/ThreatsPropagationResourceImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/util/ThreatsPropagationResourceImpl.java
new file mode 100644
index 000000000..a2abcee00
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/util/ThreatsPropagationResourceImpl.java
@@ -0,0 +1,37 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.util;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource </b> associated with the package.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.util.ThreatsPropagationResourceFactoryImpl
+ * @generated
+ */
+public class ThreatsPropagationResourceImpl extends XMLResourceImpl {
+	/**
+	 * Creates an instance of the resource.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param uri the URI of the new resource.
+	 * @generated
+	 */
+	public ThreatsPropagationResourceImpl(URI uri) {
+		super(uri);
+	}
+
+} //ThreatsPropagationResourceImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/util/ThreatsPropagationSwitch.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/util/ThreatsPropagationSwitch.java
new file mode 100644
index 000000000..22c6d35fd
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/util/ThreatsPropagationSwitch.java
@@ -0,0 +1,409 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.util.Switch;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ErrorFree;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ErrorModel;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ExternalFault;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.FailureFree;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.FailureMode;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.InternalFault;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.Inverted;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.RampDown;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.StuckAt;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.StuckAtFixed;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatState;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatsPropagationPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.UnclassifiedError;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.UnclassifiedFailure;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatsPropagationPackage
+ * @generated
+ */
+public class ThreatsPropagationSwitch<T> extends Switch<T> {
+	/**
+	 * The cached model package
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static ThreatsPropagationPackage modelPackage;
+
+	/**
+	 * Creates an instance of the switch.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ThreatsPropagationSwitch() {
+		if (modelPackage == null) {
+			modelPackage = ThreatsPropagationPackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Checks whether this is a switch for the given package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @parameter ePackage the package in question.
+	 * @return whether this is a switch for the given package.
+	 * @generated
+	 */
+	@Override
+	protected boolean isSwitchFor(EPackage ePackage) {
+		return ePackage == modelPackage;
+	}
+
+	/**
+	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the first non-null result returned by a <code>caseXXX</code> call.
+	 * @generated
+	 */
+	@Override
+	protected T doSwitch(int classifierID, EObject theEObject) {
+		switch (classifierID) {
+			case ThreatsPropagationPackage.INTERNAL_FAULT: {
+				InternalFault internalFault = (InternalFault)theEObject;
+				T result = caseInternalFault(internalFault);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case ThreatsPropagationPackage.EXTERNAL_FAULT: {
+				ExternalFault externalFault = (ExternalFault)theEObject;
+				T result = caseExternalFault(externalFault);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case ThreatsPropagationPackage.ERROR: {
+				org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.Error error = (org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.Error)theEObject;
+				T result = caseError(error);
+				if (result == null) result = caseThreatState(error);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case ThreatsPropagationPackage.THREAT_STATE: {
+				ThreatState threatState = (ThreatState)theEObject;
+				T result = caseThreatState(threatState);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case ThreatsPropagationPackage.ERROR_FREE: {
+				ErrorFree errorFree = (ErrorFree)theEObject;
+				T result = caseErrorFree(errorFree);
+				if (result == null) result = caseThreatState(errorFree);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case ThreatsPropagationPackage.UNCLASSIFIED_ERROR: {
+				UnclassifiedError unclassifiedError = (UnclassifiedError)theEObject;
+				T result = caseUnclassifiedError(unclassifiedError);
+				if (result == null) result = caseThreatState(unclassifiedError);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case ThreatsPropagationPackage.FAILURE_MODE: {
+				FailureMode failureMode = (FailureMode)theEObject;
+				T result = caseFailureMode(failureMode);
+				if (result == null) result = caseThreatState(failureMode);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case ThreatsPropagationPackage.FAILURE_FREE: {
+				FailureFree failureFree = (FailureFree)theEObject;
+				T result = caseFailureFree(failureFree);
+				if (result == null) result = caseThreatState(failureFree);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case ThreatsPropagationPackage.UNCLASSIFIED_FAILURE: {
+				UnclassifiedFailure unclassifiedFailure = (UnclassifiedFailure)theEObject;
+				T result = caseUnclassifiedFailure(unclassifiedFailure);
+				if (result == null) result = caseThreatState(unclassifiedFailure);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case ThreatsPropagationPackage.STUCK_AT: {
+				StuckAt stuckAt = (StuckAt)theEObject;
+				T result = caseStuckAt(stuckAt);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case ThreatsPropagationPackage.STUCK_AT_FIXED: {
+				StuckAtFixed stuckAtFixed = (StuckAtFixed)theEObject;
+				T result = caseStuckAtFixed(stuckAtFixed);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case ThreatsPropagationPackage.INVERTED: {
+				Inverted inverted = (Inverted)theEObject;
+				T result = caseInverted(inverted);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case ThreatsPropagationPackage.RAMP_DOWN: {
+				RampDown rampDown = (RampDown)theEObject;
+				T result = caseRampDown(rampDown);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case ThreatsPropagationPackage.ERROR_MODEL: {
+				ErrorModel errorModel = (ErrorModel)theEObject;
+				T result = caseErrorModel(errorModel);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			default: return defaultCase(theEObject);
+		}
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Internal Fault</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Internal Fault</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseInternalFault(InternalFault object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>External Fault</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>External Fault</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseExternalFault(ExternalFault object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Error</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Error</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseError(org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.Error object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Threat State</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Threat State</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseThreatState(ThreatState object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Error Free</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Error Free</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseErrorFree(ErrorFree object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Unclassified Error</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Unclassified Error</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseUnclassifiedError(UnclassifiedError object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Failure Mode</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Failure Mode</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseFailureMode(FailureMode object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Failure Free</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Failure Free</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseFailureFree(FailureFree object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Unclassified Failure</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Unclassified Failure</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseUnclassifiedFailure(UnclassifiedFailure object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Stuck At</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Stuck At</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseStuckAt(StuckAt object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Stuck At Fixed</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Stuck At Fixed</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseStuckAtFixed(StuckAtFixed object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Inverted</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Inverted</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseInverted(Inverted object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Ramp Down</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Ramp Down</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseRampDown(RampDown object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Error Model</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Error Model</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseErrorModel(ErrorModel object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch, but this is the last case anyway.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+	 * @generated
+	 */
+	@Override
+	public T defaultCase(EObject object) {
+		return null;
+	}
+
+} //ThreatsPropagationSwitch
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/util/ThreatsPropagationXMLProcessor.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/util/ThreatsPropagationXMLProcessor.java
new file mode 100644
index 000000000..9cb49ed07
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Dependability/ThreatsPropagation/util/ThreatsPropagationXMLProcessor.java
@@ -0,0 +1,56 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.util;
+
+import java.util.Map;
+
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.xmi.util.XMLProcessor;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatsPropagationPackage;
+
+/**
+ * This class contains helper methods to serialize and deserialize XML documents
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ThreatsPropagationXMLProcessor extends XMLProcessor {
+
+	/**
+	 * Public constructor to instantiate the helper.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ThreatsPropagationXMLProcessor() {
+		super((EPackage.Registry.INSTANCE));
+		ThreatsPropagationPackage.eINSTANCE.eClass();
+	}
+	
+	/**
+	 * Register for "*" and "xml" file extensions the ThreatsPropagationResourceFactoryImpl factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected Map<String, Resource.Factory> getRegistrations() {
+		if (registrations == null) {
+			super.getRegistrations();
+			registrations.put(XML_EXTENSION, new ThreatsPropagationResourceFactoryImpl());
+			registrations.put(STAR_EXTENSION, new ThreatsPropagationResourceFactoryImpl());
+		}
+		return registrations;
+	}
+
+} //ThreatsPropagationXMLProcessor
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/DeploymentConfAnalysis/BusConfigurationAnalysis.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/DeploymentConfAnalysis/BusConfigurationAnalysis.java
new file mode 100644
index 000000000..ecc3315ee
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/DeploymentConfAnalysis/BusConfigurationAnalysis.java
@@ -0,0 +1,115 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.GQAM.GaAnalysisContext;
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.SAM.SaStep;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwBus;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.FIBEX;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Bus Configuration Analysis</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.BusConfigurationAnalysis#getResultingBusConfig <em>Resulting Bus Config</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.BusConfigurationAnalysis#getResultingCommLatencies <em>Resulting Comm Latencies</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.BusConfigurationAnalysis#getInputFibex <em>Input Fibex</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.BusConfigurationAnalysis#getHwBusPlatform <em>Hw Bus Platform</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.DeploymentConfAnalysisPackage#getBusConfigurationAnalysis()
+ * @model
+ * @generated
+ */
+public interface BusConfigurationAnalysis extends GaAnalysisContext {
+	/**
+	 * Returns the value of the '<em><b>Resulting Bus Config</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Resulting Bus Config</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Resulting Bus Config</em>' reference.
+	 * @see #setResultingBusConfig(FIBEX)
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.DeploymentConfAnalysisPackage#getBusConfigurationAnalysis_ResultingBusConfig()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	FIBEX getResultingBusConfig();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.BusConfigurationAnalysis#getResultingBusConfig <em>Resulting Bus Config</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Resulting Bus Config</em>' reference.
+	 * @see #getResultingBusConfig()
+	 * @generated
+	 */
+	void setResultingBusConfig(FIBEX value);
+
+	/**
+	 * Returns the value of the '<em><b>Resulting Comm Latencies</b></em>' reference list.
+	 * The list contents are of type {@link org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.SAM.SaStep}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Resulting Comm Latencies</em>' reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Resulting Comm Latencies</em>' reference list.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.DeploymentConfAnalysisPackage#getBusConfigurationAnalysis_ResultingCommLatencies()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	EList<SaStep> getResultingCommLatencies();
+
+	/**
+	 * Returns the value of the '<em><b>Input Fibex</b></em>' reference list.
+	 * The list contents are of type {@link org.polarsys.chess.chessmlprofile.Dependability.FMEA.FIBEX}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Input Fibex</em>' reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Input Fibex</em>' reference list.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.DeploymentConfAnalysisPackage#getBusConfigurationAnalysis_InputFibex()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	EList<FIBEX> getInputFibex();
+
+	/**
+	 * Returns the value of the '<em><b>Hw Bus Platform</b></em>' reference list.
+	 * The list contents are of type {@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwBus}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Hw Bus Platform</em>' reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Hw Bus Platform</em>' reference list.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.DeploymentConfAnalysisPackage#getBusConfigurationAnalysis_HwBusPlatform()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	EList<HwBus> getHwBusPlatform();
+
+} // BusConfigurationAnalysis
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/DeploymentConfAnalysis/DeploymentConfAnalysisFactory.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/DeploymentConfAnalysis/DeploymentConfAnalysisFactory.java
new file mode 100644
index 000000000..6088e8ea8
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/DeploymentConfAnalysis/DeploymentConfAnalysisFactory.java
@@ -0,0 +1,69 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.DeploymentConfAnalysisPackage
+ * @generated
+ */
+public interface DeploymentConfAnalysisFactory extends EFactory {
+	/**
+	 * The singleton instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	DeploymentConfAnalysisFactory eINSTANCE = org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.impl.DeploymentConfAnalysisFactoryImpl.init();
+
+	/**
+	 * Returns a new object of class '<em>Mapping Configuration Analysis</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Mapping Configuration Analysis</em>'.
+	 * @generated
+	 */
+	MappingConfigurationAnalysis createMappingConfigurationAnalysis();
+
+	/**
+	 * Returns a new object of class '<em>Scheduling Analysis</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Scheduling Analysis</em>'.
+	 * @generated
+	 */
+	SchedulingAnalysis createSchedulingAnalysis();
+
+	/**
+	 * Returns a new object of class '<em>Bus Configuration Analysis</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Bus Configuration Analysis</em>'.
+	 * @generated
+	 */
+	BusConfigurationAnalysis createBusConfigurationAnalysis();
+
+	/**
+	 * Returns the package supported by this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the package supported by this factory.
+	 * @generated
+	 */
+	DeploymentConfAnalysisPackage getDeploymentConfAnalysisPackage();
+
+} //DeploymentConfAnalysisFactory
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/DeploymentConfAnalysis/DeploymentConfAnalysisPackage.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/DeploymentConfAnalysis/DeploymentConfAnalysisPackage.java
new file mode 100644
index 000000000..71c5ee56d
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/DeploymentConfAnalysis/DeploymentConfAnalysisPackage.java
@@ -0,0 +1,739 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EEnum;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.GQAM.GQAMPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ *   <li>each class,</li>
+ *   <li>each feature of each class,</li>
+ *   <li>each enum,</li>
+ *   <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.DeploymentConfAnalysisFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface DeploymentConfAnalysisPackage extends EPackage {
+	/**
+	 * The package name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNAME = "DeploymentConfAnalysis";
+
+	/**
+	 * The package namespace URI.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_URI = "http://CHESS/Predictability/DeploymentConfiguration/DeploymentConfAnalysis";
+
+	/**
+	 * The package namespace name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_PREFIX = "DeploymentConfAnalysis";
+
+	/**
+	 * The singleton instance of the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	DeploymentConfAnalysisPackage eINSTANCE = org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.impl.DeploymentConfAnalysisPackageImpl.init();
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.impl.MappingConfigurationAnalysisImpl <em>Mapping Configuration Analysis</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.impl.MappingConfigurationAnalysisImpl
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.impl.DeploymentConfAnalysisPackageImpl#getMappingConfigurationAnalysis()
+	 * @generated
+	 */
+	int MAPPING_CONFIGURATION_ANALYSIS = 0;
+
+	/**
+	 * The feature id for the '<em><b>Base Structured Classifier</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MAPPING_CONFIGURATION_ANALYSIS__BASE_STRUCTURED_CLASSIFIER = GQAMPackage.GA_ANALYSIS_CONTEXT__BASE_STRUCTURED_CLASSIFIER;
+
+	/**
+	 * The feature id for the '<em><b>Base Package</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MAPPING_CONFIGURATION_ANALYSIS__BASE_PACKAGE = GQAMPackage.GA_ANALYSIS_CONTEXT__BASE_PACKAGE;
+
+	/**
+	 * The feature id for the '<em><b>Mode</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MAPPING_CONFIGURATION_ANALYSIS__MODE = GQAMPackage.GA_ANALYSIS_CONTEXT__MODE;
+
+	/**
+	 * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MAPPING_CONFIGURATION_ANALYSIS__BASE_NAMED_ELEMENT = GQAMPackage.GA_ANALYSIS_CONTEXT__BASE_NAMED_ELEMENT;
+
+	/**
+	 * The feature id for the '<em><b>Context</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MAPPING_CONFIGURATION_ANALYSIS__CONTEXT = GQAMPackage.GA_ANALYSIS_CONTEXT__CONTEXT;
+
+	/**
+	 * The feature id for the '<em><b>Workload</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MAPPING_CONFIGURATION_ANALYSIS__WORKLOAD = GQAMPackage.GA_ANALYSIS_CONTEXT__WORKLOAD;
+
+	/**
+	 * The feature id for the '<em><b>Platform</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MAPPING_CONFIGURATION_ANALYSIS__PLATFORM = GQAMPackage.GA_ANALYSIS_CONTEXT__PLATFORM;
+
+	/**
+	 * The feature id for the '<em><b>Prohibited Allocations</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MAPPING_CONFIGURATION_ANALYSIS__PROHIBITED_ALLOCATIONS = GQAMPackage.GA_ANALYSIS_CONTEXT_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Fixed Allocations</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MAPPING_CONFIGURATION_ANALYSIS__FIXED_ALLOCATIONS = GQAMPackage.GA_ANALYSIS_CONTEXT_FEATURE_COUNT + 1;
+
+	/**
+	 * The feature id for the '<em><b>Bottom Up Analysis</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MAPPING_CONFIGURATION_ANALYSIS__BOTTOM_UP_ANALYSIS = GQAMPackage.GA_ANALYSIS_CONTEXT_FEATURE_COUNT + 2;
+
+	/**
+	 * The feature id for the '<em><b>Resulting Mapping</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MAPPING_CONFIGURATION_ANALYSIS__RESULTING_MAPPING = GQAMPackage.GA_ANALYSIS_CONTEXT_FEATURE_COUNT + 3;
+
+	/**
+	 * The number of structural features of the '<em>Mapping Configuration Analysis</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MAPPING_CONFIGURATION_ANALYSIS_FEATURE_COUNT = GQAMPackage.GA_ANALYSIS_CONTEXT_FEATURE_COUNT + 4;
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.impl.SchedulingAnalysisImpl <em>Scheduling Analysis</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.impl.SchedulingAnalysisImpl
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.impl.DeploymentConfAnalysisPackageImpl#getSchedulingAnalysis()
+	 * @generated
+	 */
+	int SCHEDULING_ANALYSIS = 1;
+
+	/**
+	 * The feature id for the '<em><b>Base Structured Classifier</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SCHEDULING_ANALYSIS__BASE_STRUCTURED_CLASSIFIER = GQAMPackage.GA_ANALYSIS_CONTEXT__BASE_STRUCTURED_CLASSIFIER;
+
+	/**
+	 * The feature id for the '<em><b>Base Package</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SCHEDULING_ANALYSIS__BASE_PACKAGE = GQAMPackage.GA_ANALYSIS_CONTEXT__BASE_PACKAGE;
+
+	/**
+	 * The feature id for the '<em><b>Mode</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SCHEDULING_ANALYSIS__MODE = GQAMPackage.GA_ANALYSIS_CONTEXT__MODE;
+
+	/**
+	 * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SCHEDULING_ANALYSIS__BASE_NAMED_ELEMENT = GQAMPackage.GA_ANALYSIS_CONTEXT__BASE_NAMED_ELEMENT;
+
+	/**
+	 * The feature id for the '<em><b>Context</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SCHEDULING_ANALYSIS__CONTEXT = GQAMPackage.GA_ANALYSIS_CONTEXT__CONTEXT;
+
+	/**
+	 * The feature id for the '<em><b>Workload</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SCHEDULING_ANALYSIS__WORKLOAD = GQAMPackage.GA_ANALYSIS_CONTEXT__WORKLOAD;
+
+	/**
+	 * The feature id for the '<em><b>Platform</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SCHEDULING_ANALYSIS__PLATFORM = GQAMPackage.GA_ANALYSIS_CONTEXT__PLATFORM;
+
+	/**
+	 * The feature id for the '<em><b>Mapping</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SCHEDULING_ANALYSIS__MAPPING = GQAMPackage.GA_ANALYSIS_CONTEXT_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Resulting Priorities</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SCHEDULING_ANALYSIS__RESULTING_PRIORITIES = GQAMPackage.GA_ANALYSIS_CONTEXT_FEATURE_COUNT + 1;
+
+	/**
+	 * The feature id for the '<em><b>Scheduling Strategy</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SCHEDULING_ANALYSIS__SCHEDULING_STRATEGY = GQAMPackage.GA_ANALYSIS_CONTEXT_FEATURE_COUNT + 2;
+
+	/**
+	 * The number of structural features of the '<em>Scheduling Analysis</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SCHEDULING_ANALYSIS_FEATURE_COUNT = GQAMPackage.GA_ANALYSIS_CONTEXT_FEATURE_COUNT + 3;
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.impl.BusConfigurationAnalysisImpl <em>Bus Configuration Analysis</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.impl.BusConfigurationAnalysisImpl
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.impl.DeploymentConfAnalysisPackageImpl#getBusConfigurationAnalysis()
+	 * @generated
+	 */
+	int BUS_CONFIGURATION_ANALYSIS = 2;
+
+	/**
+	 * The feature id for the '<em><b>Base Structured Classifier</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BUS_CONFIGURATION_ANALYSIS__BASE_STRUCTURED_CLASSIFIER = GQAMPackage.GA_ANALYSIS_CONTEXT__BASE_STRUCTURED_CLASSIFIER;
+
+	/**
+	 * The feature id for the '<em><b>Base Package</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BUS_CONFIGURATION_ANALYSIS__BASE_PACKAGE = GQAMPackage.GA_ANALYSIS_CONTEXT__BASE_PACKAGE;
+
+	/**
+	 * The feature id for the '<em><b>Mode</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BUS_CONFIGURATION_ANALYSIS__MODE = GQAMPackage.GA_ANALYSIS_CONTEXT__MODE;
+
+	/**
+	 * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BUS_CONFIGURATION_ANALYSIS__BASE_NAMED_ELEMENT = GQAMPackage.GA_ANALYSIS_CONTEXT__BASE_NAMED_ELEMENT;
+
+	/**
+	 * The feature id for the '<em><b>Context</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BUS_CONFIGURATION_ANALYSIS__CONTEXT = GQAMPackage.GA_ANALYSIS_CONTEXT__CONTEXT;
+
+	/**
+	 * The feature id for the '<em><b>Workload</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BUS_CONFIGURATION_ANALYSIS__WORKLOAD = GQAMPackage.GA_ANALYSIS_CONTEXT__WORKLOAD;
+
+	/**
+	 * The feature id for the '<em><b>Platform</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BUS_CONFIGURATION_ANALYSIS__PLATFORM = GQAMPackage.GA_ANALYSIS_CONTEXT__PLATFORM;
+
+	/**
+	 * The feature id for the '<em><b>Resulting Bus Config</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BUS_CONFIGURATION_ANALYSIS__RESULTING_BUS_CONFIG = GQAMPackage.GA_ANALYSIS_CONTEXT_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Resulting Comm Latencies</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BUS_CONFIGURATION_ANALYSIS__RESULTING_COMM_LATENCIES = GQAMPackage.GA_ANALYSIS_CONTEXT_FEATURE_COUNT + 1;
+
+	/**
+	 * The feature id for the '<em><b>Input Fibex</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BUS_CONFIGURATION_ANALYSIS__INPUT_FIBEX = GQAMPackage.GA_ANALYSIS_CONTEXT_FEATURE_COUNT + 2;
+
+	/**
+	 * The feature id for the '<em><b>Hw Bus Platform</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BUS_CONFIGURATION_ANALYSIS__HW_BUS_PLATFORM = GQAMPackage.GA_ANALYSIS_CONTEXT_FEATURE_COUNT + 3;
+
+	/**
+	 * The number of structural features of the '<em>Bus Configuration Analysis</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BUS_CONFIGURATION_ANALYSIS_FEATURE_COUNT = GQAMPackage.GA_ANALYSIS_CONTEXT_FEATURE_COUNT + 4;
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.OptimizationGoal <em>Optimization Goal</em>}' enum.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.OptimizationGoal
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.impl.DeploymentConfAnalysisPackageImpl#getOptimizationGoal()
+	 * @generated
+	 */
+	int OPTIMIZATION_GOAL = 3;
+
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.MappingConfigurationAnalysis <em>Mapping Configuration Analysis</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Mapping Configuration Analysis</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.MappingConfigurationAnalysis
+	 * @generated
+	 */
+	EClass getMappingConfigurationAnalysis();
+
+	/**
+	 * Returns the meta object for the reference list '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.MappingConfigurationAnalysis#getProhibitedAllocations <em>Prohibited Allocations</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference list '<em>Prohibited Allocations</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.MappingConfigurationAnalysis#getProhibitedAllocations()
+	 * @see #getMappingConfigurationAnalysis()
+	 * @generated
+	 */
+	EReference getMappingConfigurationAnalysis_ProhibitedAllocations();
+
+	/**
+	 * Returns the meta object for the reference list '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.MappingConfigurationAnalysis#getFixedAllocations <em>Fixed Allocations</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference list '<em>Fixed Allocations</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.MappingConfigurationAnalysis#getFixedAllocations()
+	 * @see #getMappingConfigurationAnalysis()
+	 * @generated
+	 */
+	EReference getMappingConfigurationAnalysis_FixedAllocations();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.MappingConfigurationAnalysis#isBottomUpAnalysis <em>Bottom Up Analysis</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Bottom Up Analysis</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.MappingConfigurationAnalysis#isBottomUpAnalysis()
+	 * @see #getMappingConfigurationAnalysis()
+	 * @generated
+	 */
+	EAttribute getMappingConfigurationAnalysis_BottomUpAnalysis();
+
+	/**
+	 * Returns the meta object for the reference list '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.MappingConfigurationAnalysis#getResultingMapping <em>Resulting Mapping</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference list '<em>Resulting Mapping</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.MappingConfigurationAnalysis#getResultingMapping()
+	 * @see #getMappingConfigurationAnalysis()
+	 * @generated
+	 */
+	EReference getMappingConfigurationAnalysis_ResultingMapping();
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.SchedulingAnalysis <em>Scheduling Analysis</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Scheduling Analysis</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.SchedulingAnalysis
+	 * @generated
+	 */
+	EClass getSchedulingAnalysis();
+
+	/**
+	 * Returns the meta object for the reference list '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.SchedulingAnalysis#getMapping <em>Mapping</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference list '<em>Mapping</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.SchedulingAnalysis#getMapping()
+	 * @see #getSchedulingAnalysis()
+	 * @generated
+	 */
+	EReference getSchedulingAnalysis_Mapping();
+
+	/**
+	 * Returns the meta object for the reference list '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.SchedulingAnalysis#getResultingPriorities <em>Resulting Priorities</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference list '<em>Resulting Priorities</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.SchedulingAnalysis#getResultingPriorities()
+	 * @see #getSchedulingAnalysis()
+	 * @generated
+	 */
+	EReference getSchedulingAnalysis_ResultingPriorities();
+
+	/**
+	 * Returns the meta object for the attribute list '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.SchedulingAnalysis#getSchedulingStrategy <em>Scheduling Strategy</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute list '<em>Scheduling Strategy</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.SchedulingAnalysis#getSchedulingStrategy()
+	 * @see #getSchedulingAnalysis()
+	 * @generated
+	 */
+	EAttribute getSchedulingAnalysis_SchedulingStrategy();
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.BusConfigurationAnalysis <em>Bus Configuration Analysis</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Bus Configuration Analysis</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.BusConfigurationAnalysis
+	 * @generated
+	 */
+	EClass getBusConfigurationAnalysis();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.BusConfigurationAnalysis#getResultingBusConfig <em>Resulting Bus Config</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Resulting Bus Config</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.BusConfigurationAnalysis#getResultingBusConfig()
+	 * @see #getBusConfigurationAnalysis()
+	 * @generated
+	 */
+	EReference getBusConfigurationAnalysis_ResultingBusConfig();
+
+	/**
+	 * Returns the meta object for the reference list '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.BusConfigurationAnalysis#getResultingCommLatencies <em>Resulting Comm Latencies</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference list '<em>Resulting Comm Latencies</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.BusConfigurationAnalysis#getResultingCommLatencies()
+	 * @see #getBusConfigurationAnalysis()
+	 * @generated
+	 */
+	EReference getBusConfigurationAnalysis_ResultingCommLatencies();
+
+	/**
+	 * Returns the meta object for the reference list '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.BusConfigurationAnalysis#getInputFibex <em>Input Fibex</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference list '<em>Input Fibex</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.BusConfigurationAnalysis#getInputFibex()
+	 * @see #getBusConfigurationAnalysis()
+	 * @generated
+	 */
+	EReference getBusConfigurationAnalysis_InputFibex();
+
+	/**
+	 * Returns the meta object for the reference list '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.BusConfigurationAnalysis#getHwBusPlatform <em>Hw Bus Platform</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference list '<em>Hw Bus Platform</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.BusConfigurationAnalysis#getHwBusPlatform()
+	 * @see #getBusConfigurationAnalysis()
+	 * @generated
+	 */
+	EReference getBusConfigurationAnalysis_HwBusPlatform();
+
+	/**
+	 * Returns the meta object for enum '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.OptimizationGoal <em>Optimization Goal</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for enum '<em>Optimization Goal</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.OptimizationGoal
+	 * @generated
+	 */
+	EEnum getOptimizationGoal();
+
+	/**
+	 * Returns the factory that creates the instances of the model.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the factory that creates the instances of the model.
+	 * @generated
+	 */
+	DeploymentConfAnalysisFactory getDeploymentConfAnalysisFactory();
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * Defines literals for the meta objects that represent
+	 * <ul>
+	 *   <li>each class,</li>
+	 *   <li>each feature of each class,</li>
+	 *   <li>each enum,</li>
+	 *   <li>and each data type</li>
+	 * </ul>
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	interface Literals {
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.impl.MappingConfigurationAnalysisImpl <em>Mapping Configuration Analysis</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.impl.MappingConfigurationAnalysisImpl
+		 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.impl.DeploymentConfAnalysisPackageImpl#getMappingConfigurationAnalysis()
+		 * @generated
+		 */
+		EClass MAPPING_CONFIGURATION_ANALYSIS = eINSTANCE.getMappingConfigurationAnalysis();
+
+		/**
+		 * The meta object literal for the '<em><b>Prohibited Allocations</b></em>' reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference MAPPING_CONFIGURATION_ANALYSIS__PROHIBITED_ALLOCATIONS = eINSTANCE.getMappingConfigurationAnalysis_ProhibitedAllocations();
+
+		/**
+		 * The meta object literal for the '<em><b>Fixed Allocations</b></em>' reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference MAPPING_CONFIGURATION_ANALYSIS__FIXED_ALLOCATIONS = eINSTANCE.getMappingConfigurationAnalysis_FixedAllocations();
+
+		/**
+		 * The meta object literal for the '<em><b>Bottom Up Analysis</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute MAPPING_CONFIGURATION_ANALYSIS__BOTTOM_UP_ANALYSIS = eINSTANCE.getMappingConfigurationAnalysis_BottomUpAnalysis();
+
+		/**
+		 * The meta object literal for the '<em><b>Resulting Mapping</b></em>' reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference MAPPING_CONFIGURATION_ANALYSIS__RESULTING_MAPPING = eINSTANCE.getMappingConfigurationAnalysis_ResultingMapping();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.impl.SchedulingAnalysisImpl <em>Scheduling Analysis</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.impl.SchedulingAnalysisImpl
+		 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.impl.DeploymentConfAnalysisPackageImpl#getSchedulingAnalysis()
+		 * @generated
+		 */
+		EClass SCHEDULING_ANALYSIS = eINSTANCE.getSchedulingAnalysis();
+
+		/**
+		 * The meta object literal for the '<em><b>Mapping</b></em>' reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference SCHEDULING_ANALYSIS__MAPPING = eINSTANCE.getSchedulingAnalysis_Mapping();
+
+		/**
+		 * The meta object literal for the '<em><b>Resulting Priorities</b></em>' reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference SCHEDULING_ANALYSIS__RESULTING_PRIORITIES = eINSTANCE.getSchedulingAnalysis_ResultingPriorities();
+
+		/**
+		 * The meta object literal for the '<em><b>Scheduling Strategy</b></em>' attribute list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute SCHEDULING_ANALYSIS__SCHEDULING_STRATEGY = eINSTANCE.getSchedulingAnalysis_SchedulingStrategy();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.impl.BusConfigurationAnalysisImpl <em>Bus Configuration Analysis</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.impl.BusConfigurationAnalysisImpl
+		 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.impl.DeploymentConfAnalysisPackageImpl#getBusConfigurationAnalysis()
+		 * @generated
+		 */
+		EClass BUS_CONFIGURATION_ANALYSIS = eINSTANCE.getBusConfigurationAnalysis();
+
+		/**
+		 * The meta object literal for the '<em><b>Resulting Bus Config</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference BUS_CONFIGURATION_ANALYSIS__RESULTING_BUS_CONFIG = eINSTANCE.getBusConfigurationAnalysis_ResultingBusConfig();
+
+		/**
+		 * The meta object literal for the '<em><b>Resulting Comm Latencies</b></em>' reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference BUS_CONFIGURATION_ANALYSIS__RESULTING_COMM_LATENCIES = eINSTANCE.getBusConfigurationAnalysis_ResultingCommLatencies();
+
+		/**
+		 * The meta object literal for the '<em><b>Input Fibex</b></em>' reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference BUS_CONFIGURATION_ANALYSIS__INPUT_FIBEX = eINSTANCE.getBusConfigurationAnalysis_InputFibex();
+
+		/**
+		 * The meta object literal for the '<em><b>Hw Bus Platform</b></em>' reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference BUS_CONFIGURATION_ANALYSIS__HW_BUS_PLATFORM = eINSTANCE.getBusConfigurationAnalysis_HwBusPlatform();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.OptimizationGoal <em>Optimization Goal</em>}' enum.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.OptimizationGoal
+		 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.impl.DeploymentConfAnalysisPackageImpl#getOptimizationGoal()
+		 * @generated
+		 */
+		EEnum OPTIMIZATION_GOAL = eINSTANCE.getOptimizationGoal();
+
+	}
+
+} //DeploymentConfAnalysisPackage
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/DeploymentConfAnalysis/MappingConfigurationAnalysis.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/DeploymentConfAnalysis/MappingConfigurationAnalysis.java
new file mode 100644
index 000000000..515b0e426
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/DeploymentConfAnalysis/MappingConfigurationAnalysis.java
@@ -0,0 +1,114 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.GQAM.GaAnalysisContext;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.Alloc.Assign;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Mapping Configuration Analysis</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.MappingConfigurationAnalysis#getProhibitedAllocations <em>Prohibited Allocations</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.MappingConfigurationAnalysis#getFixedAllocations <em>Fixed Allocations</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.MappingConfigurationAnalysis#isBottomUpAnalysis <em>Bottom Up Analysis</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.MappingConfigurationAnalysis#getResultingMapping <em>Resulting Mapping</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.DeploymentConfAnalysisPackage#getMappingConfigurationAnalysis()
+ * @model
+ * @generated
+ */
+public interface MappingConfigurationAnalysis extends GaAnalysisContext {
+	/**
+	 * Returns the value of the '<em><b>Prohibited Allocations</b></em>' reference list.
+	 * The list contents are of type {@link org.eclipse.papyrus.MARTE.MARTE_Foundations.Alloc.Assign}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Prohibited Allocations</em>' reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Prohibited Allocations</em>' reference list.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.DeploymentConfAnalysisPackage#getMappingConfigurationAnalysis_ProhibitedAllocations()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	EList<Assign> getProhibitedAllocations();
+
+	/**
+	 * Returns the value of the '<em><b>Fixed Allocations</b></em>' reference list.
+	 * The list contents are of type {@link org.eclipse.papyrus.MARTE.MARTE_Foundations.Alloc.Assign}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Fixed Allocations</em>' reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Fixed Allocations</em>' reference list.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.DeploymentConfAnalysisPackage#getMappingConfigurationAnalysis_FixedAllocations()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	EList<Assign> getFixedAllocations();
+
+	/**
+	 * Returns the value of the '<em><b>Bottom Up Analysis</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Bottom Up Analysis</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Bottom Up Analysis</em>' attribute.
+	 * @see #setBottomUpAnalysis(boolean)
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.DeploymentConfAnalysisPackage#getMappingConfigurationAnalysis_BottomUpAnalysis()
+	 * @model dataType="org.eclipse.uml2.types.Boolean" required="true" ordered="false"
+	 * @generated
+	 */
+	boolean isBottomUpAnalysis();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.MappingConfigurationAnalysis#isBottomUpAnalysis <em>Bottom Up Analysis</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Bottom Up Analysis</em>' attribute.
+	 * @see #isBottomUpAnalysis()
+	 * @generated
+	 */
+	void setBottomUpAnalysis(boolean value);
+
+	/**
+	 * Returns the value of the '<em><b>Resulting Mapping</b></em>' reference list.
+	 * The list contents are of type {@link org.eclipse.papyrus.MARTE.MARTE_Foundations.Alloc.Assign}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Resulting Mapping</em>' reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Resulting Mapping</em>' reference list.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.DeploymentConfAnalysisPackage#getMappingConfigurationAnalysis_ResultingMapping()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	EList<Assign> getResultingMapping();
+
+} // MappingConfigurationAnalysis
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/DeploymentConfAnalysis/OptimizationGoal.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/DeploymentConfAnalysis/OptimizationGoal.java
new file mode 100644
index 000000000..365f94a0b
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/DeploymentConfAnalysis/OptimizationGoal.java
@@ -0,0 +1,217 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Optimization Goal</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.DeploymentConfAnalysisPackage#getOptimizationGoal()
+ * @model
+ * @generated
+ */
+public enum OptimizationGoal implements Enumerator {
+	/**
+	 * The '<em><b>Average</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #AVERAGE_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	AVERAGE(0, "average", "average"),
+
+	/**
+	 * The '<em><b>Max High Perf Usage</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #MAX_HIGH_PERF_USAGE_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	MAX_HIGH_PERF_USAGE(1, "maxHighPerfUsage", "maxHighPerfUsage");
+
+	/**
+	 * The '<em><b>Average</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>Average</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #AVERAGE
+	 * @model name="average"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int AVERAGE_VALUE = 0;
+
+	/**
+	 * The '<em><b>Max High Perf Usage</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>Max High Perf Usage</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #MAX_HIGH_PERF_USAGE
+	 * @model name="maxHighPerfUsage"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int MAX_HIGH_PERF_USAGE_VALUE = 1;
+
+	/**
+	 * An array of all the '<em><b>Optimization Goal</b></em>' enumerators.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static final OptimizationGoal[] VALUES_ARRAY =
+		new OptimizationGoal[] {
+			AVERAGE,
+			MAX_HIGH_PERF_USAGE,
+		};
+
+	/**
+	 * A public read-only list of all the '<em><b>Optimization Goal</b></em>' enumerators.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final List<OptimizationGoal> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+	/**
+	 * Returns the '<em><b>Optimization Goal</b></em>' literal with the specified literal value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static OptimizationGoal get(String literal) {
+		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+			OptimizationGoal result = VALUES_ARRAY[i];
+			if (result.toString().equals(literal)) {
+				return result;
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Returns the '<em><b>Optimization Goal</b></em>' literal with the specified name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static OptimizationGoal getByName(String name) {
+		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+			OptimizationGoal result = VALUES_ARRAY[i];
+			if (result.getName().equals(name)) {
+				return result;
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Returns the '<em><b>Optimization Goal</b></em>' literal with the specified integer value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static OptimizationGoal get(int value) {
+		switch (value) {
+			case AVERAGE_VALUE: return AVERAGE;
+			case MAX_HIGH_PERF_USAGE_VALUE: return MAX_HIGH_PERF_USAGE;
+		}
+		return null;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final int value;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final String name;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final String literal;
+
+	/**
+	 * Only this class can construct instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private OptimizationGoal(int value, String name, String literal) {
+		this.value = value;
+		this.name = name;
+		this.literal = literal;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public int getValue() {
+	  return value;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getName() {
+	  return name;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getLiteral() {
+	  return literal;
+	}
+
+	/**
+	 * Returns the literal value of the enumerator, which is its string representation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		return literal;
+	}
+	
+} //OptimizationGoal
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/DeploymentConfAnalysis/SchedulingAnalysis.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/DeploymentConfAnalysis/SchedulingAnalysis.java
new file mode 100644
index 000000000..cbd23f31a
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/DeploymentConfAnalysis/SchedulingAnalysis.java
@@ -0,0 +1,86 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.GQAM.GaAnalysisContext;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.Alloc.Assign;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.CHRtSpecification;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Scheduling Analysis</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.SchedulingAnalysis#getMapping <em>Mapping</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.SchedulingAnalysis#getResultingPriorities <em>Resulting Priorities</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.SchedulingAnalysis#getSchedulingStrategy <em>Scheduling Strategy</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.DeploymentConfAnalysisPackage#getSchedulingAnalysis()
+ * @model
+ * @generated
+ */
+public interface SchedulingAnalysis extends GaAnalysisContext {
+	/**
+	 * Returns the value of the '<em><b>Mapping</b></em>' reference list.
+	 * The list contents are of type {@link org.eclipse.papyrus.MARTE.MARTE_Foundations.Alloc.Assign}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Mapping</em>' reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Mapping</em>' reference list.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.DeploymentConfAnalysisPackage#getSchedulingAnalysis_Mapping()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	EList<Assign> getMapping();
+
+	/**
+	 * Returns the value of the '<em><b>Resulting Priorities</b></em>' reference list.
+	 * The list contents are of type {@link org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.CHRtSpecification}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Resulting Priorities</em>' reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Resulting Priorities</em>' reference list.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.DeploymentConfAnalysisPackage#getSchedulingAnalysis_ResultingPriorities()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	EList<CHRtSpecification> getResultingPriorities();
+
+	/**
+	 * Returns the value of the '<em><b>Scheduling Strategy</b></em>' attribute list.
+	 * The list contents are of type {@link java.lang.String}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Scheduling Strategy</em>' attribute list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Scheduling Strategy</em>' attribute list.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.DeploymentConfAnalysisPackage#getSchedulingAnalysis_SchedulingStrategy()
+	 * @model dataType="org.eclipse.uml2.types.String" ordered="false"
+	 * @generated
+	 */
+	EList<String> getSchedulingStrategy();
+
+} // SchedulingAnalysis
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/DeploymentConfAnalysis/impl/BusConfigurationAnalysisImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/DeploymentConfAnalysis/impl/BusConfigurationAnalysisImpl.java
new file mode 100644
index 000000000..c336ffb30
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/DeploymentConfAnalysis/impl/BusConfigurationAnalysisImpl.java
@@ -0,0 +1,272 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.GQAM.impl.GaAnalysisContextImpl;
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.SAM.SaStep;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwBus;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.FIBEX;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.BusConfigurationAnalysis;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.DeploymentConfAnalysisPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Bus Configuration Analysis</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.impl.BusConfigurationAnalysisImpl#getResultingBusConfig <em>Resulting Bus Config</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.impl.BusConfigurationAnalysisImpl#getResultingCommLatencies <em>Resulting Comm Latencies</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.impl.BusConfigurationAnalysisImpl#getInputFibex <em>Input Fibex</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.impl.BusConfigurationAnalysisImpl#getHwBusPlatform <em>Hw Bus Platform</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class BusConfigurationAnalysisImpl extends GaAnalysisContextImpl implements BusConfigurationAnalysis {
+	/**
+	 * The cached value of the '{@link #getResultingBusConfig() <em>Resulting Bus Config</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getResultingBusConfig()
+	 * @generated
+	 * @ordered
+	 */
+	protected FIBEX resultingBusConfig;
+
+	/**
+	 * The cached value of the '{@link #getResultingCommLatencies() <em>Resulting Comm Latencies</em>}' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getResultingCommLatencies()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<SaStep> resultingCommLatencies;
+
+	/**
+	 * The cached value of the '{@link #getInputFibex() <em>Input Fibex</em>}' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getInputFibex()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<FIBEX> inputFibex;
+
+	/**
+	 * The cached value of the '{@link #getHwBusPlatform() <em>Hw Bus Platform</em>}' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getHwBusPlatform()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<HwBus> hwBusPlatform;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected BusConfigurationAnalysisImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return DeploymentConfAnalysisPackage.Literals.BUS_CONFIGURATION_ANALYSIS;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public FIBEX getResultingBusConfig() {
+		if (resultingBusConfig != null && resultingBusConfig.eIsProxy()) {
+			InternalEObject oldResultingBusConfig = (InternalEObject)resultingBusConfig;
+			resultingBusConfig = (FIBEX)eResolveProxy(oldResultingBusConfig);
+			if (resultingBusConfig != oldResultingBusConfig) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, DeploymentConfAnalysisPackage.BUS_CONFIGURATION_ANALYSIS__RESULTING_BUS_CONFIG, oldResultingBusConfig, resultingBusConfig));
+			}
+		}
+		return resultingBusConfig;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public FIBEX basicGetResultingBusConfig() {
+		return resultingBusConfig;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setResultingBusConfig(FIBEX newResultingBusConfig) {
+		FIBEX oldResultingBusConfig = resultingBusConfig;
+		resultingBusConfig = newResultingBusConfig;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, DeploymentConfAnalysisPackage.BUS_CONFIGURATION_ANALYSIS__RESULTING_BUS_CONFIG, oldResultingBusConfig, resultingBusConfig));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<SaStep> getResultingCommLatencies() {
+		if (resultingCommLatencies == null) {
+			resultingCommLatencies = new EObjectResolvingEList<SaStep>(SaStep.class, this, DeploymentConfAnalysisPackage.BUS_CONFIGURATION_ANALYSIS__RESULTING_COMM_LATENCIES);
+		}
+		return resultingCommLatencies;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<FIBEX> getInputFibex() {
+		if (inputFibex == null) {
+			inputFibex = new EObjectResolvingEList<FIBEX>(FIBEX.class, this, DeploymentConfAnalysisPackage.BUS_CONFIGURATION_ANALYSIS__INPUT_FIBEX);
+		}
+		return inputFibex;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<HwBus> getHwBusPlatform() {
+		if (hwBusPlatform == null) {
+			hwBusPlatform = new EObjectResolvingEList<HwBus>(HwBus.class, this, DeploymentConfAnalysisPackage.BUS_CONFIGURATION_ANALYSIS__HW_BUS_PLATFORM);
+		}
+		return hwBusPlatform;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case DeploymentConfAnalysisPackage.BUS_CONFIGURATION_ANALYSIS__RESULTING_BUS_CONFIG:
+				if (resolve) return getResultingBusConfig();
+				return basicGetResultingBusConfig();
+			case DeploymentConfAnalysisPackage.BUS_CONFIGURATION_ANALYSIS__RESULTING_COMM_LATENCIES:
+				return getResultingCommLatencies();
+			case DeploymentConfAnalysisPackage.BUS_CONFIGURATION_ANALYSIS__INPUT_FIBEX:
+				return getInputFibex();
+			case DeploymentConfAnalysisPackage.BUS_CONFIGURATION_ANALYSIS__HW_BUS_PLATFORM:
+				return getHwBusPlatform();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case DeploymentConfAnalysisPackage.BUS_CONFIGURATION_ANALYSIS__RESULTING_BUS_CONFIG:
+				setResultingBusConfig((FIBEX)newValue);
+				return;
+			case DeploymentConfAnalysisPackage.BUS_CONFIGURATION_ANALYSIS__RESULTING_COMM_LATENCIES:
+				getResultingCommLatencies().clear();
+				getResultingCommLatencies().addAll((Collection<? extends SaStep>)newValue);
+				return;
+			case DeploymentConfAnalysisPackage.BUS_CONFIGURATION_ANALYSIS__INPUT_FIBEX:
+				getInputFibex().clear();
+				getInputFibex().addAll((Collection<? extends FIBEX>)newValue);
+				return;
+			case DeploymentConfAnalysisPackage.BUS_CONFIGURATION_ANALYSIS__HW_BUS_PLATFORM:
+				getHwBusPlatform().clear();
+				getHwBusPlatform().addAll((Collection<? extends HwBus>)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case DeploymentConfAnalysisPackage.BUS_CONFIGURATION_ANALYSIS__RESULTING_BUS_CONFIG:
+				setResultingBusConfig((FIBEX)null);
+				return;
+			case DeploymentConfAnalysisPackage.BUS_CONFIGURATION_ANALYSIS__RESULTING_COMM_LATENCIES:
+				getResultingCommLatencies().clear();
+				return;
+			case DeploymentConfAnalysisPackage.BUS_CONFIGURATION_ANALYSIS__INPUT_FIBEX:
+				getInputFibex().clear();
+				return;
+			case DeploymentConfAnalysisPackage.BUS_CONFIGURATION_ANALYSIS__HW_BUS_PLATFORM:
+				getHwBusPlatform().clear();
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case DeploymentConfAnalysisPackage.BUS_CONFIGURATION_ANALYSIS__RESULTING_BUS_CONFIG:
+				return resultingBusConfig != null;
+			case DeploymentConfAnalysisPackage.BUS_CONFIGURATION_ANALYSIS__RESULTING_COMM_LATENCIES:
+				return resultingCommLatencies != null && !resultingCommLatencies.isEmpty();
+			case DeploymentConfAnalysisPackage.BUS_CONFIGURATION_ANALYSIS__INPUT_FIBEX:
+				return inputFibex != null && !inputFibex.isEmpty();
+			case DeploymentConfAnalysisPackage.BUS_CONFIGURATION_ANALYSIS__HW_BUS_PLATFORM:
+				return hwBusPlatform != null && !hwBusPlatform.isEmpty();
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //BusConfigurationAnalysisImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/DeploymentConfAnalysis/impl/DeploymentConfAnalysisFactoryImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/DeploymentConfAnalysis/impl/DeploymentConfAnalysisFactoryImpl.java
new file mode 100644
index 000000000..52f21083b
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/DeploymentConfAnalysis/impl/DeploymentConfAnalysisFactoryImpl.java
@@ -0,0 +1,174 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class DeploymentConfAnalysisFactoryImpl extends EFactoryImpl implements DeploymentConfAnalysisFactory {
+	/**
+	 * Creates the default factory implementation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static DeploymentConfAnalysisFactory init() {
+		try {
+			DeploymentConfAnalysisFactory theDeploymentConfAnalysisFactory = (DeploymentConfAnalysisFactory)EPackage.Registry.INSTANCE.getEFactory(DeploymentConfAnalysisPackage.eNS_URI);
+			if (theDeploymentConfAnalysisFactory != null) {
+				return theDeploymentConfAnalysisFactory;
+			}
+		}
+		catch (Exception exception) {
+			EcorePlugin.INSTANCE.log(exception);
+		}
+		return new DeploymentConfAnalysisFactoryImpl();
+	}
+
+	/**
+	 * Creates an instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public DeploymentConfAnalysisFactoryImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EObject create(EClass eClass) {
+		switch (eClass.getClassifierID()) {
+			case DeploymentConfAnalysisPackage.MAPPING_CONFIGURATION_ANALYSIS: return createMappingConfigurationAnalysis();
+			case DeploymentConfAnalysisPackage.SCHEDULING_ANALYSIS: return createSchedulingAnalysis();
+			case DeploymentConfAnalysisPackage.BUS_CONFIGURATION_ANALYSIS: return createBusConfigurationAnalysis();
+			default:
+				throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object createFromString(EDataType eDataType, String initialValue) {
+		switch (eDataType.getClassifierID()) {
+			case DeploymentConfAnalysisPackage.OPTIMIZATION_GOAL:
+				return createOptimizationGoalFromString(eDataType, initialValue);
+			default:
+				throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String convertToString(EDataType eDataType, Object instanceValue) {
+		switch (eDataType.getClassifierID()) {
+			case DeploymentConfAnalysisPackage.OPTIMIZATION_GOAL:
+				return convertOptimizationGoalToString(eDataType, instanceValue);
+			default:
+				throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public MappingConfigurationAnalysis createMappingConfigurationAnalysis() {
+		MappingConfigurationAnalysisImpl mappingConfigurationAnalysis = new MappingConfigurationAnalysisImpl();
+		return mappingConfigurationAnalysis;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public SchedulingAnalysis createSchedulingAnalysis() {
+		SchedulingAnalysisImpl schedulingAnalysis = new SchedulingAnalysisImpl();
+		return schedulingAnalysis;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public BusConfigurationAnalysis createBusConfigurationAnalysis() {
+		BusConfigurationAnalysisImpl busConfigurationAnalysis = new BusConfigurationAnalysisImpl();
+		return busConfigurationAnalysis;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public OptimizationGoal createOptimizationGoalFromString(EDataType eDataType, String initialValue) {
+		OptimizationGoal result = OptimizationGoal.get(initialValue);
+		if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+		return result;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String convertOptimizationGoalToString(EDataType eDataType, Object instanceValue) {
+		return instanceValue == null ? null : instanceValue.toString();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public DeploymentConfAnalysisPackage getDeploymentConfAnalysisPackage() {
+		return (DeploymentConfAnalysisPackage)getEPackage();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @deprecated
+	 * @generated
+	 */
+	@Deprecated
+	public static DeploymentConfAnalysisPackage getPackage() {
+		return DeploymentConfAnalysisPackage.eINSTANCE;
+	}
+
+} //DeploymentConfAnalysisFactoryImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/DeploymentConfAnalysis/impl/DeploymentConfAnalysisPackageImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/DeploymentConfAnalysis/impl/DeploymentConfAnalysisPackageImpl.java
new file mode 100644
index 000000000..3e08839a2
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/DeploymentConfAnalysis/impl/DeploymentConfAnalysisPackageImpl.java
@@ -0,0 +1,511 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EEnum;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+import org.eclipse.papyrus.MARTE.MARTEPackage;
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.GQAM.GQAMPackage;
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.SAM.SAMPackage;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwCommunicationPackage;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.Alloc.AllocPackage;
+import org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.BasicNFP_TypesPackage;
+import org.eclipse.papyrus.MARTE_Library.GRM_BasicTypes.GRM_BasicTypesPackage;
+import org.eclipse.papyrus.MARTE_Library.MARTE_DataTypes.MARTE_DataTypesPackage;
+import org.eclipse.papyrus.MARTE_Library.MARTE_PrimitivesTypes.MARTE_PrimitivesTypesPackage;
+import org.eclipse.papyrus.MARTE_Library.MeasurementUnits.MeasurementUnitsPackage;
+import org.eclipse.papyrus.MARTE_Library.RS_Library.RS_LibraryPackage;
+import org.eclipse.papyrus.MARTE_Library.TimeLibrary.TimeLibraryPackage;
+import org.eclipse.papyrus.MARTE_Library.TimeTypesLibrary.TimeTypesLibraryPackage;
+import org.eclipse.uml2.types.TypesPackage;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.polarsys.chess.chessmlprofile.chessmlprofilePackage;
+import org.polarsys.chess.chessmlprofile.ComponentModel.ComponentModelPackage;
+import org.polarsys.chess.chessmlprofile.ComponentModel.impl.ComponentModelPackageImpl;
+import org.polarsys.chess.chessmlprofile.Core.CorePackage;
+import org.polarsys.chess.chessmlprofile.Core.CHESSViews.CHESSViewsPackage;
+import org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl.CHESSViewsPackageImpl;
+import org.polarsys.chess.chessmlprofile.Core.impl.CorePackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.DataFlowCallGraph.DataFlowCallGraphPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.DataFlowCallGraph.impl.DataFlowCallGraphPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.DependableComponentPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.impl.DependableComponentPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEAPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEADataTypes.FMEADataTypesPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEADataTypes.impl.FMEADataTypesPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.impl.FMEAPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.FailurePropagationDataTypesPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.impl.FailurePropagationDataTypesPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl.FailurePropagationPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans.MitigationMeansPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans.impl.MitigationMeansPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.FaultTolerancePackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.impl.FaultTolerancePackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.MaintenanceMonitoringPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.impl.MaintenanceMonitoringPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.StateBasedAnalysisPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.impl.StateBasedAnalysisPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StateBasedComponentsPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.impl.StateBasedComponentsPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.StateBasedDataTypesPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.impl.StateBasedDataTypesPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatsPropagationPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.ThreatsPropagationPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.BusConfigurationAnalysis;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.DeploymentConfAnalysisFactory;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.DeploymentConfAnalysisPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.MappingConfigurationAnalysis;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.OptimizationGoal;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.SchedulingAnalysis;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HardwareBaselinePackage;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.HardwareBaselinePackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTComponentModelPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.RTDataTypesPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.impl.RTDataTypesPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.impl.RTComponentModelPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingAnalysisPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.TimingConstraintsPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.impl.TimingConstraintsPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.impl.TimingAnalysisPackageImpl;
+import org.polarsys.chess.chessmlprofile.impl.chessmlprofilePackageImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class DeploymentConfAnalysisPackageImpl extends EPackageImpl implements DeploymentConfAnalysisPackage {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass mappingConfigurationAnalysisEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass schedulingAnalysisEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass busConfigurationAnalysisEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EEnum optimizationGoalEEnum = null;
+
+	/**
+	 * Creates an instance of the model <b>Package</b>, registered with
+	 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+	 * package URI value.
+	 * <p>Note: the correct way to create the package is via the static
+	 * factory method {@link #init init()}, which also performs
+	 * initialization of the package, or returns the registered package,
+	 * if one already exists.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.emf.ecore.EPackage.Registry
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.DeploymentConfAnalysisPackage#eNS_URI
+	 * @see #init()
+	 * @generated
+	 */
+	private DeploymentConfAnalysisPackageImpl() {
+		super(eNS_URI, DeploymentConfAnalysisFactory.eINSTANCE);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static boolean isInited = false;
+
+	/**
+	 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+	 * 
+	 * <p>This method is used to initialize {@link DeploymentConfAnalysisPackage#eINSTANCE} when that field is accessed.
+	 * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #eNS_URI
+	 * @see #createPackageContents()
+	 * @see #initializePackageContents()
+	 * @generated
+	 */
+	public static DeploymentConfAnalysisPackage init() {
+		if (isInited) return (DeploymentConfAnalysisPackage)EPackage.Registry.INSTANCE.getEPackage(DeploymentConfAnalysisPackage.eNS_URI);
+
+		// Obtain or create and register package
+		DeploymentConfAnalysisPackageImpl theDeploymentConfAnalysisPackage = (DeploymentConfAnalysisPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof DeploymentConfAnalysisPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new DeploymentConfAnalysisPackageImpl());
+
+		isInited = true;
+
+		// Initialize simple dependencies
+		MARTEPackage.eINSTANCE.eClass();
+		MeasurementUnitsPackage.eINSTANCE.eClass();
+		GRM_BasicTypesPackage.eINSTANCE.eClass();
+		MARTE_DataTypesPackage.eINSTANCE.eClass();
+		BasicNFP_TypesPackage.eINSTANCE.eClass();
+		TimeTypesLibraryPackage.eINSTANCE.eClass();
+		TimeLibraryPackage.eINSTANCE.eClass();
+		RS_LibraryPackage.eINSTANCE.eClass();
+		MARTE_PrimitivesTypesPackage.eINSTANCE.eClass();
+		BasicNFP_TypesPackage.eINSTANCE.eClass();
+
+		// Obtain or create and register interdependencies
+		chessmlprofilePackageImpl thechessmlprofilePackage = (chessmlprofilePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(chessmlprofilePackage.eNS_URI) instanceof chessmlprofilePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(chessmlprofilePackage.eNS_URI) : chessmlprofilePackage.eINSTANCE);
+		CorePackageImpl theCorePackage = (CorePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(CorePackage.eNS_URI) instanceof CorePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(CorePackage.eNS_URI) : CorePackage.eINSTANCE);
+		CHESSViewsPackageImpl theCHESSViewsPackage = (CHESSViewsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(CHESSViewsPackage.eNS_URI) instanceof CHESSViewsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(CHESSViewsPackage.eNS_URI) : CHESSViewsPackage.eINSTANCE);
+		FailurePropagationPackageImpl theFailurePropagationPackage = (FailurePropagationPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FailurePropagationPackage.eNS_URI) instanceof FailurePropagationPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FailurePropagationPackage.eNS_URI) : FailurePropagationPackage.eINSTANCE);
+		FailurePropagationDataTypesPackageImpl theFailurePropagationDataTypesPackage = (FailurePropagationDataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FailurePropagationDataTypesPackage.eNS_URI) instanceof FailurePropagationDataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FailurePropagationDataTypesPackage.eNS_URI) : FailurePropagationDataTypesPackage.eINSTANCE);
+		DependableComponentPackageImpl theDependableComponentPackage = (DependableComponentPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DependableComponentPackage.eNS_URI) instanceof DependableComponentPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DependableComponentPackage.eNS_URI) : DependableComponentPackage.eINSTANCE);
+		ThreatsPropagationPackageImpl theThreatsPropagationPackage = (ThreatsPropagationPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ThreatsPropagationPackage.eNS_URI) instanceof ThreatsPropagationPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ThreatsPropagationPackage.eNS_URI) : ThreatsPropagationPackage.eINSTANCE);
+		DataFlowCallGraphPackageImpl theDataFlowCallGraphPackage = (DataFlowCallGraphPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DataFlowCallGraphPackage.eNS_URI) instanceof DataFlowCallGraphPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DataFlowCallGraphPackage.eNS_URI) : DataFlowCallGraphPackage.eINSTANCE);
+		StateBasedDataTypesPackageImpl theStateBasedDataTypesPackage = (StateBasedDataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(StateBasedDataTypesPackage.eNS_URI) instanceof StateBasedDataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(StateBasedDataTypesPackage.eNS_URI) : StateBasedDataTypesPackage.eINSTANCE);
+		StateBasedComponentsPackageImpl theStateBasedComponentsPackage = (StateBasedComponentsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(StateBasedComponentsPackage.eNS_URI) instanceof StateBasedComponentsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(StateBasedComponentsPackage.eNS_URI) : StateBasedComponentsPackage.eINSTANCE);
+		FaultTolerancePackageImpl theFaultTolerancePackage = (FaultTolerancePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FaultTolerancePackage.eNS_URI) instanceof FaultTolerancePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FaultTolerancePackage.eNS_URI) : FaultTolerancePackage.eINSTANCE);
+		MaintenanceMonitoringPackageImpl theMaintenanceMonitoringPackage = (MaintenanceMonitoringPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(MaintenanceMonitoringPackage.eNS_URI) instanceof MaintenanceMonitoringPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(MaintenanceMonitoringPackage.eNS_URI) : MaintenanceMonitoringPackage.eINSTANCE);
+		StateBasedAnalysisPackageImpl theStateBasedAnalysisPackage = (StateBasedAnalysisPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(StateBasedAnalysisPackage.eNS_URI) instanceof StateBasedAnalysisPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(StateBasedAnalysisPackage.eNS_URI) : StateBasedAnalysisPackage.eINSTANCE);
+		FMEAPackageImpl theFMEAPackage = (FMEAPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FMEAPackage.eNS_URI) instanceof FMEAPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FMEAPackage.eNS_URI) : FMEAPackage.eINSTANCE);
+		FMEADataTypesPackageImpl theFMEADataTypesPackage = (FMEADataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FMEADataTypesPackage.eNS_URI) instanceof FMEADataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FMEADataTypesPackage.eNS_URI) : FMEADataTypesPackage.eINSTANCE);
+		MitigationMeansPackageImpl theMitigationMeansPackage = (MitigationMeansPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(MitigationMeansPackage.eNS_URI) instanceof MitigationMeansPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(MitigationMeansPackage.eNS_URI) : MitigationMeansPackage.eINSTANCE);
+		TimingAnalysisPackageImpl theTimingAnalysisPackage = (TimingAnalysisPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimingAnalysisPackage.eNS_URI) instanceof TimingAnalysisPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimingAnalysisPackage.eNS_URI) : TimingAnalysisPackage.eINSTANCE);
+		TimingConstraintsPackageImpl theTimingConstraintsPackage = (TimingConstraintsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimingConstraintsPackage.eNS_URI) instanceof TimingConstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimingConstraintsPackage.eNS_URI) : TimingConstraintsPackage.eINSTANCE);
+		HardwareBaselinePackageImpl theHardwareBaselinePackage = (HardwareBaselinePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HardwareBaselinePackage.eNS_URI) instanceof HardwareBaselinePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HardwareBaselinePackage.eNS_URI) : HardwareBaselinePackage.eINSTANCE);
+		RTComponentModelPackageImpl theRTComponentModelPackage = (RTComponentModelPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RTComponentModelPackage.eNS_URI) instanceof RTComponentModelPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RTComponentModelPackage.eNS_URI) : RTComponentModelPackage.eINSTANCE);
+		RTDataTypesPackageImpl theRTDataTypesPackage = (RTDataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RTDataTypesPackage.eNS_URI) instanceof RTDataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RTDataTypesPackage.eNS_URI) : RTDataTypesPackage.eINSTANCE);
+		ComponentModelPackageImpl theComponentModelPackage = (ComponentModelPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ComponentModelPackage.eNS_URI) instanceof ComponentModelPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ComponentModelPackage.eNS_URI) : ComponentModelPackage.eINSTANCE);
+
+		// Create package meta-data objects
+		theDeploymentConfAnalysisPackage.createPackageContents();
+		thechessmlprofilePackage.createPackageContents();
+		theCorePackage.createPackageContents();
+		theCHESSViewsPackage.createPackageContents();
+		theFailurePropagationPackage.createPackageContents();
+		theFailurePropagationDataTypesPackage.createPackageContents();
+		theDependableComponentPackage.createPackageContents();
+		theThreatsPropagationPackage.createPackageContents();
+		theDataFlowCallGraphPackage.createPackageContents();
+		theStateBasedDataTypesPackage.createPackageContents();
+		theStateBasedComponentsPackage.createPackageContents();
+		theFaultTolerancePackage.createPackageContents();
+		theMaintenanceMonitoringPackage.createPackageContents();
+		theStateBasedAnalysisPackage.createPackageContents();
+		theFMEAPackage.createPackageContents();
+		theFMEADataTypesPackage.createPackageContents();
+		theMitigationMeansPackage.createPackageContents();
+		theTimingAnalysisPackage.createPackageContents();
+		theTimingConstraintsPackage.createPackageContents();
+		theHardwareBaselinePackage.createPackageContents();
+		theRTComponentModelPackage.createPackageContents();
+		theRTDataTypesPackage.createPackageContents();
+		theComponentModelPackage.createPackageContents();
+
+		// Initialize created meta-data
+		theDeploymentConfAnalysisPackage.initializePackageContents();
+		thechessmlprofilePackage.initializePackageContents();
+		theCorePackage.initializePackageContents();
+		theCHESSViewsPackage.initializePackageContents();
+		theFailurePropagationPackage.initializePackageContents();
+		theFailurePropagationDataTypesPackage.initializePackageContents();
+		theDependableComponentPackage.initializePackageContents();
+		theThreatsPropagationPackage.initializePackageContents();
+		theDataFlowCallGraphPackage.initializePackageContents();
+		theStateBasedDataTypesPackage.initializePackageContents();
+		theStateBasedComponentsPackage.initializePackageContents();
+		theFaultTolerancePackage.initializePackageContents();
+		theMaintenanceMonitoringPackage.initializePackageContents();
+		theStateBasedAnalysisPackage.initializePackageContents();
+		theFMEAPackage.initializePackageContents();
+		theFMEADataTypesPackage.initializePackageContents();
+		theMitigationMeansPackage.initializePackageContents();
+		theTimingAnalysisPackage.initializePackageContents();
+		theTimingConstraintsPackage.initializePackageContents();
+		theHardwareBaselinePackage.initializePackageContents();
+		theRTComponentModelPackage.initializePackageContents();
+		theRTDataTypesPackage.initializePackageContents();
+		theComponentModelPackage.initializePackageContents();
+
+		// Mark meta-data to indicate it can't be changed
+		theDeploymentConfAnalysisPackage.freeze();
+
+  
+		// Update the registry and return the package
+		EPackage.Registry.INSTANCE.put(DeploymentConfAnalysisPackage.eNS_URI, theDeploymentConfAnalysisPackage);
+		return theDeploymentConfAnalysisPackage;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getMappingConfigurationAnalysis() {
+		return mappingConfigurationAnalysisEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getMappingConfigurationAnalysis_ProhibitedAllocations() {
+		return (EReference)mappingConfigurationAnalysisEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getMappingConfigurationAnalysis_FixedAllocations() {
+		return (EReference)mappingConfigurationAnalysisEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getMappingConfigurationAnalysis_BottomUpAnalysis() {
+		return (EAttribute)mappingConfigurationAnalysisEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getMappingConfigurationAnalysis_ResultingMapping() {
+		return (EReference)mappingConfigurationAnalysisEClass.getEStructuralFeatures().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getSchedulingAnalysis() {
+		return schedulingAnalysisEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getSchedulingAnalysis_Mapping() {
+		return (EReference)schedulingAnalysisEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getSchedulingAnalysis_ResultingPriorities() {
+		return (EReference)schedulingAnalysisEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getSchedulingAnalysis_SchedulingStrategy() {
+		return (EAttribute)schedulingAnalysisEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getBusConfigurationAnalysis() {
+		return busConfigurationAnalysisEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getBusConfigurationAnalysis_ResultingBusConfig() {
+		return (EReference)busConfigurationAnalysisEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getBusConfigurationAnalysis_ResultingCommLatencies() {
+		return (EReference)busConfigurationAnalysisEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getBusConfigurationAnalysis_InputFibex() {
+		return (EReference)busConfigurationAnalysisEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getBusConfigurationAnalysis_HwBusPlatform() {
+		return (EReference)busConfigurationAnalysisEClass.getEStructuralFeatures().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EEnum getOptimizationGoal() {
+		return optimizationGoalEEnum;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public DeploymentConfAnalysisFactory getDeploymentConfAnalysisFactory() {
+		return (DeploymentConfAnalysisFactory)getEFactoryInstance();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isCreated = false;
+
+	/**
+	 * Creates the meta-model objects for the package.  This method is
+	 * guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void createPackageContents() {
+		if (isCreated) return;
+		isCreated = true;
+
+		// Create classes and their features
+		mappingConfigurationAnalysisEClass = createEClass(MAPPING_CONFIGURATION_ANALYSIS);
+		createEReference(mappingConfigurationAnalysisEClass, MAPPING_CONFIGURATION_ANALYSIS__PROHIBITED_ALLOCATIONS);
+		createEReference(mappingConfigurationAnalysisEClass, MAPPING_CONFIGURATION_ANALYSIS__FIXED_ALLOCATIONS);
+		createEAttribute(mappingConfigurationAnalysisEClass, MAPPING_CONFIGURATION_ANALYSIS__BOTTOM_UP_ANALYSIS);
+		createEReference(mappingConfigurationAnalysisEClass, MAPPING_CONFIGURATION_ANALYSIS__RESULTING_MAPPING);
+
+		schedulingAnalysisEClass = createEClass(SCHEDULING_ANALYSIS);
+		createEReference(schedulingAnalysisEClass, SCHEDULING_ANALYSIS__MAPPING);
+		createEReference(schedulingAnalysisEClass, SCHEDULING_ANALYSIS__RESULTING_PRIORITIES);
+		createEAttribute(schedulingAnalysisEClass, SCHEDULING_ANALYSIS__SCHEDULING_STRATEGY);
+
+		busConfigurationAnalysisEClass = createEClass(BUS_CONFIGURATION_ANALYSIS);
+		createEReference(busConfigurationAnalysisEClass, BUS_CONFIGURATION_ANALYSIS__RESULTING_BUS_CONFIG);
+		createEReference(busConfigurationAnalysisEClass, BUS_CONFIGURATION_ANALYSIS__RESULTING_COMM_LATENCIES);
+		createEReference(busConfigurationAnalysisEClass, BUS_CONFIGURATION_ANALYSIS__INPUT_FIBEX);
+		createEReference(busConfigurationAnalysisEClass, BUS_CONFIGURATION_ANALYSIS__HW_BUS_PLATFORM);
+
+		// Create enums
+		optimizationGoalEEnum = createEEnum(OPTIMIZATION_GOAL);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isInitialized = false;
+
+	/**
+	 * Complete the initialization of the package and its meta-model.  This
+	 * method is guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void initializePackageContents() {
+		if (isInitialized) return;
+		isInitialized = true;
+
+		// Initialize package
+		setName(eNAME);
+		setNsPrefix(eNS_PREFIX);
+		setNsURI(eNS_URI);
+
+		// Obtain other dependent packages
+		GQAMPackage theGQAMPackage = (GQAMPackage)EPackage.Registry.INSTANCE.getEPackage(GQAMPackage.eNS_URI);
+		AllocPackage theAllocPackage = (AllocPackage)EPackage.Registry.INSTANCE.getEPackage(AllocPackage.eNS_URI);
+		TypesPackage theTypesPackage = (TypesPackage)EPackage.Registry.INSTANCE.getEPackage(TypesPackage.eNS_URI);
+		RTComponentModelPackage theRTComponentModelPackage = (RTComponentModelPackage)EPackage.Registry.INSTANCE.getEPackage(RTComponentModelPackage.eNS_URI);
+		FMEAPackage theFMEAPackage = (FMEAPackage)EPackage.Registry.INSTANCE.getEPackage(FMEAPackage.eNS_URI);
+		SAMPackage theSAMPackage = (SAMPackage)EPackage.Registry.INSTANCE.getEPackage(SAMPackage.eNS_URI);
+		HwCommunicationPackage theHwCommunicationPackage = (HwCommunicationPackage)EPackage.Registry.INSTANCE.getEPackage(HwCommunicationPackage.eNS_URI);
+
+		// Create type parameters
+
+		// Set bounds for type parameters
+
+		// Add supertypes to classes
+		mappingConfigurationAnalysisEClass.getESuperTypes().add(theGQAMPackage.getGaAnalysisContext());
+		schedulingAnalysisEClass.getESuperTypes().add(theGQAMPackage.getGaAnalysisContext());
+		busConfigurationAnalysisEClass.getESuperTypes().add(theGQAMPackage.getGaAnalysisContext());
+
+		// Initialize classes and features; add operations and parameters
+		initEClass(mappingConfigurationAnalysisEClass, MappingConfigurationAnalysis.class, "MappingConfigurationAnalysis", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getMappingConfigurationAnalysis_ProhibitedAllocations(), theAllocPackage.getAssign(), null, "prohibitedAllocations", null, 0, -1, MappingConfigurationAnalysis.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEReference(getMappingConfigurationAnalysis_FixedAllocations(), theAllocPackage.getAssign(), null, "fixedAllocations", null, 0, -1, MappingConfigurationAnalysis.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getMappingConfigurationAnalysis_BottomUpAnalysis(), theTypesPackage.getBoolean(), "bottomUpAnalysis", null, 1, 1, MappingConfigurationAnalysis.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEReference(getMappingConfigurationAnalysis_ResultingMapping(), theAllocPackage.getAssign(), null, "resultingMapping", null, 1, -1, MappingConfigurationAnalysis.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+		initEClass(schedulingAnalysisEClass, SchedulingAnalysis.class, "SchedulingAnalysis", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getSchedulingAnalysis_Mapping(), theAllocPackage.getAssign(), null, "mapping", null, 0, -1, SchedulingAnalysis.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEReference(getSchedulingAnalysis_ResultingPriorities(), theRTComponentModelPackage.getCHRtSpecification(), null, "resultingPriorities", null, 1, -1, SchedulingAnalysis.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getSchedulingAnalysis_SchedulingStrategy(), theTypesPackage.getString(), "schedulingStrategy", null, 0, -1, SchedulingAnalysis.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+		initEClass(busConfigurationAnalysisEClass, BusConfigurationAnalysis.class, "BusConfigurationAnalysis", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getBusConfigurationAnalysis_ResultingBusConfig(), theFMEAPackage.getFIBEX(), null, "resultingBusConfig", null, 1, 1, BusConfigurationAnalysis.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEReference(getBusConfigurationAnalysis_ResultingCommLatencies(), theSAMPackage.getSaStep(), null, "resultingCommLatencies", null, 0, -1, BusConfigurationAnalysis.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEReference(getBusConfigurationAnalysis_InputFibex(), theFMEAPackage.getFIBEX(), null, "inputFibex", null, 0, -1, BusConfigurationAnalysis.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEReference(getBusConfigurationAnalysis_HwBusPlatform(), theHwCommunicationPackage.getHwBus(), null, "hwBusPlatform", null, 0, -1, BusConfigurationAnalysis.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+		// Initialize enums and add enum literals
+		initEEnum(optimizationGoalEEnum, OptimizationGoal.class, "OptimizationGoal");
+		addEEnumLiteral(optimizationGoalEEnum, OptimizationGoal.AVERAGE);
+		addEEnumLiteral(optimizationGoalEEnum, OptimizationGoal.MAX_HIGH_PERF_USAGE);
+	}
+
+} //DeploymentConfAnalysisPackageImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/DeploymentConfAnalysis/impl/MappingConfigurationAnalysisImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/DeploymentConfAnalysis/impl/MappingConfigurationAnalysisImpl.java
new file mode 100644
index 000000000..25c435eae
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/DeploymentConfAnalysis/impl/MappingConfigurationAnalysisImpl.java
@@ -0,0 +1,277 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.GQAM.impl.GaAnalysisContextImpl;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.Alloc.Assign;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.DeploymentConfAnalysisPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.MappingConfigurationAnalysis;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Mapping Configuration Analysis</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.impl.MappingConfigurationAnalysisImpl#getProhibitedAllocations <em>Prohibited Allocations</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.impl.MappingConfigurationAnalysisImpl#getFixedAllocations <em>Fixed Allocations</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.impl.MappingConfigurationAnalysisImpl#isBottomUpAnalysis <em>Bottom Up Analysis</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.impl.MappingConfigurationAnalysisImpl#getResultingMapping <em>Resulting Mapping</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class MappingConfigurationAnalysisImpl extends GaAnalysisContextImpl implements MappingConfigurationAnalysis {
+	/**
+	 * The cached value of the '{@link #getProhibitedAllocations() <em>Prohibited Allocations</em>}' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getProhibitedAllocations()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<Assign> prohibitedAllocations;
+
+	/**
+	 * The cached value of the '{@link #getFixedAllocations() <em>Fixed Allocations</em>}' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getFixedAllocations()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<Assign> fixedAllocations;
+
+	/**
+	 * The default value of the '{@link #isBottomUpAnalysis() <em>Bottom Up Analysis</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #isBottomUpAnalysis()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final boolean BOTTOM_UP_ANALYSIS_EDEFAULT = false;
+
+	/**
+	 * The cached value of the '{@link #isBottomUpAnalysis() <em>Bottom Up Analysis</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #isBottomUpAnalysis()
+	 * @generated
+	 * @ordered
+	 */
+	protected boolean bottomUpAnalysis = BOTTOM_UP_ANALYSIS_EDEFAULT;
+
+	/**
+	 * The cached value of the '{@link #getResultingMapping() <em>Resulting Mapping</em>}' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getResultingMapping()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<Assign> resultingMapping;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected MappingConfigurationAnalysisImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return DeploymentConfAnalysisPackage.Literals.MAPPING_CONFIGURATION_ANALYSIS;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<Assign> getProhibitedAllocations() {
+		if (prohibitedAllocations == null) {
+			prohibitedAllocations = new EObjectResolvingEList<Assign>(Assign.class, this, DeploymentConfAnalysisPackage.MAPPING_CONFIGURATION_ANALYSIS__PROHIBITED_ALLOCATIONS);
+		}
+		return prohibitedAllocations;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<Assign> getFixedAllocations() {
+		if (fixedAllocations == null) {
+			fixedAllocations = new EObjectResolvingEList<Assign>(Assign.class, this, DeploymentConfAnalysisPackage.MAPPING_CONFIGURATION_ANALYSIS__FIXED_ALLOCATIONS);
+		}
+		return fixedAllocations;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public boolean isBottomUpAnalysis() {
+		return bottomUpAnalysis;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setBottomUpAnalysis(boolean newBottomUpAnalysis) {
+		boolean oldBottomUpAnalysis = bottomUpAnalysis;
+		bottomUpAnalysis = newBottomUpAnalysis;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, DeploymentConfAnalysisPackage.MAPPING_CONFIGURATION_ANALYSIS__BOTTOM_UP_ANALYSIS, oldBottomUpAnalysis, bottomUpAnalysis));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<Assign> getResultingMapping() {
+		if (resultingMapping == null) {
+			resultingMapping = new EObjectResolvingEList<Assign>(Assign.class, this, DeploymentConfAnalysisPackage.MAPPING_CONFIGURATION_ANALYSIS__RESULTING_MAPPING);
+		}
+		return resultingMapping;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case DeploymentConfAnalysisPackage.MAPPING_CONFIGURATION_ANALYSIS__PROHIBITED_ALLOCATIONS:
+				return getProhibitedAllocations();
+			case DeploymentConfAnalysisPackage.MAPPING_CONFIGURATION_ANALYSIS__FIXED_ALLOCATIONS:
+				return getFixedAllocations();
+			case DeploymentConfAnalysisPackage.MAPPING_CONFIGURATION_ANALYSIS__BOTTOM_UP_ANALYSIS:
+				return isBottomUpAnalysis();
+			case DeploymentConfAnalysisPackage.MAPPING_CONFIGURATION_ANALYSIS__RESULTING_MAPPING:
+				return getResultingMapping();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case DeploymentConfAnalysisPackage.MAPPING_CONFIGURATION_ANALYSIS__PROHIBITED_ALLOCATIONS:
+				getProhibitedAllocations().clear();
+				getProhibitedAllocations().addAll((Collection<? extends Assign>)newValue);
+				return;
+			case DeploymentConfAnalysisPackage.MAPPING_CONFIGURATION_ANALYSIS__FIXED_ALLOCATIONS:
+				getFixedAllocations().clear();
+				getFixedAllocations().addAll((Collection<? extends Assign>)newValue);
+				return;
+			case DeploymentConfAnalysisPackage.MAPPING_CONFIGURATION_ANALYSIS__BOTTOM_UP_ANALYSIS:
+				setBottomUpAnalysis((Boolean)newValue);
+				return;
+			case DeploymentConfAnalysisPackage.MAPPING_CONFIGURATION_ANALYSIS__RESULTING_MAPPING:
+				getResultingMapping().clear();
+				getResultingMapping().addAll((Collection<? extends Assign>)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case DeploymentConfAnalysisPackage.MAPPING_CONFIGURATION_ANALYSIS__PROHIBITED_ALLOCATIONS:
+				getProhibitedAllocations().clear();
+				return;
+			case DeploymentConfAnalysisPackage.MAPPING_CONFIGURATION_ANALYSIS__FIXED_ALLOCATIONS:
+				getFixedAllocations().clear();
+				return;
+			case DeploymentConfAnalysisPackage.MAPPING_CONFIGURATION_ANALYSIS__BOTTOM_UP_ANALYSIS:
+				setBottomUpAnalysis(BOTTOM_UP_ANALYSIS_EDEFAULT);
+				return;
+			case DeploymentConfAnalysisPackage.MAPPING_CONFIGURATION_ANALYSIS__RESULTING_MAPPING:
+				getResultingMapping().clear();
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case DeploymentConfAnalysisPackage.MAPPING_CONFIGURATION_ANALYSIS__PROHIBITED_ALLOCATIONS:
+				return prohibitedAllocations != null && !prohibitedAllocations.isEmpty();
+			case DeploymentConfAnalysisPackage.MAPPING_CONFIGURATION_ANALYSIS__FIXED_ALLOCATIONS:
+				return fixedAllocations != null && !fixedAllocations.isEmpty();
+			case DeploymentConfAnalysisPackage.MAPPING_CONFIGURATION_ANALYSIS__BOTTOM_UP_ANALYSIS:
+				return bottomUpAnalysis != BOTTOM_UP_ANALYSIS_EDEFAULT;
+			case DeploymentConfAnalysisPackage.MAPPING_CONFIGURATION_ANALYSIS__RESULTING_MAPPING:
+				return resultingMapping != null && !resultingMapping.isEmpty();
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (bottomUpAnalysis: ");
+		result.append(bottomUpAnalysis);
+		result.append(')');
+		return result.toString();
+	}
+
+} //MappingConfigurationAnalysisImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/DeploymentConfAnalysis/impl/SchedulingAnalysisImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/DeploymentConfAnalysis/impl/SchedulingAnalysisImpl.java
new file mode 100644
index 000000000..ed3e3a1dd
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/DeploymentConfAnalysis/impl/SchedulingAnalysisImpl.java
@@ -0,0 +1,225 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.util.EDataTypeUniqueEList;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.GQAM.impl.GaAnalysisContextImpl;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.Alloc.Assign;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.DeploymentConfAnalysisPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.SchedulingAnalysis;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.CHRtSpecification;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Scheduling Analysis</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.impl.SchedulingAnalysisImpl#getMapping <em>Mapping</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.impl.SchedulingAnalysisImpl#getResultingPriorities <em>Resulting Priorities</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.impl.SchedulingAnalysisImpl#getSchedulingStrategy <em>Scheduling Strategy</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class SchedulingAnalysisImpl extends GaAnalysisContextImpl implements SchedulingAnalysis {
+	/**
+	 * The cached value of the '{@link #getMapping() <em>Mapping</em>}' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getMapping()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<Assign> mapping;
+
+	/**
+	 * The cached value of the '{@link #getResultingPriorities() <em>Resulting Priorities</em>}' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getResultingPriorities()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<CHRtSpecification> resultingPriorities;
+
+	/**
+	 * The cached value of the '{@link #getSchedulingStrategy() <em>Scheduling Strategy</em>}' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getSchedulingStrategy()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<String> schedulingStrategy;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected SchedulingAnalysisImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return DeploymentConfAnalysisPackage.Literals.SCHEDULING_ANALYSIS;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<Assign> getMapping() {
+		if (mapping == null) {
+			mapping = new EObjectResolvingEList<Assign>(Assign.class, this, DeploymentConfAnalysisPackage.SCHEDULING_ANALYSIS__MAPPING);
+		}
+		return mapping;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<CHRtSpecification> getResultingPriorities() {
+		if (resultingPriorities == null) {
+			resultingPriorities = new EObjectResolvingEList<CHRtSpecification>(CHRtSpecification.class, this, DeploymentConfAnalysisPackage.SCHEDULING_ANALYSIS__RESULTING_PRIORITIES);
+		}
+		return resultingPriorities;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<String> getSchedulingStrategy() {
+		if (schedulingStrategy == null) {
+			schedulingStrategy = new EDataTypeUniqueEList<String>(String.class, this, DeploymentConfAnalysisPackage.SCHEDULING_ANALYSIS__SCHEDULING_STRATEGY);
+		}
+		return schedulingStrategy;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case DeploymentConfAnalysisPackage.SCHEDULING_ANALYSIS__MAPPING:
+				return getMapping();
+			case DeploymentConfAnalysisPackage.SCHEDULING_ANALYSIS__RESULTING_PRIORITIES:
+				return getResultingPriorities();
+			case DeploymentConfAnalysisPackage.SCHEDULING_ANALYSIS__SCHEDULING_STRATEGY:
+				return getSchedulingStrategy();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case DeploymentConfAnalysisPackage.SCHEDULING_ANALYSIS__MAPPING:
+				getMapping().clear();
+				getMapping().addAll((Collection<? extends Assign>)newValue);
+				return;
+			case DeploymentConfAnalysisPackage.SCHEDULING_ANALYSIS__RESULTING_PRIORITIES:
+				getResultingPriorities().clear();
+				getResultingPriorities().addAll((Collection<? extends CHRtSpecification>)newValue);
+				return;
+			case DeploymentConfAnalysisPackage.SCHEDULING_ANALYSIS__SCHEDULING_STRATEGY:
+				getSchedulingStrategy().clear();
+				getSchedulingStrategy().addAll((Collection<? extends String>)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case DeploymentConfAnalysisPackage.SCHEDULING_ANALYSIS__MAPPING:
+				getMapping().clear();
+				return;
+			case DeploymentConfAnalysisPackage.SCHEDULING_ANALYSIS__RESULTING_PRIORITIES:
+				getResultingPriorities().clear();
+				return;
+			case DeploymentConfAnalysisPackage.SCHEDULING_ANALYSIS__SCHEDULING_STRATEGY:
+				getSchedulingStrategy().clear();
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case DeploymentConfAnalysisPackage.SCHEDULING_ANALYSIS__MAPPING:
+				return mapping != null && !mapping.isEmpty();
+			case DeploymentConfAnalysisPackage.SCHEDULING_ANALYSIS__RESULTING_PRIORITIES:
+				return resultingPriorities != null && !resultingPriorities.isEmpty();
+			case DeploymentConfAnalysisPackage.SCHEDULING_ANALYSIS__SCHEDULING_STRATEGY:
+				return schedulingStrategy != null && !schedulingStrategy.isEmpty();
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (schedulingStrategy: ");
+		result.append(schedulingStrategy);
+		result.append(')');
+		return result.toString();
+	}
+
+} //SchedulingAnalysisImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/DeploymentConfAnalysis/util/DeploymentConfAnalysisAdapterFactory.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/DeploymentConfAnalysis/util/DeploymentConfAnalysisAdapterFactory.java
new file mode 100644
index 000000000..104e2b1e5
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/DeploymentConfAnalysis/util/DeploymentConfAnalysisAdapterFactory.java
@@ -0,0 +1,219 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.GQAM.GaAnalysisContext;
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.ExpressionContext;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.CoreElements.Configuration;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.DeploymentConfAnalysisPackage
+ * @generated
+ */
+public class DeploymentConfAnalysisAdapterFactory extends AdapterFactoryImpl {
+	/**
+	 * The cached model package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static DeploymentConfAnalysisPackage modelPackage;
+
+	/**
+	 * Creates an instance of the adapter factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public DeploymentConfAnalysisAdapterFactory() {
+		if (modelPackage == null) {
+			modelPackage = DeploymentConfAnalysisPackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Returns whether this factory is applicable for the type of the object.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+	 * <!-- end-user-doc -->
+	 * @return whether this factory is applicable for the type of the object.
+	 * @generated
+	 */
+	@Override
+	public boolean isFactoryForType(Object object) {
+		if (object == modelPackage) {
+			return true;
+		}
+		if (object instanceof EObject) {
+			return ((EObject)object).eClass().getEPackage() == modelPackage;
+		}
+		return false;
+	}
+
+	/**
+	 * The switch that delegates to the <code>createXXX</code> methods.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected DeploymentConfAnalysisSwitch<Adapter> modelSwitch =
+		new DeploymentConfAnalysisSwitch<Adapter>() {
+			@Override
+			public Adapter caseMappingConfigurationAnalysis(MappingConfigurationAnalysis object) {
+				return createMappingConfigurationAnalysisAdapter();
+			}
+			@Override
+			public Adapter caseSchedulingAnalysis(SchedulingAnalysis object) {
+				return createSchedulingAnalysisAdapter();
+			}
+			@Override
+			public Adapter caseBusConfigurationAnalysis(BusConfigurationAnalysis object) {
+				return createBusConfigurationAnalysisAdapter();
+			}
+			@Override
+			public Adapter caseConfiguration(Configuration object) {
+				return createConfigurationAdapter();
+			}
+			@Override
+			public Adapter caseExpressionContext(ExpressionContext object) {
+				return createExpressionContextAdapter();
+			}
+			@Override
+			public Adapter caseGaAnalysisContext(GaAnalysisContext object) {
+				return createGaAnalysisContextAdapter();
+			}
+			@Override
+			public Adapter defaultCase(EObject object) {
+				return createEObjectAdapter();
+			}
+		};
+
+	/**
+	 * Creates an adapter for the <code>target</code>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param target the object to adapt.
+	 * @return the adapter for the <code>target</code>.
+	 * @generated
+	 */
+	@Override
+	public Adapter createAdapter(Notifier target) {
+		return modelSwitch.doSwitch((EObject)target);
+	}
+
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.MappingConfigurationAnalysis <em>Mapping Configuration Analysis</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.MappingConfigurationAnalysis
+	 * @generated
+	 */
+	public Adapter createMappingConfigurationAnalysisAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.SchedulingAnalysis <em>Scheduling Analysis</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.SchedulingAnalysis
+	 * @generated
+	 */
+	public Adapter createSchedulingAnalysisAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.BusConfigurationAnalysis <em>Bus Configuration Analysis</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.BusConfigurationAnalysis
+	 * @generated
+	 */
+	public Adapter createBusConfigurationAnalysisAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_Foundations.CoreElements.Configuration <em>Configuration</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.papyrus.MARTE.MARTE_Foundations.CoreElements.Configuration
+	 * @generated
+	 */
+	public Adapter createConfigurationAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.ExpressionContext <em>Expression Context</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.ExpressionContext
+	 * @generated
+	 */
+	public Adapter createExpressionContextAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.GQAM.GaAnalysisContext <em>Ga Analysis Context</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.GQAM.GaAnalysisContext
+	 * @generated
+	 */
+	public Adapter createGaAnalysisContextAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for the default case.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @generated
+	 */
+	public Adapter createEObjectAdapter() {
+		return null;
+	}
+
+} //DeploymentConfAnalysisAdapterFactory
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/DeploymentConfAnalysis/util/DeploymentConfAnalysisResourceFactoryImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/DeploymentConfAnalysis/util/DeploymentConfAnalysisResourceFactoryImpl.java
new file mode 100644
index 000000000..ddee615bd
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/DeploymentConfAnalysis/util/DeploymentConfAnalysisResourceFactoryImpl.java
@@ -0,0 +1,61 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.util;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.resource.impl.ResourceFactoryImpl;
+
+import org.eclipse.emf.ecore.xmi.XMLResource;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource Factory</b> associated with the package.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.util.DeploymentConfAnalysisResourceImpl
+ * @generated
+ */
+public class DeploymentConfAnalysisResourceFactoryImpl extends ResourceFactoryImpl {
+	/**
+	 * Creates an instance of the resource factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public DeploymentConfAnalysisResourceFactoryImpl() {
+		super();
+	}
+
+	/**
+	 * Creates an instance of the resource.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Resource createResource(URI uri) {
+		XMLResource result = new DeploymentConfAnalysisResourceImpl(uri);
+		result.getDefaultSaveOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
+		result.getDefaultLoadOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
+
+		result.getDefaultSaveOptions().put(XMLResource.OPTION_SCHEMA_LOCATION, Boolean.TRUE);
+
+		result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+		result.getDefaultSaveOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+
+		result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_LEXICAL_HANDLER, Boolean.TRUE);
+		return result;
+	}
+
+} //DeploymentConfAnalysisResourceFactoryImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/DeploymentConfAnalysis/util/DeploymentConfAnalysisResourceImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/DeploymentConfAnalysis/util/DeploymentConfAnalysisResourceImpl.java
new file mode 100644
index 000000000..a19185656
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/DeploymentConfAnalysis/util/DeploymentConfAnalysisResourceImpl.java
@@ -0,0 +1,37 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.util;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource </b> associated with the package.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.util.DeploymentConfAnalysisResourceFactoryImpl
+ * @generated
+ */
+public class DeploymentConfAnalysisResourceImpl extends XMLResourceImpl {
+	/**
+	 * Creates an instance of the resource.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param uri the URI of the new resource.
+	 * @generated
+	 */
+	public DeploymentConfAnalysisResourceImpl(URI uri) {
+		super(uri);
+	}
+
+} //DeploymentConfAnalysisResourceImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/DeploymentConfAnalysis/util/DeploymentConfAnalysisSwitch.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/DeploymentConfAnalysis/util/DeploymentConfAnalysisSwitch.java
new file mode 100644
index 000000000..1bd516b0c
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/DeploymentConfAnalysis/util/DeploymentConfAnalysisSwitch.java
@@ -0,0 +1,216 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.util.Switch;
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.GQAM.GaAnalysisContext;
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.ExpressionContext;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.CoreElements.Configuration;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.DeploymentConfAnalysisPackage
+ * @generated
+ */
+public class DeploymentConfAnalysisSwitch<T> extends Switch<T> {
+	/**
+	 * The cached model package
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static DeploymentConfAnalysisPackage modelPackage;
+
+	/**
+	 * Creates an instance of the switch.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public DeploymentConfAnalysisSwitch() {
+		if (modelPackage == null) {
+			modelPackage = DeploymentConfAnalysisPackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Checks whether this is a switch for the given package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @parameter ePackage the package in question.
+	 * @return whether this is a switch for the given package.
+	 * @generated
+	 */
+	@Override
+	protected boolean isSwitchFor(EPackage ePackage) {
+		return ePackage == modelPackage;
+	}
+
+	/**
+	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the first non-null result returned by a <code>caseXXX</code> call.
+	 * @generated
+	 */
+	@Override
+	protected T doSwitch(int classifierID, EObject theEObject) {
+		switch (classifierID) {
+			case DeploymentConfAnalysisPackage.MAPPING_CONFIGURATION_ANALYSIS: {
+				MappingConfigurationAnalysis mappingConfigurationAnalysis = (MappingConfigurationAnalysis)theEObject;
+				T result = caseMappingConfigurationAnalysis(mappingConfigurationAnalysis);
+				if (result == null) result = caseGaAnalysisContext(mappingConfigurationAnalysis);
+				if (result == null) result = caseConfiguration(mappingConfigurationAnalysis);
+				if (result == null) result = caseExpressionContext(mappingConfigurationAnalysis);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case DeploymentConfAnalysisPackage.SCHEDULING_ANALYSIS: {
+				SchedulingAnalysis schedulingAnalysis = (SchedulingAnalysis)theEObject;
+				T result = caseSchedulingAnalysis(schedulingAnalysis);
+				if (result == null) result = caseGaAnalysisContext(schedulingAnalysis);
+				if (result == null) result = caseConfiguration(schedulingAnalysis);
+				if (result == null) result = caseExpressionContext(schedulingAnalysis);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case DeploymentConfAnalysisPackage.BUS_CONFIGURATION_ANALYSIS: {
+				BusConfigurationAnalysis busConfigurationAnalysis = (BusConfigurationAnalysis)theEObject;
+				T result = caseBusConfigurationAnalysis(busConfigurationAnalysis);
+				if (result == null) result = caseGaAnalysisContext(busConfigurationAnalysis);
+				if (result == null) result = caseConfiguration(busConfigurationAnalysis);
+				if (result == null) result = caseExpressionContext(busConfigurationAnalysis);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			default: return defaultCase(theEObject);
+		}
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Mapping Configuration Analysis</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Mapping Configuration Analysis</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseMappingConfigurationAnalysis(MappingConfigurationAnalysis object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Scheduling Analysis</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Scheduling Analysis</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseSchedulingAnalysis(SchedulingAnalysis object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Bus Configuration Analysis</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Bus Configuration Analysis</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseBusConfigurationAnalysis(BusConfigurationAnalysis object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Configuration</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Configuration</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseConfiguration(Configuration object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Expression Context</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Expression Context</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseExpressionContext(ExpressionContext object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Ga Analysis Context</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Ga Analysis Context</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseGaAnalysisContext(GaAnalysisContext object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch, but this is the last case anyway.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+	 * @generated
+	 */
+	@Override
+	public T defaultCase(EObject object) {
+		return null;
+	}
+
+} //DeploymentConfAnalysisSwitch
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/DeploymentConfAnalysis/util/DeploymentConfAnalysisXMLProcessor.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/DeploymentConfAnalysis/util/DeploymentConfAnalysisXMLProcessor.java
new file mode 100644
index 000000000..374fb21a5
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/DeploymentConfAnalysis/util/DeploymentConfAnalysisXMLProcessor.java
@@ -0,0 +1,56 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.util;
+
+import java.util.Map;
+
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.xmi.util.XMLProcessor;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.DeploymentConfAnalysisPackage;
+
+/**
+ * This class contains helper methods to serialize and deserialize XML documents
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class DeploymentConfAnalysisXMLProcessor extends XMLProcessor {
+
+	/**
+	 * Public constructor to instantiate the helper.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public DeploymentConfAnalysisXMLProcessor() {
+		super((EPackage.Registry.INSTANCE));
+		DeploymentConfAnalysisPackage.eINSTANCE.eClass();
+	}
+	
+	/**
+	 * Register for "*" and "xml" file extensions the DeploymentConfAnalysisResourceFactoryImpl factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected Map<String, Resource.Factory> getRegistrations() {
+		if (registrations == null) {
+			super.getRegistrations();
+			registrations.put(XML_EXTENSION, new DeploymentConfAnalysisResourceFactoryImpl());
+			registrations.put(STAR_EXTENSION, new DeploymentConfAnalysisResourceFactoryImpl());
+		}
+		return registrations;
+	}
+
+} //DeploymentConfAnalysisXMLProcessor
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/BasicDataType.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/BasicDataType.java
new file mode 100644
index 000000000..8aa5965a7
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/BasicDataType.java
@@ -0,0 +1,271 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Basic Data Type</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HardwareBaselinePackage#getBasicDataType()
+ * @model
+ * @generated
+ */
+public enum BasicDataType implements Enumerator {
+	/**
+	 * The '<em><b>Signed</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #SIGNED_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	SIGNED(0, "Signed", "Signed"),
+
+	/**
+	 * The '<em><b>Integer</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #INTEGER_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	INTEGER(1, "Integer", "Integer"),
+
+	/**
+	 * The '<em><b>Fixed Point</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #FIXED_POINT_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	FIXED_POINT(2, "Fixed_Point", "Fixed_Point"),
+
+	/**
+	 * The '<em><b>Float</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #FLOAT_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	FLOAT(3, "Float", "Float");
+
+	/**
+	 * The '<em><b>Signed</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>Signed</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #SIGNED
+	 * @model name="Signed"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int SIGNED_VALUE = 0;
+
+	/**
+	 * The '<em><b>Integer</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>Integer</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #INTEGER
+	 * @model name="Integer"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int INTEGER_VALUE = 1;
+
+	/**
+	 * The '<em><b>Fixed Point</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>Fixed Point</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #FIXED_POINT
+	 * @model name="Fixed_Point"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int FIXED_POINT_VALUE = 2;
+
+	/**
+	 * The '<em><b>Float</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>Float</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #FLOAT
+	 * @model name="Float"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int FLOAT_VALUE = 3;
+
+	/**
+	 * An array of all the '<em><b>Basic Data Type</b></em>' enumerators.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static final BasicDataType[] VALUES_ARRAY =
+		new BasicDataType[] {
+			SIGNED,
+			INTEGER,
+			FIXED_POINT,
+			FLOAT,
+		};
+
+	/**
+	 * A public read-only list of all the '<em><b>Basic Data Type</b></em>' enumerators.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final List<BasicDataType> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+	/**
+	 * Returns the '<em><b>Basic Data Type</b></em>' literal with the specified literal value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static BasicDataType get(String literal) {
+		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+			BasicDataType result = VALUES_ARRAY[i];
+			if (result.toString().equals(literal)) {
+				return result;
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Returns the '<em><b>Basic Data Type</b></em>' literal with the specified name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static BasicDataType getByName(String name) {
+		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+			BasicDataType result = VALUES_ARRAY[i];
+			if (result.getName().equals(name)) {
+				return result;
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Returns the '<em><b>Basic Data Type</b></em>' literal with the specified integer value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static BasicDataType get(int value) {
+		switch (value) {
+			case SIGNED_VALUE: return SIGNED;
+			case INTEGER_VALUE: return INTEGER;
+			case FIXED_POINT_VALUE: return FIXED_POINT;
+			case FLOAT_VALUE: return FLOAT;
+		}
+		return null;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final int value;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final String name;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final String literal;
+
+	/**
+	 * Only this class can construct instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private BasicDataType(int value, String name, String literal) {
+		this.value = value;
+		this.name = name;
+		this.literal = literal;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public int getValue() {
+	  return value;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getName() {
+	  return name;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getLiteral() {
+	  return literal;
+	}
+
+	/**
+	 * Returns the literal value of the enumerator, which is its string representation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		return literal;
+	}
+	
+} //BasicDataType
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/BasicOperation.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/BasicOperation.java
new file mode 100644
index 000000000..a3e54966d
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/BasicOperation.java
@@ -0,0 +1,298 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Basic Operation</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HardwareBaselinePackage#getBasicOperation()
+ * @model
+ * @generated
+ */
+public enum BasicOperation implements Enumerator {
+	/**
+	 * The '<em><b>Add</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #ADD_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	ADD(0, "add", "add"),
+
+	/**
+	 * The '<em><b>Mul</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #MUL_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	MUL(1, "mul", "mul"),
+
+	/**
+	 * The '<em><b>Div</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #DIV_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	DIV(2, "div", "div"),
+
+	/**
+	 * The '<em><b>Mod</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #MOD_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	MOD(3, "mod", "mod"),
+
+	/**
+	 * The '<em><b>Shift</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #SHIFT_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	SHIFT(4, "shift", "shift");
+
+	/**
+	 * The '<em><b>Add</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>Add</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #ADD
+	 * @model name="add"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int ADD_VALUE = 0;
+
+	/**
+	 * The '<em><b>Mul</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>Mul</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #MUL
+	 * @model name="mul"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int MUL_VALUE = 1;
+
+	/**
+	 * The '<em><b>Div</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>Div</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #DIV
+	 * @model name="div"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int DIV_VALUE = 2;
+
+	/**
+	 * The '<em><b>Mod</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>Mod</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #MOD
+	 * @model name="mod"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int MOD_VALUE = 3;
+
+	/**
+	 * The '<em><b>Shift</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>Shift</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #SHIFT
+	 * @model name="shift"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int SHIFT_VALUE = 4;
+
+	/**
+	 * An array of all the '<em><b>Basic Operation</b></em>' enumerators.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static final BasicOperation[] VALUES_ARRAY =
+		new BasicOperation[] {
+			ADD,
+			MUL,
+			DIV,
+			MOD,
+			SHIFT,
+		};
+
+	/**
+	 * A public read-only list of all the '<em><b>Basic Operation</b></em>' enumerators.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final List<BasicOperation> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+	/**
+	 * Returns the '<em><b>Basic Operation</b></em>' literal with the specified literal value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static BasicOperation get(String literal) {
+		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+			BasicOperation result = VALUES_ARRAY[i];
+			if (result.toString().equals(literal)) {
+				return result;
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Returns the '<em><b>Basic Operation</b></em>' literal with the specified name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static BasicOperation getByName(String name) {
+		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+			BasicOperation result = VALUES_ARRAY[i];
+			if (result.getName().equals(name)) {
+				return result;
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Returns the '<em><b>Basic Operation</b></em>' literal with the specified integer value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static BasicOperation get(int value) {
+		switch (value) {
+			case ADD_VALUE: return ADD;
+			case MUL_VALUE: return MUL;
+			case DIV_VALUE: return DIV;
+			case MOD_VALUE: return MOD;
+			case SHIFT_VALUE: return SHIFT;
+		}
+		return null;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final int value;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final String name;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final String literal;
+
+	/**
+	 * Only this class can construct instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private BasicOperation(int value, String name, String literal) {
+		this.value = value;
+		this.name = name;
+		this.literal = literal;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public int getValue() {
+	  return value;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getName() {
+	  return name;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getLiteral() {
+	  return literal;
+	}
+
+	/**
+	 * Returns the literal value of the enumerator, which is its string representation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		return literal;
+	}
+	
+} //BasicOperation
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/BooleanSWDataType.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/BooleanSWDataType.java
new file mode 100644
index 000000000..3536894ab
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/BooleanSWDataType.java
@@ -0,0 +1,26 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Boolean SW Data Type</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HardwareBaselinePackage#getBooleanSWDataType()
+ * @model
+ * @generated
+ */
+public interface BooleanSWDataType extends SWDataType {
+} // BooleanSWDataType
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/CHControlFlow.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/CHControlFlow.java
new file mode 100644
index 000000000..ce9b89965
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/CHControlFlow.java
@@ -0,0 +1,161 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.uml2.uml.ControlFlow;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>CH Control Flow</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.CHControlFlow#getBase_ControlFlow <em>Base Control Flow</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.CHControlFlow#getRep <em>Rep</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.CHControlFlow#getProb <em>Prob</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.CHControlFlow#getOrder <em>Order</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.CHControlFlow#getCompComplex <em>Comp Complex</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HardwareBaselinePackage#getCHControlFlow()
+ * @model
+ * @generated
+ */
+public interface CHControlFlow extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Base Control Flow</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Control Flow</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Base Control Flow</em>' reference.
+	 * @see #setBase_ControlFlow(ControlFlow)
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HardwareBaselinePackage#getCHControlFlow_Base_ControlFlow()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	ControlFlow getBase_ControlFlow();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.CHControlFlow#getBase_ControlFlow <em>Base Control Flow</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Base Control Flow</em>' reference.
+	 * @see #getBase_ControlFlow()
+	 * @generated
+	 */
+	void setBase_ControlFlow(ControlFlow value);
+
+	/**
+	 * Returns the value of the '<em><b>Rep</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Rep</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Rep</em>' attribute.
+	 * @see #setRep(String)
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HardwareBaselinePackage#getCHControlFlow_Rep()
+	 * @model dataType="org.eclipse.papyrus.MARTE_Library.MARTE_PrimitivesTypes.Real" ordered="false"
+	 * @generated
+	 */
+	String getRep();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.CHControlFlow#getRep <em>Rep</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Rep</em>' attribute.
+	 * @see #getRep()
+	 * @generated
+	 */
+	void setRep(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Prob</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Prob</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Prob</em>' attribute.
+	 * @see #setProb(String)
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HardwareBaselinePackage#getCHControlFlow_Prob()
+	 * @model dataType="org.eclipse.papyrus.MARTE_Library.MARTE_PrimitivesTypes.Real" ordered="false"
+	 * @generated
+	 */
+	String getProb();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.CHControlFlow#getProb <em>Prob</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Prob</em>' attribute.
+	 * @see #getProb()
+	 * @generated
+	 */
+	void setProb(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Order</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Order</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Order</em>' attribute.
+	 * @see #setOrder(String)
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HardwareBaselinePackage#getCHControlFlow_Order()
+	 * @model dataType="org.eclipse.papyrus.MARTE_Library.MARTE_PrimitivesTypes.Real" ordered="false"
+	 * @generated
+	 */
+	String getOrder();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.CHControlFlow#getOrder <em>Order</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Order</em>' attribute.
+	 * @see #getOrder()
+	 * @generated
+	 */
+	void setOrder(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Comp Complex</b></em>' reference list.
+	 * The list contents are of type {@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.ComputeComplexity}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Comp Complex</em>' reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Comp Complex</em>' reference list.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HardwareBaselinePackage#getCHControlFlow_CompComplex()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	EList<ComputeComplexity> getCompComplex();
+
+} // CHControlFlow
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/CH_HwBus.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/CH_HwBus.java
new file mode 100644
index 000000000..b9896aa76
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/CH_HwBus.java
@@ -0,0 +1,59 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwBus;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>CH Hw Bus</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.CH_HwBus#getUtilization <em>Utilization</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HardwareBaselinePackage#getCH_HwBus()
+ * @model
+ * @generated
+ */
+public interface CH_HwBus extends HwBus {
+	/**
+	 * Returns the value of the '<em><b>Utilization</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Utilization</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Utilization</em>' attribute.
+	 * @see #setUtilization(String)
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HardwareBaselinePackage#getCH_HwBus_Utilization()
+	 * @model dataType="org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.NFP_Real" ordered="false"
+	 * @generated
+	 */
+	String getUtilization();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.CH_HwBus#getUtilization <em>Utilization</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Utilization</em>' attribute.
+	 * @see #getUtilization()
+	 * @generated
+	 */
+	void setUtilization(String value);
+
+} // CH_HwBus
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/CH_HwComputingResource.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/CH_HwComputingResource.java
new file mode 100644
index 000000000..88bb49b42
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/CH_HwComputingResource.java
@@ -0,0 +1,59 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwComputingResource;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>CH Hw Computing Resource</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.CH_HwComputingResource#getUtilization <em>Utilization</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HardwareBaselinePackage#getCH_HwComputingResource()
+ * @model
+ * @generated
+ */
+public interface CH_HwComputingResource extends HwComputingResource {
+	/**
+	 * Returns the value of the '<em><b>Utilization</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Utilization</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Utilization</em>' attribute.
+	 * @see #setUtilization(String)
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HardwareBaselinePackage#getCH_HwComputingResource_Utilization()
+	 * @model dataType="org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.NFP_Real" ordered="false"
+	 * @generated
+	 */
+	String getUtilization();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.CH_HwComputingResource#getUtilization <em>Utilization</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Utilization</em>' attribute.
+	 * @see #getUtilization()
+	 * @generated
+	 */
+	void setUtilization(String value);
+
+} // CH_HwComputingResource
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/CH_HwProcessor.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/CH_HwProcessor.java
new file mode 100644
index 000000000..e9064e178
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/CH_HwProcessor.java
@@ -0,0 +1,78 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwProcessor;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>CH Hw Processor</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.CH_HwProcessor#getDataType <em>Data Type</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.CH_HwProcessor#getUtilization <em>Utilization</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HardwareBaselinePackage#getCH_HwProcessor()
+ * @model
+ * @generated
+ */
+public interface CH_HwProcessor extends HwProcessor {
+	/**
+	 * Returns the value of the '<em><b>Data Type</b></em>' reference list.
+	 * The list contents are of type {@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HWDataType}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Data Type</em>' reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Data Type</em>' reference list.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HardwareBaselinePackage#getCH_HwProcessor_DataType()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	EList<HWDataType> getDataType();
+
+	/**
+	 * Returns the value of the '<em><b>Utilization</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Utilization</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Utilization</em>' attribute.
+	 * @see #setUtilization(String)
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HardwareBaselinePackage#getCH_HwProcessor_Utilization()
+	 * @model dataType="org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.NFP_Real" ordered="false"
+	 * @generated
+	 */
+	String getUtilization();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.CH_HwProcessor#getUtilization <em>Utilization</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Utilization</em>' attribute.
+	 * @see #getUtilization()
+	 * @generated
+	 */
+	void setUtilization(String value);
+
+} // CH_HwProcessor
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/CharSWDataType.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/CharSWDataType.java
new file mode 100644
index 000000000..8c48abaa1
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/CharSWDataType.java
@@ -0,0 +1,58 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Char SW Data Type</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.CharSWDataType#isSigned <em>Signed</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HardwareBaselinePackage#getCharSWDataType()
+ * @model
+ * @generated
+ */
+public interface CharSWDataType extends SWDataType {
+	/**
+	 * Returns the value of the '<em><b>Signed</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Signed</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Signed</em>' attribute.
+	 * @see #setSigned(boolean)
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HardwareBaselinePackage#getCharSWDataType_Signed()
+	 * @model dataType="org.eclipse.uml2.types.Boolean" required="true" ordered="false"
+	 * @generated
+	 */
+	boolean isSigned();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.CharSWDataType#isSigned <em>Signed</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Signed</em>' attribute.
+	 * @see #isSigned()
+	 * @generated
+	 */
+	void setSigned(boolean value);
+
+} // CharSWDataType
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/ComputeComplexity.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/ComputeComplexity.java
new file mode 100644
index 000000000..acbdbc7cc
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/ComputeComplexity.java
@@ -0,0 +1,105 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Compute Complexity</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.ComputeComplexity#getSwDataType <em>Sw Data Type</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.ComputeComplexity#getOpCount <em>Op Count</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.ComputeComplexity#getBase_Class <em>Base Class</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HardwareBaselinePackage#getComputeComplexity()
+ * @model
+ * @generated
+ */
+public interface ComputeComplexity extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Sw Data Type</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Sw Data Type</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Sw Data Type</em>' reference.
+	 * @see #setSwDataType(SWDataType)
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HardwareBaselinePackage#getComputeComplexity_SwDataType()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	SWDataType getSwDataType();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.ComputeComplexity#getSwDataType <em>Sw Data Type</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Sw Data Type</em>' reference.
+	 * @see #getSwDataType()
+	 * @generated
+	 */
+	void setSwDataType(SWDataType value);
+
+	/**
+	 * Returns the value of the '<em><b>Op Count</b></em>' reference list.
+	 * The list contents are of type {@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.OperationCount}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Op Count</em>' reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Op Count</em>' reference list.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HardwareBaselinePackage#getComputeComplexity_OpCount()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	EList<OperationCount> getOpCount();
+
+	/**
+	 * Returns the value of the '<em><b>Base Class</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Class</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Base Class</em>' reference.
+	 * @see #setBase_Class(org.eclipse.uml2.uml.Class)
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HardwareBaselinePackage#getComputeComplexity_Base_Class()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	org.eclipse.uml2.uml.Class getBase_Class();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.ComputeComplexity#getBase_Class <em>Base Class</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Base Class</em>' reference.
+	 * @see #getBase_Class()
+	 * @generated
+	 */
+	void setBase_Class(org.eclipse.uml2.uml.Class value);
+
+} // ComputeComplexity
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/DataTypeAssign.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/DataTypeAssign.java
new file mode 100644
index 000000000..b01da7ab7
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/DataTypeAssign.java
@@ -0,0 +1,97 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.uml2.uml.Comment;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Data Type Assign</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.DataTypeAssign#getBase_Comment <em>Base Comment</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.DataTypeAssign#getFrom <em>From</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.DataTypeAssign#getTo <em>To</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HardwareBaselinePackage#getDataTypeAssign()
+ * @model
+ * @generated
+ */
+public interface DataTypeAssign extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Base Comment</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Comment</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Base Comment</em>' reference.
+	 * @see #setBase_Comment(Comment)
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HardwareBaselinePackage#getDataTypeAssign_Base_Comment()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	Comment getBase_Comment();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.DataTypeAssign#getBase_Comment <em>Base Comment</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Base Comment</em>' reference.
+	 * @see #getBase_Comment()
+	 * @generated
+	 */
+	void setBase_Comment(Comment value);
+
+	/**
+	 * Returns the value of the '<em><b>From</b></em>' reference list.
+	 * The list contents are of type {@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.SWDataType}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>From</em>' reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>From</em>' reference list.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HardwareBaselinePackage#getDataTypeAssign_From()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	EList<SWDataType> getFrom();
+
+	/**
+	 * Returns the value of the '<em><b>To</b></em>' reference list.
+	 * The list contents are of type {@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HWDataType}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>To</em>' reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>To</em>' reference list.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HardwareBaselinePackage#getDataTypeAssign_To()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	EList<HWDataType> getTo();
+
+} // DataTypeAssign
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/DataTypeExecution.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/DataTypeExecution.java
new file mode 100644
index 000000000..fe94a9ff2
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/DataTypeExecution.java
@@ -0,0 +1,116 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Data Type Execution</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.DataTypeExecution#getBase_Class <em>Base Class</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.DataTypeExecution#getOperation <em>Operation</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.DataTypeExecution#getExecutionCycles <em>Execution Cycles</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HardwareBaselinePackage#getDataTypeExecution()
+ * @model
+ * @generated
+ */
+public interface DataTypeExecution extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Base Class</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Class</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Base Class</em>' reference.
+	 * @see #setBase_Class(org.eclipse.uml2.uml.Class)
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HardwareBaselinePackage#getDataTypeExecution_Base_Class()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	org.eclipse.uml2.uml.Class getBase_Class();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.DataTypeExecution#getBase_Class <em>Base Class</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Base Class</em>' reference.
+	 * @see #getBase_Class()
+	 * @generated
+	 */
+	void setBase_Class(org.eclipse.uml2.uml.Class value);
+
+	/**
+	 * Returns the value of the '<em><b>Operation</b></em>' attribute.
+	 * The literals are from the enumeration {@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.BasicOperation}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Operation</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Operation</em>' attribute.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.BasicOperation
+	 * @see #setOperation(BasicOperation)
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HardwareBaselinePackage#getDataTypeExecution_Operation()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	BasicOperation getOperation();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.DataTypeExecution#getOperation <em>Operation</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Operation</em>' attribute.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.BasicOperation
+	 * @see #getOperation()
+	 * @generated
+	 */
+	void setOperation(BasicOperation value);
+
+	/**
+	 * Returns the value of the '<em><b>Execution Cycles</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Execution Cycles</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Execution Cycles</em>' attribute.
+	 * @see #setExecutionCycles(int)
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HardwareBaselinePackage#getDataTypeExecution_ExecutionCycles()
+	 * @model dataType="org.eclipse.uml2.types.Integer" required="true" ordered="false"
+	 * @generated
+	 */
+	int getExecutionCycles();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.DataTypeExecution#getExecutionCycles <em>Execution Cycles</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Execution Cycles</em>' attribute.
+	 * @see #getExecutionCycles()
+	 * @generated
+	 */
+	void setExecutionCycles(int value);
+
+} // DataTypeExecution
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/FixedSWDataType.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/FixedSWDataType.java
new file mode 100644
index 000000000..9ded23785
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/FixedSWDataType.java
@@ -0,0 +1,58 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Fixed SW Data Type</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.FixedSWDataType#isSigned <em>Signed</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HardwareBaselinePackage#getFixedSWDataType()
+ * @model
+ * @generated
+ */
+public interface FixedSWDataType extends SWDataType {
+	/**
+	 * Returns the value of the '<em><b>Signed</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Signed</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Signed</em>' attribute.
+	 * @see #setSigned(boolean)
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HardwareBaselinePackage#getFixedSWDataType_Signed()
+	 * @model dataType="org.eclipse.uml2.types.Boolean" required="true" ordered="false"
+	 * @generated
+	 */
+	boolean isSigned();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.FixedSWDataType#isSigned <em>Signed</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Signed</em>' attribute.
+	 * @see #isSigned()
+	 * @generated
+	 */
+	void setSigned(boolean value);
+
+} // FixedSWDataType
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/FloatSWDataType.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/FloatSWDataType.java
new file mode 100644
index 000000000..35cb35a41
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/FloatSWDataType.java
@@ -0,0 +1,58 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Float SW Data Type</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.FloatSWDataType#isSigned <em>Signed</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HardwareBaselinePackage#getFloatSWDataType()
+ * @model
+ * @generated
+ */
+public interface FloatSWDataType extends SWDataType {
+	/**
+	 * Returns the value of the '<em><b>Signed</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Signed</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Signed</em>' attribute.
+	 * @see #setSigned(boolean)
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HardwareBaselinePackage#getFloatSWDataType_Signed()
+	 * @model dataType="org.eclipse.uml2.types.Boolean" required="true" ordered="false"
+	 * @generated
+	 */
+	boolean isSigned();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.FloatSWDataType#isSigned <em>Signed</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Signed</em>' attribute.
+	 * @see #isSigned()
+	 * @generated
+	 */
+	void setSigned(boolean value);
+
+} // FloatSWDataType
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/HWDataType.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/HWDataType.java
new file mode 100644
index 000000000..a7da5ee4d
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/HWDataType.java
@@ -0,0 +1,188 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.uml2.uml.DataType;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>HW Data Type</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HWDataType#getBase_DataType <em>Base Data Type</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HWDataType#getBitLength <em>Bit Length</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HWDataType#isSigned <em>Signed</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HWDataType#isFixedPoint <em>Fixed Point</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HWDataType#isFloat <em>Float</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HWDataType#getExecution <em>Execution</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HardwareBaselinePackage#getHWDataType()
+ * @model
+ * @generated
+ */
+public interface HWDataType extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Base Data Type</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Data Type</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Base Data Type</em>' reference.
+	 * @see #setBase_DataType(DataType)
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HardwareBaselinePackage#getHWDataType_Base_DataType()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	DataType getBase_DataType();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HWDataType#getBase_DataType <em>Base Data Type</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Base Data Type</em>' reference.
+	 * @see #getBase_DataType()
+	 * @generated
+	 */
+	void setBase_DataType(DataType value);
+
+	/**
+	 * Returns the value of the '<em><b>Bit Length</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Bit Length</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Bit Length</em>' attribute.
+	 * @see #setBitLength(int)
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HardwareBaselinePackage#getHWDataType_BitLength()
+	 * @model dataType="org.eclipse.uml2.types.Integer" required="true" ordered="false"
+	 * @generated
+	 */
+	int getBitLength();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HWDataType#getBitLength <em>Bit Length</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Bit Length</em>' attribute.
+	 * @see #getBitLength()
+	 * @generated
+	 */
+	void setBitLength(int value);
+
+	/**
+	 * Returns the value of the '<em><b>Signed</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Signed</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Signed</em>' attribute.
+	 * @see #setSigned(boolean)
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HardwareBaselinePackage#getHWDataType_Signed()
+	 * @model dataType="org.eclipse.uml2.types.Boolean" required="true" ordered="false"
+	 * @generated
+	 */
+	boolean isSigned();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HWDataType#isSigned <em>Signed</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Signed</em>' attribute.
+	 * @see #isSigned()
+	 * @generated
+	 */
+	void setSigned(boolean value);
+
+	/**
+	 * Returns the value of the '<em><b>Fixed Point</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Fixed Point</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Fixed Point</em>' attribute.
+	 * @see #setFixedPoint(boolean)
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HardwareBaselinePackage#getHWDataType_FixedPoint()
+	 * @model dataType="org.eclipse.uml2.types.Boolean" required="true" ordered="false"
+	 * @generated
+	 */
+	boolean isFixedPoint();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HWDataType#isFixedPoint <em>Fixed Point</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Fixed Point</em>' attribute.
+	 * @see #isFixedPoint()
+	 * @generated
+	 */
+	void setFixedPoint(boolean value);
+
+	/**
+	 * Returns the value of the '<em><b>Float</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Float</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Float</em>' attribute.
+	 * @see #setFloat(boolean)
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HardwareBaselinePackage#getHWDataType_Float()
+	 * @model dataType="org.eclipse.uml2.types.Boolean" required="true" ordered="false"
+	 * @generated
+	 */
+	boolean isFloat();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HWDataType#isFloat <em>Float</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Float</em>' attribute.
+	 * @see #isFloat()
+	 * @generated
+	 */
+	void setFloat(boolean value);
+
+	/**
+	 * Returns the value of the '<em><b>Execution</b></em>' reference list.
+	 * The list contents are of type {@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.DataTypeExecution}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Execution</em>' reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Execution</em>' reference list.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HardwareBaselinePackage#getHWDataType_Execution()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	EList<DataTypeExecution> getExecution();
+
+} // HWDataType
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/HardwareBaselineFactory.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/HardwareBaselineFactory.java
new file mode 100644
index 000000000..a005d222d
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/HardwareBaselineFactory.java
@@ -0,0 +1,168 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HardwareBaselinePackage
+ * @generated
+ */
+public interface HardwareBaselineFactory extends EFactory {
+	/**
+	 * The singleton instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	HardwareBaselineFactory eINSTANCE = org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.HardwareBaselineFactoryImpl.init();
+
+	/**
+	 * Returns a new object of class '<em>CH Hw Processor</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>CH Hw Processor</em>'.
+	 * @generated
+	 */
+	CH_HwProcessor createCH_HwProcessor();
+
+	/**
+	 * Returns a new object of class '<em>HW Data Type</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>HW Data Type</em>'.
+	 * @generated
+	 */
+	HWDataType createHWDataType();
+
+	/**
+	 * Returns a new object of class '<em>Data Type Execution</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Data Type Execution</em>'.
+	 * @generated
+	 */
+	DataTypeExecution createDataTypeExecution();
+
+	/**
+	 * Returns a new object of class '<em>Compute Complexity</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Compute Complexity</em>'.
+	 * @generated
+	 */
+	ComputeComplexity createComputeComplexity();
+
+	/**
+	 * Returns a new object of class '<em>Operation Count</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Operation Count</em>'.
+	 * @generated
+	 */
+	OperationCount createOperationCount();
+
+	/**
+	 * Returns a new object of class '<em>CH Control Flow</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>CH Control Flow</em>'.
+	 * @generated
+	 */
+	CHControlFlow createCHControlFlow();
+
+	/**
+	 * Returns a new object of class '<em>Float SW Data Type</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Float SW Data Type</em>'.
+	 * @generated
+	 */
+	FloatSWDataType createFloatSWDataType();
+
+	/**
+	 * Returns a new object of class '<em>Fixed SW Data Type</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Fixed SW Data Type</em>'.
+	 * @generated
+	 */
+	FixedSWDataType createFixedSWDataType();
+
+	/**
+	 * Returns a new object of class '<em>Integer SW Data Type</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Integer SW Data Type</em>'.
+	 * @generated
+	 */
+	IntegerSWDataType createIntegerSWDataType();
+
+	/**
+	 * Returns a new object of class '<em>Char SW Data Type</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Char SW Data Type</em>'.
+	 * @generated
+	 */
+	CharSWDataType createCharSWDataType();
+
+	/**
+	 * Returns a new object of class '<em>Boolean SW Data Type</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Boolean SW Data Type</em>'.
+	 * @generated
+	 */
+	BooleanSWDataType createBooleanSWDataType();
+
+	/**
+	 * Returns a new object of class '<em>CH Hw Bus</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>CH Hw Bus</em>'.
+	 * @generated
+	 */
+	CH_HwBus createCH_HwBus();
+
+	/**
+	 * Returns a new object of class '<em>CH Hw Computing Resource</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>CH Hw Computing Resource</em>'.
+	 * @generated
+	 */
+	CH_HwComputingResource createCH_HwComputingResource();
+
+	/**
+	 * Returns a new object of class '<em>Data Type Assign</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Data Type Assign</em>'.
+	 * @generated
+	 */
+	DataTypeAssign createDataTypeAssign();
+
+	/**
+	 * Returns the package supported by this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the package supported by this factory.
+	 * @generated
+	 */
+	HardwareBaselinePackage getHardwareBaselinePackage();
+
+} //HardwareBaselineFactory
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/HardwareBaselinePackage.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/HardwareBaselinePackage.java
new file mode 100644
index 000000000..b45e03af9
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/HardwareBaselinePackage.java
@@ -0,0 +1,2422 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EEnum;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwCommunicationPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwComputingPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ *   <li>each class,</li>
+ *   <li>each feature of each class,</li>
+ *   <li>each enum,</li>
+ *   <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HardwareBaselineFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface HardwareBaselinePackage extends EPackage {
+	/**
+	 * The package name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNAME = "HardwareBaseline";
+
+	/**
+	 * The package namespace URI.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_URI = "http://CHESS/Predictability/DeploymentConfiguration/HardwareBaseline";
+
+	/**
+	 * The package namespace name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_PREFIX = "HardwareBaseline";
+
+	/**
+	 * The singleton instance of the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	HardwareBaselinePackage eINSTANCE = org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.HardwareBaselinePackageImpl.init();
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.CH_HwProcessorImpl <em>CH Hw Processor</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.CH_HwProcessorImpl
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.HardwareBaselinePackageImpl#getCH_HwProcessor()
+	 * @generated
+	 */
+	int CH_HW_PROCESSOR = 0;
+
+	/**
+	 * The feature id for the '<em><b>Res Mult</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_HW_PROCESSOR__RES_MULT = HwComputingPackage.HW_PROCESSOR__RES_MULT;
+
+	/**
+	 * The feature id for the '<em><b>Is Protected</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_HW_PROCESSOR__IS_PROTECTED = HwComputingPackage.HW_PROCESSOR__IS_PROTECTED;
+
+	/**
+	 * The feature id for the '<em><b>Is Active</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_HW_PROCESSOR__IS_ACTIVE = HwComputingPackage.HW_PROCESSOR__IS_ACTIVE;
+
+	/**
+	 * The feature id for the '<em><b>Base Property</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_HW_PROCESSOR__BASE_PROPERTY = HwComputingPackage.HW_PROCESSOR__BASE_PROPERTY;
+
+	/**
+	 * The feature id for the '<em><b>Base Instance Specification</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_HW_PROCESSOR__BASE_INSTANCE_SPECIFICATION = HwComputingPackage.HW_PROCESSOR__BASE_INSTANCE_SPECIFICATION;
+
+	/**
+	 * The feature id for the '<em><b>Base Classifier</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_HW_PROCESSOR__BASE_CLASSIFIER = HwComputingPackage.HW_PROCESSOR__BASE_CLASSIFIER;
+
+	/**
+	 * The feature id for the '<em><b>Base Lifeline</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_HW_PROCESSOR__BASE_LIFELINE = HwComputingPackage.HW_PROCESSOR__BASE_LIFELINE;
+
+	/**
+	 * The feature id for the '<em><b>Base Connectable Element</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_HW_PROCESSOR__BASE_CONNECTABLE_ELEMENT = HwComputingPackage.HW_PROCESSOR__BASE_CONNECTABLE_ELEMENT;
+
+	/**
+	 * The feature id for the '<em><b>Description</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_HW_PROCESSOR__DESCRIPTION = HwComputingPackage.HW_PROCESSOR__DESCRIPTION;
+
+	/**
+	 * The feature id for the '<em><b>PHW Services</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_HW_PROCESSOR__PHW_SERVICES = HwComputingPackage.HW_PROCESSOR__PHW_SERVICES;
+
+	/**
+	 * The feature id for the '<em><b>RHW Services</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_HW_PROCESSOR__RHW_SERVICES = HwComputingPackage.HW_PROCESSOR__RHW_SERVICES;
+
+	/**
+	 * The feature id for the '<em><b>Owned HW</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_HW_PROCESSOR__OWNED_HW = HwComputingPackage.HW_PROCESSOR__OWNED_HW;
+
+	/**
+	 * The feature id for the '<em><b>End Points</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_HW_PROCESSOR__END_POINTS = HwComputingPackage.HW_PROCESSOR__END_POINTS;
+
+	/**
+	 * The feature id for the '<em><b>Frequency</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_HW_PROCESSOR__FREQUENCY = HwComputingPackage.HW_PROCESSOR__FREQUENCY;
+
+	/**
+	 * The feature id for the '<em><b>Speed Factor</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_HW_PROCESSOR__SPEED_FACTOR = HwComputingPackage.HW_PROCESSOR__SPEED_FACTOR;
+
+	/**
+	 * The feature id for the '<em><b>Main Scheduler</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_HW_PROCESSOR__MAIN_SCHEDULER = HwComputingPackage.HW_PROCESSOR__MAIN_SCHEDULER;
+
+	/**
+	 * The feature id for the '<em><b>Op Frequencies</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_HW_PROCESSOR__OP_FREQUENCIES = HwComputingPackage.HW_PROCESSOR__OP_FREQUENCIES;
+
+	/**
+	 * The feature id for the '<em><b>Architecture</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_HW_PROCESSOR__ARCHITECTURE = HwComputingPackage.HW_PROCESSOR__ARCHITECTURE;
+
+	/**
+	 * The feature id for the '<em><b>Mips</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_HW_PROCESSOR__MIPS = HwComputingPackage.HW_PROCESSOR__MIPS;
+
+	/**
+	 * The feature id for the '<em><b>Ipc</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_HW_PROCESSOR__IPC = HwComputingPackage.HW_PROCESSOR__IPC;
+
+	/**
+	 * The feature id for the '<em><b>Nb Cores</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_HW_PROCESSOR__NB_CORES = HwComputingPackage.HW_PROCESSOR__NB_CORES;
+
+	/**
+	 * The feature id for the '<em><b>Nb Pipelines</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_HW_PROCESSOR__NB_PIPELINES = HwComputingPackage.HW_PROCESSOR__NB_PIPELINES;
+
+	/**
+	 * The feature id for the '<em><b>Nb Stages</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_HW_PROCESSOR__NB_STAGES = HwComputingPackage.HW_PROCESSOR__NB_STAGES;
+
+	/**
+	 * The feature id for the '<em><b>Nb AL Us</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_HW_PROCESSOR__NB_AL_US = HwComputingPackage.HW_PROCESSOR__NB_AL_US;
+
+	/**
+	 * The feature id for the '<em><b>Nb FP Us</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_HW_PROCESSOR__NB_FP_US = HwComputingPackage.HW_PROCESSOR__NB_FP_US;
+
+	/**
+	 * The feature id for the '<em><b>Owned IS As</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_HW_PROCESSOR__OWNED_IS_AS = HwComputingPackage.HW_PROCESSOR__OWNED_IS_AS;
+
+	/**
+	 * The feature id for the '<em><b>Predictors</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_HW_PROCESSOR__PREDICTORS = HwComputingPackage.HW_PROCESSOR__PREDICTORS;
+
+	/**
+	 * The feature id for the '<em><b>Caches</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_HW_PROCESSOR__CACHES = HwComputingPackage.HW_PROCESSOR__CACHES;
+
+	/**
+	 * The feature id for the '<em><b>Owned MM Us</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_HW_PROCESSOR__OWNED_MM_US = HwComputingPackage.HW_PROCESSOR__OWNED_MM_US;
+
+	/**
+	 * The feature id for the '<em><b>Data Type</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_HW_PROCESSOR__DATA_TYPE = HwComputingPackage.HW_PROCESSOR_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Utilization</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_HW_PROCESSOR__UTILIZATION = HwComputingPackage.HW_PROCESSOR_FEATURE_COUNT + 1;
+
+	/**
+	 * The number of structural features of the '<em>CH Hw Processor</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_HW_PROCESSOR_FEATURE_COUNT = HwComputingPackage.HW_PROCESSOR_FEATURE_COUNT + 2;
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.HWDataTypeImpl <em>HW Data Type</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.HWDataTypeImpl
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.HardwareBaselinePackageImpl#getHWDataType()
+	 * @generated
+	 */
+	int HW_DATA_TYPE = 1;
+
+	/**
+	 * The feature id for the '<em><b>Base Data Type</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int HW_DATA_TYPE__BASE_DATA_TYPE = 0;
+
+	/**
+	 * The feature id for the '<em><b>Bit Length</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int HW_DATA_TYPE__BIT_LENGTH = 1;
+
+	/**
+	 * The feature id for the '<em><b>Signed</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int HW_DATA_TYPE__SIGNED = 2;
+
+	/**
+	 * The feature id for the '<em><b>Fixed Point</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int HW_DATA_TYPE__FIXED_POINT = 3;
+
+	/**
+	 * The feature id for the '<em><b>Float</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int HW_DATA_TYPE__FLOAT = 4;
+
+	/**
+	 * The feature id for the '<em><b>Execution</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int HW_DATA_TYPE__EXECUTION = 5;
+
+	/**
+	 * The number of structural features of the '<em>HW Data Type</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int HW_DATA_TYPE_FEATURE_COUNT = 6;
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.DataTypeExecutionImpl <em>Data Type Execution</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.DataTypeExecutionImpl
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.HardwareBaselinePackageImpl#getDataTypeExecution()
+	 * @generated
+	 */
+	int DATA_TYPE_EXECUTION = 2;
+
+	/**
+	 * The feature id for the '<em><b>Base Class</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE_EXECUTION__BASE_CLASS = 0;
+
+	/**
+	 * The feature id for the '<em><b>Operation</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE_EXECUTION__OPERATION = 1;
+
+	/**
+	 * The feature id for the '<em><b>Execution Cycles</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE_EXECUTION__EXECUTION_CYCLES = 2;
+
+	/**
+	 * The number of structural features of the '<em>Data Type Execution</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE_EXECUTION_FEATURE_COUNT = 3;
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.ComputeComplexityImpl <em>Compute Complexity</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.ComputeComplexityImpl
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.HardwareBaselinePackageImpl#getComputeComplexity()
+	 * @generated
+	 */
+	int COMPUTE_COMPLEXITY = 3;
+
+	/**
+	 * The feature id for the '<em><b>Sw Data Type</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMPUTE_COMPLEXITY__SW_DATA_TYPE = 0;
+
+	/**
+	 * The feature id for the '<em><b>Op Count</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMPUTE_COMPLEXITY__OP_COUNT = 1;
+
+	/**
+	 * The feature id for the '<em><b>Base Class</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMPUTE_COMPLEXITY__BASE_CLASS = 2;
+
+	/**
+	 * The number of structural features of the '<em>Compute Complexity</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMPUTE_COMPLEXITY_FEATURE_COUNT = 3;
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.SWDataTypeImpl <em>SW Data Type</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.SWDataTypeImpl
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.HardwareBaselinePackageImpl#getSWDataType()
+	 * @generated
+	 */
+	int SW_DATA_TYPE = 4;
+
+	/**
+	 * The feature id for the '<em><b>Base Data Type</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SW_DATA_TYPE__BASE_DATA_TYPE = 0;
+
+	/**
+	 * The feature id for the '<em><b>Bit Size</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SW_DATA_TYPE__BIT_SIZE = 1;
+
+	/**
+	 * The number of structural features of the '<em>SW Data Type</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SW_DATA_TYPE_FEATURE_COUNT = 2;
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.OperationCountImpl <em>Operation Count</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.OperationCountImpl
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.HardwareBaselinePackageImpl#getOperationCount()
+	 * @generated
+	 */
+	int OPERATION_COUNT = 5;
+
+	/**
+	 * The feature id for the '<em><b>Operation</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int OPERATION_COUNT__OPERATION = 0;
+
+	/**
+	 * The feature id for the '<em><b>Count</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int OPERATION_COUNT__COUNT = 1;
+
+	/**
+	 * The feature id for the '<em><b>Base Class</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int OPERATION_COUNT__BASE_CLASS = 2;
+
+	/**
+	 * The number of structural features of the '<em>Operation Count</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int OPERATION_COUNT_FEATURE_COUNT = 3;
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.CHControlFlowImpl <em>CH Control Flow</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.CHControlFlowImpl
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.HardwareBaselinePackageImpl#getCHControlFlow()
+	 * @generated
+	 */
+	int CH_CONTROL_FLOW = 6;
+
+	/**
+	 * The feature id for the '<em><b>Base Control Flow</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_CONTROL_FLOW__BASE_CONTROL_FLOW = 0;
+
+	/**
+	 * The feature id for the '<em><b>Rep</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_CONTROL_FLOW__REP = 1;
+
+	/**
+	 * The feature id for the '<em><b>Prob</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_CONTROL_FLOW__PROB = 2;
+
+	/**
+	 * The feature id for the '<em><b>Order</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_CONTROL_FLOW__ORDER = 3;
+
+	/**
+	 * The feature id for the '<em><b>Comp Complex</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_CONTROL_FLOW__COMP_COMPLEX = 4;
+
+	/**
+	 * The number of structural features of the '<em>CH Control Flow</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_CONTROL_FLOW_FEATURE_COUNT = 5;
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.FloatSWDataTypeImpl <em>Float SW Data Type</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.FloatSWDataTypeImpl
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.HardwareBaselinePackageImpl#getFloatSWDataType()
+	 * @generated
+	 */
+	int FLOAT_SW_DATA_TYPE = 7;
+
+	/**
+	 * The feature id for the '<em><b>Base Data Type</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FLOAT_SW_DATA_TYPE__BASE_DATA_TYPE = SW_DATA_TYPE__BASE_DATA_TYPE;
+
+	/**
+	 * The feature id for the '<em><b>Bit Size</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FLOAT_SW_DATA_TYPE__BIT_SIZE = SW_DATA_TYPE__BIT_SIZE;
+
+	/**
+	 * The feature id for the '<em><b>Signed</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FLOAT_SW_DATA_TYPE__SIGNED = SW_DATA_TYPE_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of structural features of the '<em>Float SW Data Type</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FLOAT_SW_DATA_TYPE_FEATURE_COUNT = SW_DATA_TYPE_FEATURE_COUNT + 1;
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.FixedSWDataTypeImpl <em>Fixed SW Data Type</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.FixedSWDataTypeImpl
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.HardwareBaselinePackageImpl#getFixedSWDataType()
+	 * @generated
+	 */
+	int FIXED_SW_DATA_TYPE = 8;
+
+	/**
+	 * The feature id for the '<em><b>Base Data Type</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FIXED_SW_DATA_TYPE__BASE_DATA_TYPE = SW_DATA_TYPE__BASE_DATA_TYPE;
+
+	/**
+	 * The feature id for the '<em><b>Bit Size</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FIXED_SW_DATA_TYPE__BIT_SIZE = SW_DATA_TYPE__BIT_SIZE;
+
+	/**
+	 * The feature id for the '<em><b>Signed</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FIXED_SW_DATA_TYPE__SIGNED = SW_DATA_TYPE_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of structural features of the '<em>Fixed SW Data Type</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FIXED_SW_DATA_TYPE_FEATURE_COUNT = SW_DATA_TYPE_FEATURE_COUNT + 1;
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.IntegerSWDataTypeImpl <em>Integer SW Data Type</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.IntegerSWDataTypeImpl
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.HardwareBaselinePackageImpl#getIntegerSWDataType()
+	 * @generated
+	 */
+	int INTEGER_SW_DATA_TYPE = 9;
+
+	/**
+	 * The feature id for the '<em><b>Base Data Type</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTEGER_SW_DATA_TYPE__BASE_DATA_TYPE = SW_DATA_TYPE__BASE_DATA_TYPE;
+
+	/**
+	 * The feature id for the '<em><b>Bit Size</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTEGER_SW_DATA_TYPE__BIT_SIZE = SW_DATA_TYPE__BIT_SIZE;
+
+	/**
+	 * The feature id for the '<em><b>Signed</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTEGER_SW_DATA_TYPE__SIGNED = SW_DATA_TYPE_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of structural features of the '<em>Integer SW Data Type</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTEGER_SW_DATA_TYPE_FEATURE_COUNT = SW_DATA_TYPE_FEATURE_COUNT + 1;
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.CharSWDataTypeImpl <em>Char SW Data Type</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.CharSWDataTypeImpl
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.HardwareBaselinePackageImpl#getCharSWDataType()
+	 * @generated
+	 */
+	int CHAR_SW_DATA_TYPE = 10;
+
+	/**
+	 * The feature id for the '<em><b>Base Data Type</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CHAR_SW_DATA_TYPE__BASE_DATA_TYPE = SW_DATA_TYPE__BASE_DATA_TYPE;
+
+	/**
+	 * The feature id for the '<em><b>Bit Size</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CHAR_SW_DATA_TYPE__BIT_SIZE = SW_DATA_TYPE__BIT_SIZE;
+
+	/**
+	 * The feature id for the '<em><b>Signed</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CHAR_SW_DATA_TYPE__SIGNED = SW_DATA_TYPE_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of structural features of the '<em>Char SW Data Type</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CHAR_SW_DATA_TYPE_FEATURE_COUNT = SW_DATA_TYPE_FEATURE_COUNT + 1;
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.BooleanSWDataTypeImpl <em>Boolean SW Data Type</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.BooleanSWDataTypeImpl
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.HardwareBaselinePackageImpl#getBooleanSWDataType()
+	 * @generated
+	 */
+	int BOOLEAN_SW_DATA_TYPE = 11;
+
+	/**
+	 * The feature id for the '<em><b>Base Data Type</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BOOLEAN_SW_DATA_TYPE__BASE_DATA_TYPE = SW_DATA_TYPE__BASE_DATA_TYPE;
+
+	/**
+	 * The feature id for the '<em><b>Bit Size</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BOOLEAN_SW_DATA_TYPE__BIT_SIZE = SW_DATA_TYPE__BIT_SIZE;
+
+	/**
+	 * The number of structural features of the '<em>Boolean SW Data Type</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BOOLEAN_SW_DATA_TYPE_FEATURE_COUNT = SW_DATA_TYPE_FEATURE_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.CH_HwBusImpl <em>CH Hw Bus</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.CH_HwBusImpl
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.HardwareBaselinePackageImpl#getCH_HwBus()
+	 * @generated
+	 */
+	int CH_HW_BUS = 12;
+
+	/**
+	 * The feature id for the '<em><b>Res Mult</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_HW_BUS__RES_MULT = HwCommunicationPackage.HW_BUS__RES_MULT;
+
+	/**
+	 * The feature id for the '<em><b>Is Protected</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_HW_BUS__IS_PROTECTED = HwCommunicationPackage.HW_BUS__IS_PROTECTED;
+
+	/**
+	 * The feature id for the '<em><b>Is Active</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_HW_BUS__IS_ACTIVE = HwCommunicationPackage.HW_BUS__IS_ACTIVE;
+
+	/**
+	 * The feature id for the '<em><b>Base Property</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_HW_BUS__BASE_PROPERTY = HwCommunicationPackage.HW_BUS__BASE_PROPERTY;
+
+	/**
+	 * The feature id for the '<em><b>Base Instance Specification</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_HW_BUS__BASE_INSTANCE_SPECIFICATION = HwCommunicationPackage.HW_BUS__BASE_INSTANCE_SPECIFICATION;
+
+	/**
+	 * The feature id for the '<em><b>Base Classifier</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_HW_BUS__BASE_CLASSIFIER = HwCommunicationPackage.HW_BUS__BASE_CLASSIFIER;
+
+	/**
+	 * The feature id for the '<em><b>Base Lifeline</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_HW_BUS__BASE_LIFELINE = HwCommunicationPackage.HW_BUS__BASE_LIFELINE;
+
+	/**
+	 * The feature id for the '<em><b>Base Connectable Element</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_HW_BUS__BASE_CONNECTABLE_ELEMENT = HwCommunicationPackage.HW_BUS__BASE_CONNECTABLE_ELEMENT;
+
+	/**
+	 * The feature id for the '<em><b>Speed Factor</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_HW_BUS__SPEED_FACTOR = HwCommunicationPackage.HW_BUS__SPEED_FACTOR;
+
+	/**
+	 * The feature id for the '<em><b>Main Scheduler</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_HW_BUS__MAIN_SCHEDULER = HwCommunicationPackage.HW_BUS__MAIN_SCHEDULER;
+
+	/**
+	 * The feature id for the '<em><b>Element Size</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_HW_BUS__ELEMENT_SIZE = HwCommunicationPackage.HW_BUS__ELEMENT_SIZE;
+
+	/**
+	 * The feature id for the '<em><b>Base Connector</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_HW_BUS__BASE_CONNECTOR = HwCommunicationPackage.HW_BUS__BASE_CONNECTOR;
+
+	/**
+	 * The feature id for the '<em><b>Transm Mode</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_HW_BUS__TRANSM_MODE = HwCommunicationPackage.HW_BUS__TRANSM_MODE;
+
+	/**
+	 * The feature id for the '<em><b>Block T</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_HW_BUS__BLOCK_T = HwCommunicationPackage.HW_BUS__BLOCK_T;
+
+	/**
+	 * The feature id for the '<em><b>Packet T</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_HW_BUS__PACKET_T = HwCommunicationPackage.HW_BUS__PACKET_T;
+
+	/**
+	 * The feature id for the '<em><b>Capacity</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_HW_BUS__CAPACITY = HwCommunicationPackage.HW_BUS__CAPACITY;
+
+	/**
+	 * The feature id for the '<em><b>Description</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_HW_BUS__DESCRIPTION = HwCommunicationPackage.HW_BUS__DESCRIPTION;
+
+	/**
+	 * The feature id for the '<em><b>PHW Services</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_HW_BUS__PHW_SERVICES = HwCommunicationPackage.HW_BUS__PHW_SERVICES;
+
+	/**
+	 * The feature id for the '<em><b>RHW Services</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_HW_BUS__RHW_SERVICES = HwCommunicationPackage.HW_BUS__RHW_SERVICES;
+
+	/**
+	 * The feature id for the '<em><b>Owned HW</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_HW_BUS__OWNED_HW = HwCommunicationPackage.HW_BUS__OWNED_HW;
+
+	/**
+	 * The feature id for the '<em><b>End Points</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_HW_BUS__END_POINTS = HwCommunicationPackage.HW_BUS__END_POINTS;
+
+	/**
+	 * The feature id for the '<em><b>Frequency</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_HW_BUS__FREQUENCY = HwCommunicationPackage.HW_BUS__FREQUENCY;
+
+	/**
+	 * The feature id for the '<em><b>Band Width</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_HW_BUS__BAND_WIDTH = HwCommunicationPackage.HW_BUS__BAND_WIDTH;
+
+	/**
+	 * The feature id for the '<em><b>Arbiters</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_HW_BUS__ARBITERS = HwCommunicationPackage.HW_BUS__ARBITERS;
+
+	/**
+	 * The feature id for the '<em><b>Adress Width</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_HW_BUS__ADRESS_WIDTH = HwCommunicationPackage.HW_BUS__ADRESS_WIDTH;
+
+	/**
+	 * The feature id for the '<em><b>Word Width</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_HW_BUS__WORD_WIDTH = HwCommunicationPackage.HW_BUS__WORD_WIDTH;
+
+	/**
+	 * The feature id for the '<em><b>Is Synchronous</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_HW_BUS__IS_SYNCHRONOUS = HwCommunicationPackage.HW_BUS__IS_SYNCHRONOUS;
+
+	/**
+	 * The feature id for the '<em><b>Is Serial</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_HW_BUS__IS_SERIAL = HwCommunicationPackage.HW_BUS__IS_SERIAL;
+
+	/**
+	 * The feature id for the '<em><b>Utilization</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_HW_BUS__UTILIZATION = HwCommunicationPackage.HW_BUS_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of structural features of the '<em>CH Hw Bus</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_HW_BUS_FEATURE_COUNT = HwCommunicationPackage.HW_BUS_FEATURE_COUNT + 1;
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.CH_HwComputingResourceImpl <em>CH Hw Computing Resource</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.CH_HwComputingResourceImpl
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.HardwareBaselinePackageImpl#getCH_HwComputingResource()
+	 * @generated
+	 */
+	int CH_HW_COMPUTING_RESOURCE = 13;
+
+	/**
+	 * The feature id for the '<em><b>Res Mult</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_HW_COMPUTING_RESOURCE__RES_MULT = HwComputingPackage.HW_COMPUTING_RESOURCE__RES_MULT;
+
+	/**
+	 * The feature id for the '<em><b>Is Protected</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_HW_COMPUTING_RESOURCE__IS_PROTECTED = HwComputingPackage.HW_COMPUTING_RESOURCE__IS_PROTECTED;
+
+	/**
+	 * The feature id for the '<em><b>Is Active</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_HW_COMPUTING_RESOURCE__IS_ACTIVE = HwComputingPackage.HW_COMPUTING_RESOURCE__IS_ACTIVE;
+
+	/**
+	 * The feature id for the '<em><b>Base Property</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_HW_COMPUTING_RESOURCE__BASE_PROPERTY = HwComputingPackage.HW_COMPUTING_RESOURCE__BASE_PROPERTY;
+
+	/**
+	 * The feature id for the '<em><b>Base Instance Specification</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_HW_COMPUTING_RESOURCE__BASE_INSTANCE_SPECIFICATION = HwComputingPackage.HW_COMPUTING_RESOURCE__BASE_INSTANCE_SPECIFICATION;
+
+	/**
+	 * The feature id for the '<em><b>Base Classifier</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_HW_COMPUTING_RESOURCE__BASE_CLASSIFIER = HwComputingPackage.HW_COMPUTING_RESOURCE__BASE_CLASSIFIER;
+
+	/**
+	 * The feature id for the '<em><b>Base Lifeline</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_HW_COMPUTING_RESOURCE__BASE_LIFELINE = HwComputingPackage.HW_COMPUTING_RESOURCE__BASE_LIFELINE;
+
+	/**
+	 * The feature id for the '<em><b>Base Connectable Element</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_HW_COMPUTING_RESOURCE__BASE_CONNECTABLE_ELEMENT = HwComputingPackage.HW_COMPUTING_RESOURCE__BASE_CONNECTABLE_ELEMENT;
+
+	/**
+	 * The feature id for the '<em><b>Description</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_HW_COMPUTING_RESOURCE__DESCRIPTION = HwComputingPackage.HW_COMPUTING_RESOURCE__DESCRIPTION;
+
+	/**
+	 * The feature id for the '<em><b>PHW Services</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_HW_COMPUTING_RESOURCE__PHW_SERVICES = HwComputingPackage.HW_COMPUTING_RESOURCE__PHW_SERVICES;
+
+	/**
+	 * The feature id for the '<em><b>RHW Services</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_HW_COMPUTING_RESOURCE__RHW_SERVICES = HwComputingPackage.HW_COMPUTING_RESOURCE__RHW_SERVICES;
+
+	/**
+	 * The feature id for the '<em><b>Owned HW</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_HW_COMPUTING_RESOURCE__OWNED_HW = HwComputingPackage.HW_COMPUTING_RESOURCE__OWNED_HW;
+
+	/**
+	 * The feature id for the '<em><b>End Points</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_HW_COMPUTING_RESOURCE__END_POINTS = HwComputingPackage.HW_COMPUTING_RESOURCE__END_POINTS;
+
+	/**
+	 * The feature id for the '<em><b>Frequency</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_HW_COMPUTING_RESOURCE__FREQUENCY = HwComputingPackage.HW_COMPUTING_RESOURCE__FREQUENCY;
+
+	/**
+	 * The feature id for the '<em><b>Speed Factor</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_HW_COMPUTING_RESOURCE__SPEED_FACTOR = HwComputingPackage.HW_COMPUTING_RESOURCE__SPEED_FACTOR;
+
+	/**
+	 * The feature id for the '<em><b>Main Scheduler</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_HW_COMPUTING_RESOURCE__MAIN_SCHEDULER = HwComputingPackage.HW_COMPUTING_RESOURCE__MAIN_SCHEDULER;
+
+	/**
+	 * The feature id for the '<em><b>Op Frequencies</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_HW_COMPUTING_RESOURCE__OP_FREQUENCIES = HwComputingPackage.HW_COMPUTING_RESOURCE__OP_FREQUENCIES;
+
+	/**
+	 * The feature id for the '<em><b>Utilization</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_HW_COMPUTING_RESOURCE__UTILIZATION = HwComputingPackage.HW_COMPUTING_RESOURCE_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of structural features of the '<em>CH Hw Computing Resource</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_HW_COMPUTING_RESOURCE_FEATURE_COUNT = HwComputingPackage.HW_COMPUTING_RESOURCE_FEATURE_COUNT + 1;
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.DataTypeAssignImpl <em>Data Type Assign</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.DataTypeAssignImpl
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.HardwareBaselinePackageImpl#getDataTypeAssign()
+	 * @generated
+	 */
+	int DATA_TYPE_ASSIGN = 14;
+
+	/**
+	 * The feature id for the '<em><b>Base Comment</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE_ASSIGN__BASE_COMMENT = 0;
+
+	/**
+	 * The feature id for the '<em><b>From</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE_ASSIGN__FROM = 1;
+
+	/**
+	 * The feature id for the '<em><b>To</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE_ASSIGN__TO = 2;
+
+	/**
+	 * The number of structural features of the '<em>Data Type Assign</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE_ASSIGN_FEATURE_COUNT = 3;
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.BasicOperation <em>Basic Operation</em>}' enum.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.BasicOperation
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.HardwareBaselinePackageImpl#getBasicOperation()
+	 * @generated
+	 */
+	int BASIC_OPERATION = 15;
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.BasicDataType <em>Basic Data Type</em>}' enum.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.BasicDataType
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.HardwareBaselinePackageImpl#getBasicDataType()
+	 * @generated
+	 */
+	int BASIC_DATA_TYPE = 16;
+
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.CH_HwProcessor <em>CH Hw Processor</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>CH Hw Processor</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.CH_HwProcessor
+	 * @generated
+	 */
+	EClass getCH_HwProcessor();
+
+	/**
+	 * Returns the meta object for the reference list '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.CH_HwProcessor#getDataType <em>Data Type</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference list '<em>Data Type</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.CH_HwProcessor#getDataType()
+	 * @see #getCH_HwProcessor()
+	 * @generated
+	 */
+	EReference getCH_HwProcessor_DataType();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.CH_HwProcessor#getUtilization <em>Utilization</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Utilization</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.CH_HwProcessor#getUtilization()
+	 * @see #getCH_HwProcessor()
+	 * @generated
+	 */
+	EAttribute getCH_HwProcessor_Utilization();
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HWDataType <em>HW Data Type</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>HW Data Type</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HWDataType
+	 * @generated
+	 */
+	EClass getHWDataType();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HWDataType#getBase_DataType <em>Base Data Type</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Base Data Type</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HWDataType#getBase_DataType()
+	 * @see #getHWDataType()
+	 * @generated
+	 */
+	EReference getHWDataType_Base_DataType();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HWDataType#getBitLength <em>Bit Length</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Bit Length</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HWDataType#getBitLength()
+	 * @see #getHWDataType()
+	 * @generated
+	 */
+	EAttribute getHWDataType_BitLength();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HWDataType#isSigned <em>Signed</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Signed</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HWDataType#isSigned()
+	 * @see #getHWDataType()
+	 * @generated
+	 */
+	EAttribute getHWDataType_Signed();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HWDataType#isFixedPoint <em>Fixed Point</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Fixed Point</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HWDataType#isFixedPoint()
+	 * @see #getHWDataType()
+	 * @generated
+	 */
+	EAttribute getHWDataType_FixedPoint();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HWDataType#isFloat <em>Float</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Float</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HWDataType#isFloat()
+	 * @see #getHWDataType()
+	 * @generated
+	 */
+	EAttribute getHWDataType_Float();
+
+	/**
+	 * Returns the meta object for the reference list '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HWDataType#getExecution <em>Execution</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference list '<em>Execution</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HWDataType#getExecution()
+	 * @see #getHWDataType()
+	 * @generated
+	 */
+	EReference getHWDataType_Execution();
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.DataTypeExecution <em>Data Type Execution</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Data Type Execution</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.DataTypeExecution
+	 * @generated
+	 */
+	EClass getDataTypeExecution();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.DataTypeExecution#getBase_Class <em>Base Class</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Base Class</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.DataTypeExecution#getBase_Class()
+	 * @see #getDataTypeExecution()
+	 * @generated
+	 */
+	EReference getDataTypeExecution_Base_Class();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.DataTypeExecution#getOperation <em>Operation</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Operation</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.DataTypeExecution#getOperation()
+	 * @see #getDataTypeExecution()
+	 * @generated
+	 */
+	EAttribute getDataTypeExecution_Operation();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.DataTypeExecution#getExecutionCycles <em>Execution Cycles</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Execution Cycles</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.DataTypeExecution#getExecutionCycles()
+	 * @see #getDataTypeExecution()
+	 * @generated
+	 */
+	EAttribute getDataTypeExecution_ExecutionCycles();
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.ComputeComplexity <em>Compute Complexity</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Compute Complexity</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.ComputeComplexity
+	 * @generated
+	 */
+	EClass getComputeComplexity();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.ComputeComplexity#getSwDataType <em>Sw Data Type</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Sw Data Type</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.ComputeComplexity#getSwDataType()
+	 * @see #getComputeComplexity()
+	 * @generated
+	 */
+	EReference getComputeComplexity_SwDataType();
+
+	/**
+	 * Returns the meta object for the reference list '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.ComputeComplexity#getOpCount <em>Op Count</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference list '<em>Op Count</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.ComputeComplexity#getOpCount()
+	 * @see #getComputeComplexity()
+	 * @generated
+	 */
+	EReference getComputeComplexity_OpCount();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.ComputeComplexity#getBase_Class <em>Base Class</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Base Class</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.ComputeComplexity#getBase_Class()
+	 * @see #getComputeComplexity()
+	 * @generated
+	 */
+	EReference getComputeComplexity_Base_Class();
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.SWDataType <em>SW Data Type</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>SW Data Type</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.SWDataType
+	 * @generated
+	 */
+	EClass getSWDataType();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.SWDataType#getBase_DataType <em>Base Data Type</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Base Data Type</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.SWDataType#getBase_DataType()
+	 * @see #getSWDataType()
+	 * @generated
+	 */
+	EReference getSWDataType_Base_DataType();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.SWDataType#getBitSize <em>Bit Size</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Bit Size</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.SWDataType#getBitSize()
+	 * @see #getSWDataType()
+	 * @generated
+	 */
+	EAttribute getSWDataType_BitSize();
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.OperationCount <em>Operation Count</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Operation Count</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.OperationCount
+	 * @generated
+	 */
+	EClass getOperationCount();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.OperationCount#getOperation <em>Operation</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Operation</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.OperationCount#getOperation()
+	 * @see #getOperationCount()
+	 * @generated
+	 */
+	EAttribute getOperationCount_Operation();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.OperationCount#getCount <em>Count</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Count</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.OperationCount#getCount()
+	 * @see #getOperationCount()
+	 * @generated
+	 */
+	EAttribute getOperationCount_Count();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.OperationCount#getBase_Class <em>Base Class</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Base Class</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.OperationCount#getBase_Class()
+	 * @see #getOperationCount()
+	 * @generated
+	 */
+	EReference getOperationCount_Base_Class();
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.CHControlFlow <em>CH Control Flow</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>CH Control Flow</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.CHControlFlow
+	 * @generated
+	 */
+	EClass getCHControlFlow();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.CHControlFlow#getBase_ControlFlow <em>Base Control Flow</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Base Control Flow</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.CHControlFlow#getBase_ControlFlow()
+	 * @see #getCHControlFlow()
+	 * @generated
+	 */
+	EReference getCHControlFlow_Base_ControlFlow();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.CHControlFlow#getRep <em>Rep</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Rep</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.CHControlFlow#getRep()
+	 * @see #getCHControlFlow()
+	 * @generated
+	 */
+	EAttribute getCHControlFlow_Rep();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.CHControlFlow#getProb <em>Prob</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Prob</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.CHControlFlow#getProb()
+	 * @see #getCHControlFlow()
+	 * @generated
+	 */
+	EAttribute getCHControlFlow_Prob();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.CHControlFlow#getOrder <em>Order</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Order</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.CHControlFlow#getOrder()
+	 * @see #getCHControlFlow()
+	 * @generated
+	 */
+	EAttribute getCHControlFlow_Order();
+
+	/**
+	 * Returns the meta object for the reference list '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.CHControlFlow#getCompComplex <em>Comp Complex</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference list '<em>Comp Complex</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.CHControlFlow#getCompComplex()
+	 * @see #getCHControlFlow()
+	 * @generated
+	 */
+	EReference getCHControlFlow_CompComplex();
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.FloatSWDataType <em>Float SW Data Type</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Float SW Data Type</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.FloatSWDataType
+	 * @generated
+	 */
+	EClass getFloatSWDataType();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.FloatSWDataType#isSigned <em>Signed</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Signed</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.FloatSWDataType#isSigned()
+	 * @see #getFloatSWDataType()
+	 * @generated
+	 */
+	EAttribute getFloatSWDataType_Signed();
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.FixedSWDataType <em>Fixed SW Data Type</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Fixed SW Data Type</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.FixedSWDataType
+	 * @generated
+	 */
+	EClass getFixedSWDataType();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.FixedSWDataType#isSigned <em>Signed</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Signed</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.FixedSWDataType#isSigned()
+	 * @see #getFixedSWDataType()
+	 * @generated
+	 */
+	EAttribute getFixedSWDataType_Signed();
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.IntegerSWDataType <em>Integer SW Data Type</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Integer SW Data Type</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.IntegerSWDataType
+	 * @generated
+	 */
+	EClass getIntegerSWDataType();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.IntegerSWDataType#isSigned <em>Signed</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Signed</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.IntegerSWDataType#isSigned()
+	 * @see #getIntegerSWDataType()
+	 * @generated
+	 */
+	EAttribute getIntegerSWDataType_Signed();
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.CharSWDataType <em>Char SW Data Type</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Char SW Data Type</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.CharSWDataType
+	 * @generated
+	 */
+	EClass getCharSWDataType();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.CharSWDataType#isSigned <em>Signed</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Signed</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.CharSWDataType#isSigned()
+	 * @see #getCharSWDataType()
+	 * @generated
+	 */
+	EAttribute getCharSWDataType_Signed();
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.BooleanSWDataType <em>Boolean SW Data Type</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Boolean SW Data Type</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.BooleanSWDataType
+	 * @generated
+	 */
+	EClass getBooleanSWDataType();
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.CH_HwBus <em>CH Hw Bus</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>CH Hw Bus</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.CH_HwBus
+	 * @generated
+	 */
+	EClass getCH_HwBus();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.CH_HwBus#getUtilization <em>Utilization</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Utilization</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.CH_HwBus#getUtilization()
+	 * @see #getCH_HwBus()
+	 * @generated
+	 */
+	EAttribute getCH_HwBus_Utilization();
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.CH_HwComputingResource <em>CH Hw Computing Resource</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>CH Hw Computing Resource</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.CH_HwComputingResource
+	 * @generated
+	 */
+	EClass getCH_HwComputingResource();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.CH_HwComputingResource#getUtilization <em>Utilization</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Utilization</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.CH_HwComputingResource#getUtilization()
+	 * @see #getCH_HwComputingResource()
+	 * @generated
+	 */
+	EAttribute getCH_HwComputingResource_Utilization();
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.DataTypeAssign <em>Data Type Assign</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Data Type Assign</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.DataTypeAssign
+	 * @generated
+	 */
+	EClass getDataTypeAssign();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.DataTypeAssign#getBase_Comment <em>Base Comment</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Base Comment</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.DataTypeAssign#getBase_Comment()
+	 * @see #getDataTypeAssign()
+	 * @generated
+	 */
+	EReference getDataTypeAssign_Base_Comment();
+
+	/**
+	 * Returns the meta object for the reference list '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.DataTypeAssign#getFrom <em>From</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference list '<em>From</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.DataTypeAssign#getFrom()
+	 * @see #getDataTypeAssign()
+	 * @generated
+	 */
+	EReference getDataTypeAssign_From();
+
+	/**
+	 * Returns the meta object for the reference list '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.DataTypeAssign#getTo <em>To</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference list '<em>To</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.DataTypeAssign#getTo()
+	 * @see #getDataTypeAssign()
+	 * @generated
+	 */
+	EReference getDataTypeAssign_To();
+
+	/**
+	 * Returns the meta object for enum '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.BasicOperation <em>Basic Operation</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for enum '<em>Basic Operation</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.BasicOperation
+	 * @generated
+	 */
+	EEnum getBasicOperation();
+
+	/**
+	 * Returns the meta object for enum '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.BasicDataType <em>Basic Data Type</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for enum '<em>Basic Data Type</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.BasicDataType
+	 * @generated
+	 */
+	EEnum getBasicDataType();
+
+	/**
+	 * Returns the factory that creates the instances of the model.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the factory that creates the instances of the model.
+	 * @generated
+	 */
+	HardwareBaselineFactory getHardwareBaselineFactory();
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * Defines literals for the meta objects that represent
+	 * <ul>
+	 *   <li>each class,</li>
+	 *   <li>each feature of each class,</li>
+	 *   <li>each enum,</li>
+	 *   <li>and each data type</li>
+	 * </ul>
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	interface Literals {
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.CH_HwProcessorImpl <em>CH Hw Processor</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.CH_HwProcessorImpl
+		 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.HardwareBaselinePackageImpl#getCH_HwProcessor()
+		 * @generated
+		 */
+		EClass CH_HW_PROCESSOR = eINSTANCE.getCH_HwProcessor();
+
+		/**
+		 * The meta object literal for the '<em><b>Data Type</b></em>' reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference CH_HW_PROCESSOR__DATA_TYPE = eINSTANCE.getCH_HwProcessor_DataType();
+
+		/**
+		 * The meta object literal for the '<em><b>Utilization</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute CH_HW_PROCESSOR__UTILIZATION = eINSTANCE.getCH_HwProcessor_Utilization();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.HWDataTypeImpl <em>HW Data Type</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.HWDataTypeImpl
+		 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.HardwareBaselinePackageImpl#getHWDataType()
+		 * @generated
+		 */
+		EClass HW_DATA_TYPE = eINSTANCE.getHWDataType();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Data Type</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference HW_DATA_TYPE__BASE_DATA_TYPE = eINSTANCE.getHWDataType_Base_DataType();
+
+		/**
+		 * The meta object literal for the '<em><b>Bit Length</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute HW_DATA_TYPE__BIT_LENGTH = eINSTANCE.getHWDataType_BitLength();
+
+		/**
+		 * The meta object literal for the '<em><b>Signed</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute HW_DATA_TYPE__SIGNED = eINSTANCE.getHWDataType_Signed();
+
+		/**
+		 * The meta object literal for the '<em><b>Fixed Point</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute HW_DATA_TYPE__FIXED_POINT = eINSTANCE.getHWDataType_FixedPoint();
+
+		/**
+		 * The meta object literal for the '<em><b>Float</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute HW_DATA_TYPE__FLOAT = eINSTANCE.getHWDataType_Float();
+
+		/**
+		 * The meta object literal for the '<em><b>Execution</b></em>' reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference HW_DATA_TYPE__EXECUTION = eINSTANCE.getHWDataType_Execution();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.DataTypeExecutionImpl <em>Data Type Execution</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.DataTypeExecutionImpl
+		 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.HardwareBaselinePackageImpl#getDataTypeExecution()
+		 * @generated
+		 */
+		EClass DATA_TYPE_EXECUTION = eINSTANCE.getDataTypeExecution();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Class</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference DATA_TYPE_EXECUTION__BASE_CLASS = eINSTANCE.getDataTypeExecution_Base_Class();
+
+		/**
+		 * The meta object literal for the '<em><b>Operation</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute DATA_TYPE_EXECUTION__OPERATION = eINSTANCE.getDataTypeExecution_Operation();
+
+		/**
+		 * The meta object literal for the '<em><b>Execution Cycles</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute DATA_TYPE_EXECUTION__EXECUTION_CYCLES = eINSTANCE.getDataTypeExecution_ExecutionCycles();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.ComputeComplexityImpl <em>Compute Complexity</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.ComputeComplexityImpl
+		 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.HardwareBaselinePackageImpl#getComputeComplexity()
+		 * @generated
+		 */
+		EClass COMPUTE_COMPLEXITY = eINSTANCE.getComputeComplexity();
+
+		/**
+		 * The meta object literal for the '<em><b>Sw Data Type</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference COMPUTE_COMPLEXITY__SW_DATA_TYPE = eINSTANCE.getComputeComplexity_SwDataType();
+
+		/**
+		 * The meta object literal for the '<em><b>Op Count</b></em>' reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference COMPUTE_COMPLEXITY__OP_COUNT = eINSTANCE.getComputeComplexity_OpCount();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Class</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference COMPUTE_COMPLEXITY__BASE_CLASS = eINSTANCE.getComputeComplexity_Base_Class();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.SWDataTypeImpl <em>SW Data Type</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.SWDataTypeImpl
+		 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.HardwareBaselinePackageImpl#getSWDataType()
+		 * @generated
+		 */
+		EClass SW_DATA_TYPE = eINSTANCE.getSWDataType();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Data Type</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference SW_DATA_TYPE__BASE_DATA_TYPE = eINSTANCE.getSWDataType_Base_DataType();
+
+		/**
+		 * The meta object literal for the '<em><b>Bit Size</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute SW_DATA_TYPE__BIT_SIZE = eINSTANCE.getSWDataType_BitSize();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.OperationCountImpl <em>Operation Count</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.OperationCountImpl
+		 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.HardwareBaselinePackageImpl#getOperationCount()
+		 * @generated
+		 */
+		EClass OPERATION_COUNT = eINSTANCE.getOperationCount();
+
+		/**
+		 * The meta object literal for the '<em><b>Operation</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute OPERATION_COUNT__OPERATION = eINSTANCE.getOperationCount_Operation();
+
+		/**
+		 * The meta object literal for the '<em><b>Count</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute OPERATION_COUNT__COUNT = eINSTANCE.getOperationCount_Count();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Class</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference OPERATION_COUNT__BASE_CLASS = eINSTANCE.getOperationCount_Base_Class();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.CHControlFlowImpl <em>CH Control Flow</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.CHControlFlowImpl
+		 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.HardwareBaselinePackageImpl#getCHControlFlow()
+		 * @generated
+		 */
+		EClass CH_CONTROL_FLOW = eINSTANCE.getCHControlFlow();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Control Flow</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference CH_CONTROL_FLOW__BASE_CONTROL_FLOW = eINSTANCE.getCHControlFlow_Base_ControlFlow();
+
+		/**
+		 * The meta object literal for the '<em><b>Rep</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute CH_CONTROL_FLOW__REP = eINSTANCE.getCHControlFlow_Rep();
+
+		/**
+		 * The meta object literal for the '<em><b>Prob</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute CH_CONTROL_FLOW__PROB = eINSTANCE.getCHControlFlow_Prob();
+
+		/**
+		 * The meta object literal for the '<em><b>Order</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute CH_CONTROL_FLOW__ORDER = eINSTANCE.getCHControlFlow_Order();
+
+		/**
+		 * The meta object literal for the '<em><b>Comp Complex</b></em>' reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference CH_CONTROL_FLOW__COMP_COMPLEX = eINSTANCE.getCHControlFlow_CompComplex();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.FloatSWDataTypeImpl <em>Float SW Data Type</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.FloatSWDataTypeImpl
+		 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.HardwareBaselinePackageImpl#getFloatSWDataType()
+		 * @generated
+		 */
+		EClass FLOAT_SW_DATA_TYPE = eINSTANCE.getFloatSWDataType();
+
+		/**
+		 * The meta object literal for the '<em><b>Signed</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute FLOAT_SW_DATA_TYPE__SIGNED = eINSTANCE.getFloatSWDataType_Signed();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.FixedSWDataTypeImpl <em>Fixed SW Data Type</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.FixedSWDataTypeImpl
+		 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.HardwareBaselinePackageImpl#getFixedSWDataType()
+		 * @generated
+		 */
+		EClass FIXED_SW_DATA_TYPE = eINSTANCE.getFixedSWDataType();
+
+		/**
+		 * The meta object literal for the '<em><b>Signed</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute FIXED_SW_DATA_TYPE__SIGNED = eINSTANCE.getFixedSWDataType_Signed();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.IntegerSWDataTypeImpl <em>Integer SW Data Type</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.IntegerSWDataTypeImpl
+		 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.HardwareBaselinePackageImpl#getIntegerSWDataType()
+		 * @generated
+		 */
+		EClass INTEGER_SW_DATA_TYPE = eINSTANCE.getIntegerSWDataType();
+
+		/**
+		 * The meta object literal for the '<em><b>Signed</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute INTEGER_SW_DATA_TYPE__SIGNED = eINSTANCE.getIntegerSWDataType_Signed();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.CharSWDataTypeImpl <em>Char SW Data Type</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.CharSWDataTypeImpl
+		 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.HardwareBaselinePackageImpl#getCharSWDataType()
+		 * @generated
+		 */
+		EClass CHAR_SW_DATA_TYPE = eINSTANCE.getCharSWDataType();
+
+		/**
+		 * The meta object literal for the '<em><b>Signed</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute CHAR_SW_DATA_TYPE__SIGNED = eINSTANCE.getCharSWDataType_Signed();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.BooleanSWDataTypeImpl <em>Boolean SW Data Type</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.BooleanSWDataTypeImpl
+		 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.HardwareBaselinePackageImpl#getBooleanSWDataType()
+		 * @generated
+		 */
+		EClass BOOLEAN_SW_DATA_TYPE = eINSTANCE.getBooleanSWDataType();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.CH_HwBusImpl <em>CH Hw Bus</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.CH_HwBusImpl
+		 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.HardwareBaselinePackageImpl#getCH_HwBus()
+		 * @generated
+		 */
+		EClass CH_HW_BUS = eINSTANCE.getCH_HwBus();
+
+		/**
+		 * The meta object literal for the '<em><b>Utilization</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute CH_HW_BUS__UTILIZATION = eINSTANCE.getCH_HwBus_Utilization();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.CH_HwComputingResourceImpl <em>CH Hw Computing Resource</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.CH_HwComputingResourceImpl
+		 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.HardwareBaselinePackageImpl#getCH_HwComputingResource()
+		 * @generated
+		 */
+		EClass CH_HW_COMPUTING_RESOURCE = eINSTANCE.getCH_HwComputingResource();
+
+		/**
+		 * The meta object literal for the '<em><b>Utilization</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute CH_HW_COMPUTING_RESOURCE__UTILIZATION = eINSTANCE.getCH_HwComputingResource_Utilization();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.DataTypeAssignImpl <em>Data Type Assign</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.DataTypeAssignImpl
+		 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.HardwareBaselinePackageImpl#getDataTypeAssign()
+		 * @generated
+		 */
+		EClass DATA_TYPE_ASSIGN = eINSTANCE.getDataTypeAssign();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Comment</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference DATA_TYPE_ASSIGN__BASE_COMMENT = eINSTANCE.getDataTypeAssign_Base_Comment();
+
+		/**
+		 * The meta object literal for the '<em><b>From</b></em>' reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference DATA_TYPE_ASSIGN__FROM = eINSTANCE.getDataTypeAssign_From();
+
+		/**
+		 * The meta object literal for the '<em><b>To</b></em>' reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference DATA_TYPE_ASSIGN__TO = eINSTANCE.getDataTypeAssign_To();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.BasicOperation <em>Basic Operation</em>}' enum.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.BasicOperation
+		 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.HardwareBaselinePackageImpl#getBasicOperation()
+		 * @generated
+		 */
+		EEnum BASIC_OPERATION = eINSTANCE.getBasicOperation();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.BasicDataType <em>Basic Data Type</em>}' enum.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.BasicDataType
+		 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.HardwareBaselinePackageImpl#getBasicDataType()
+		 * @generated
+		 */
+		EEnum BASIC_DATA_TYPE = eINSTANCE.getBasicDataType();
+
+	}
+
+} //HardwareBaselinePackage
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/IntegerSWDataType.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/IntegerSWDataType.java
new file mode 100644
index 000000000..b5d808f85
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/IntegerSWDataType.java
@@ -0,0 +1,58 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Integer SW Data Type</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.IntegerSWDataType#isSigned <em>Signed</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HardwareBaselinePackage#getIntegerSWDataType()
+ * @model
+ * @generated
+ */
+public interface IntegerSWDataType extends SWDataType {
+	/**
+	 * Returns the value of the '<em><b>Signed</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Signed</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Signed</em>' attribute.
+	 * @see #setSigned(boolean)
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HardwareBaselinePackage#getIntegerSWDataType_Signed()
+	 * @model dataType="org.eclipse.uml2.types.Boolean" required="true" ordered="false"
+	 * @generated
+	 */
+	boolean isSigned();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.IntegerSWDataType#isSigned <em>Signed</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Signed</em>' attribute.
+	 * @see #isSigned()
+	 * @generated
+	 */
+	void setSigned(boolean value);
+
+} // IntegerSWDataType
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/OperationCount.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/OperationCount.java
new file mode 100644
index 000000000..4cb67f76a
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/OperationCount.java
@@ -0,0 +1,116 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Operation Count</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.OperationCount#getOperation <em>Operation</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.OperationCount#getCount <em>Count</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.OperationCount#getBase_Class <em>Base Class</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HardwareBaselinePackage#getOperationCount()
+ * @model
+ * @generated
+ */
+public interface OperationCount extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Operation</b></em>' attribute.
+	 * The literals are from the enumeration {@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.BasicOperation}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Operation</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Operation</em>' attribute.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.BasicOperation
+	 * @see #setOperation(BasicOperation)
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HardwareBaselinePackage#getOperationCount_Operation()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	BasicOperation getOperation();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.OperationCount#getOperation <em>Operation</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Operation</em>' attribute.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.BasicOperation
+	 * @see #getOperation()
+	 * @generated
+	 */
+	void setOperation(BasicOperation value);
+
+	/**
+	 * Returns the value of the '<em><b>Count</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Count</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Count</em>' attribute.
+	 * @see #setCount(int)
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HardwareBaselinePackage#getOperationCount_Count()
+	 * @model dataType="org.eclipse.uml2.types.Integer" required="true" ordered="false"
+	 * @generated
+	 */
+	int getCount();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.OperationCount#getCount <em>Count</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Count</em>' attribute.
+	 * @see #getCount()
+	 * @generated
+	 */
+	void setCount(int value);
+
+	/**
+	 * Returns the value of the '<em><b>Base Class</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Class</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Base Class</em>' reference.
+	 * @see #setBase_Class(org.eclipse.uml2.uml.Class)
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HardwareBaselinePackage#getOperationCount_Base_Class()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	org.eclipse.uml2.uml.Class getBase_Class();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.OperationCount#getBase_Class <em>Base Class</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Base Class</em>' reference.
+	 * @see #getBase_Class()
+	 * @generated
+	 */
+	void setBase_Class(org.eclipse.uml2.uml.Class value);
+
+} // OperationCount
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/SWDataType.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/SWDataType.java
new file mode 100644
index 000000000..bf5a230b8
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/SWDataType.java
@@ -0,0 +1,88 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.uml2.uml.DataType;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>SW Data Type</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.SWDataType#getBase_DataType <em>Base Data Type</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.SWDataType#getBitSize <em>Bit Size</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HardwareBaselinePackage#getSWDataType()
+ * @model abstract="true"
+ * @generated
+ */
+public interface SWDataType extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Base Data Type</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Data Type</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Base Data Type</em>' reference.
+	 * @see #setBase_DataType(DataType)
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HardwareBaselinePackage#getSWDataType_Base_DataType()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	DataType getBase_DataType();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.SWDataType#getBase_DataType <em>Base Data Type</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Base Data Type</em>' reference.
+	 * @see #getBase_DataType()
+	 * @generated
+	 */
+	void setBase_DataType(DataType value);
+
+	/**
+	 * Returns the value of the '<em><b>Bit Size</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Bit Size</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Bit Size</em>' attribute.
+	 * @see #setBitSize(int)
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HardwareBaselinePackage#getSWDataType_BitSize()
+	 * @model dataType="org.eclipse.uml2.types.Integer" required="true" ordered="false"
+	 * @generated
+	 */
+	int getBitSize();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.SWDataType#getBitSize <em>Bit Size</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Bit Size</em>' attribute.
+	 * @see #getBitSize()
+	 * @generated
+	 */
+	void setBitSize(int value);
+
+} // SWDataType
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/impl/BooleanSWDataTypeImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/impl/BooleanSWDataTypeImpl.java
new file mode 100644
index 000000000..d5cb1354e
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/impl/BooleanSWDataTypeImpl.java
@@ -0,0 +1,47 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.BooleanSWDataType;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HardwareBaselinePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Boolean SW Data Type</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class BooleanSWDataTypeImpl extends SWDataTypeImpl implements BooleanSWDataType {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected BooleanSWDataTypeImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return HardwareBaselinePackage.Literals.BOOLEAN_SW_DATA_TYPE;
+	}
+
+} //BooleanSWDataTypeImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/impl/CHControlFlowImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/impl/CHControlFlowImpl.java
new file mode 100644
index 000000000..d7ea22ba7
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/impl/CHControlFlowImpl.java
@@ -0,0 +1,379 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.uml2.uml.ControlFlow;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.CHControlFlow;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.ComputeComplexity;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HardwareBaselinePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>CH Control Flow</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.CHControlFlowImpl#getBase_ControlFlow <em>Base Control Flow</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.CHControlFlowImpl#getRep <em>Rep</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.CHControlFlowImpl#getProb <em>Prob</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.CHControlFlowImpl#getOrder <em>Order</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.CHControlFlowImpl#getCompComplex <em>Comp Complex</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class CHControlFlowImpl extends EObjectImpl implements CHControlFlow {
+	/**
+	 * The cached value of the '{@link #getBase_ControlFlow() <em>Base Control Flow</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBase_ControlFlow()
+	 * @generated
+	 * @ordered
+	 */
+	protected ControlFlow base_ControlFlow;
+
+	/**
+	 * The default value of the '{@link #getRep() <em>Rep</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getRep()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String REP_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getRep() <em>Rep</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getRep()
+	 * @generated
+	 * @ordered
+	 */
+	protected String rep = REP_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getProb() <em>Prob</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getProb()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String PROB_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getProb() <em>Prob</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getProb()
+	 * @generated
+	 * @ordered
+	 */
+	protected String prob = PROB_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getOrder() <em>Order</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getOrder()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String ORDER_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getOrder() <em>Order</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getOrder()
+	 * @generated
+	 * @ordered
+	 */
+	protected String order = ORDER_EDEFAULT;
+
+	/**
+	 * The cached value of the '{@link #getCompComplex() <em>Comp Complex</em>}' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getCompComplex()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<ComputeComplexity> compComplex;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CHControlFlowImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return HardwareBaselinePackage.Literals.CH_CONTROL_FLOW;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ControlFlow getBase_ControlFlow() {
+		if (base_ControlFlow != null && base_ControlFlow.eIsProxy()) {
+			InternalEObject oldBase_ControlFlow = (InternalEObject)base_ControlFlow;
+			base_ControlFlow = (ControlFlow)eResolveProxy(oldBase_ControlFlow);
+			if (base_ControlFlow != oldBase_ControlFlow) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, HardwareBaselinePackage.CH_CONTROL_FLOW__BASE_CONTROL_FLOW, oldBase_ControlFlow, base_ControlFlow));
+			}
+		}
+		return base_ControlFlow;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ControlFlow basicGetBase_ControlFlow() {
+		return base_ControlFlow;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setBase_ControlFlow(ControlFlow newBase_ControlFlow) {
+		ControlFlow oldBase_ControlFlow = base_ControlFlow;
+		base_ControlFlow = newBase_ControlFlow;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, HardwareBaselinePackage.CH_CONTROL_FLOW__BASE_CONTROL_FLOW, oldBase_ControlFlow, base_ControlFlow));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getRep() {
+		return rep;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setRep(String newRep) {
+		String oldRep = rep;
+		rep = newRep;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, HardwareBaselinePackage.CH_CONTROL_FLOW__REP, oldRep, rep));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getProb() {
+		return prob;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setProb(String newProb) {
+		String oldProb = prob;
+		prob = newProb;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, HardwareBaselinePackage.CH_CONTROL_FLOW__PROB, oldProb, prob));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getOrder() {
+		return order;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setOrder(String newOrder) {
+		String oldOrder = order;
+		order = newOrder;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, HardwareBaselinePackage.CH_CONTROL_FLOW__ORDER, oldOrder, order));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<ComputeComplexity> getCompComplex() {
+		if (compComplex == null) {
+			compComplex = new EObjectResolvingEList<ComputeComplexity>(ComputeComplexity.class, this, HardwareBaselinePackage.CH_CONTROL_FLOW__COMP_COMPLEX);
+		}
+		return compComplex;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case HardwareBaselinePackage.CH_CONTROL_FLOW__BASE_CONTROL_FLOW:
+				if (resolve) return getBase_ControlFlow();
+				return basicGetBase_ControlFlow();
+			case HardwareBaselinePackage.CH_CONTROL_FLOW__REP:
+				return getRep();
+			case HardwareBaselinePackage.CH_CONTROL_FLOW__PROB:
+				return getProb();
+			case HardwareBaselinePackage.CH_CONTROL_FLOW__ORDER:
+				return getOrder();
+			case HardwareBaselinePackage.CH_CONTROL_FLOW__COMP_COMPLEX:
+				return getCompComplex();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case HardwareBaselinePackage.CH_CONTROL_FLOW__BASE_CONTROL_FLOW:
+				setBase_ControlFlow((ControlFlow)newValue);
+				return;
+			case HardwareBaselinePackage.CH_CONTROL_FLOW__REP:
+				setRep((String)newValue);
+				return;
+			case HardwareBaselinePackage.CH_CONTROL_FLOW__PROB:
+				setProb((String)newValue);
+				return;
+			case HardwareBaselinePackage.CH_CONTROL_FLOW__ORDER:
+				setOrder((String)newValue);
+				return;
+			case HardwareBaselinePackage.CH_CONTROL_FLOW__COMP_COMPLEX:
+				getCompComplex().clear();
+				getCompComplex().addAll((Collection<? extends ComputeComplexity>)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case HardwareBaselinePackage.CH_CONTROL_FLOW__BASE_CONTROL_FLOW:
+				setBase_ControlFlow((ControlFlow)null);
+				return;
+			case HardwareBaselinePackage.CH_CONTROL_FLOW__REP:
+				setRep(REP_EDEFAULT);
+				return;
+			case HardwareBaselinePackage.CH_CONTROL_FLOW__PROB:
+				setProb(PROB_EDEFAULT);
+				return;
+			case HardwareBaselinePackage.CH_CONTROL_FLOW__ORDER:
+				setOrder(ORDER_EDEFAULT);
+				return;
+			case HardwareBaselinePackage.CH_CONTROL_FLOW__COMP_COMPLEX:
+				getCompComplex().clear();
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case HardwareBaselinePackage.CH_CONTROL_FLOW__BASE_CONTROL_FLOW:
+				return base_ControlFlow != null;
+			case HardwareBaselinePackage.CH_CONTROL_FLOW__REP:
+				return REP_EDEFAULT == null ? rep != null : !REP_EDEFAULT.equals(rep);
+			case HardwareBaselinePackage.CH_CONTROL_FLOW__PROB:
+				return PROB_EDEFAULT == null ? prob != null : !PROB_EDEFAULT.equals(prob);
+			case HardwareBaselinePackage.CH_CONTROL_FLOW__ORDER:
+				return ORDER_EDEFAULT == null ? order != null : !ORDER_EDEFAULT.equals(order);
+			case HardwareBaselinePackage.CH_CONTROL_FLOW__COMP_COMPLEX:
+				return compComplex != null && !compComplex.isEmpty();
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (rep: ");
+		result.append(rep);
+		result.append(", prob: ");
+		result.append(prob);
+		result.append(", order: ");
+		result.append(order);
+		result.append(')');
+		return result.toString();
+	}
+
+} //CHControlFlowImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/impl/CH_HwBusImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/impl/CH_HwBusImpl.java
new file mode 100644
index 000000000..2cdceeb1e
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/impl/CH_HwBusImpl.java
@@ -0,0 +1,169 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.impl.HwBusImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.CH_HwBus;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HardwareBaselinePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>CH Hw Bus</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.CH_HwBusImpl#getUtilization <em>Utilization</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class CH_HwBusImpl extends HwBusImpl implements CH_HwBus {
+	/**
+	 * The default value of the '{@link #getUtilization() <em>Utilization</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getUtilization()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String UTILIZATION_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getUtilization() <em>Utilization</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getUtilization()
+	 * @generated
+	 * @ordered
+	 */
+	protected String utilization = UTILIZATION_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CH_HwBusImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return HardwareBaselinePackage.Literals.CH_HW_BUS;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getUtilization() {
+		return utilization;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setUtilization(String newUtilization) {
+		String oldUtilization = utilization;
+		utilization = newUtilization;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, HardwareBaselinePackage.CH_HW_BUS__UTILIZATION, oldUtilization, utilization));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case HardwareBaselinePackage.CH_HW_BUS__UTILIZATION:
+				return getUtilization();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case HardwareBaselinePackage.CH_HW_BUS__UTILIZATION:
+				setUtilization((String)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case HardwareBaselinePackage.CH_HW_BUS__UTILIZATION:
+				setUtilization(UTILIZATION_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case HardwareBaselinePackage.CH_HW_BUS__UTILIZATION:
+				return UTILIZATION_EDEFAULT == null ? utilization != null : !UTILIZATION_EDEFAULT.equals(utilization);
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (utilization: ");
+		result.append(utilization);
+		result.append(')');
+		return result.toString();
+	}
+
+} //CH_HwBusImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/impl/CH_HwComputingResourceImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/impl/CH_HwComputingResourceImpl.java
new file mode 100644
index 000000000..1411a223b
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/impl/CH_HwComputingResourceImpl.java
@@ -0,0 +1,169 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.impl.HwComputingResourceImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.CH_HwComputingResource;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HardwareBaselinePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>CH Hw Computing Resource</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.CH_HwComputingResourceImpl#getUtilization <em>Utilization</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class CH_HwComputingResourceImpl extends HwComputingResourceImpl implements CH_HwComputingResource {
+	/**
+	 * The default value of the '{@link #getUtilization() <em>Utilization</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getUtilization()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String UTILIZATION_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getUtilization() <em>Utilization</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getUtilization()
+	 * @generated
+	 * @ordered
+	 */
+	protected String utilization = UTILIZATION_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CH_HwComputingResourceImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return HardwareBaselinePackage.Literals.CH_HW_COMPUTING_RESOURCE;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getUtilization() {
+		return utilization;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setUtilization(String newUtilization) {
+		String oldUtilization = utilization;
+		utilization = newUtilization;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, HardwareBaselinePackage.CH_HW_COMPUTING_RESOURCE__UTILIZATION, oldUtilization, utilization));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case HardwareBaselinePackage.CH_HW_COMPUTING_RESOURCE__UTILIZATION:
+				return getUtilization();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case HardwareBaselinePackage.CH_HW_COMPUTING_RESOURCE__UTILIZATION:
+				setUtilization((String)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case HardwareBaselinePackage.CH_HW_COMPUTING_RESOURCE__UTILIZATION:
+				setUtilization(UTILIZATION_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case HardwareBaselinePackage.CH_HW_COMPUTING_RESOURCE__UTILIZATION:
+				return UTILIZATION_EDEFAULT == null ? utilization != null : !UTILIZATION_EDEFAULT.equals(utilization);
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (utilization: ");
+		result.append(utilization);
+		result.append(')');
+		return result.toString();
+	}
+
+} //CH_HwComputingResourceImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/impl/CH_HwProcessorImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/impl/CH_HwProcessorImpl.java
new file mode 100644
index 000000000..bcb929c00
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/impl/CH_HwProcessorImpl.java
@@ -0,0 +1,209 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.impl.HwProcessorImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.CH_HwProcessor;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HWDataType;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HardwareBaselinePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>CH Hw Processor</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.CH_HwProcessorImpl#getDataType <em>Data Type</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.CH_HwProcessorImpl#getUtilization <em>Utilization</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class CH_HwProcessorImpl extends HwProcessorImpl implements CH_HwProcessor {
+	/**
+	 * The cached value of the '{@link #getDataType() <em>Data Type</em>}' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDataType()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<HWDataType> dataType;
+
+	/**
+	 * The default value of the '{@link #getUtilization() <em>Utilization</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getUtilization()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String UTILIZATION_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getUtilization() <em>Utilization</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getUtilization()
+	 * @generated
+	 * @ordered
+	 */
+	protected String utilization = UTILIZATION_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CH_HwProcessorImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return HardwareBaselinePackage.Literals.CH_HW_PROCESSOR;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<HWDataType> getDataType() {
+		if (dataType == null) {
+			dataType = new EObjectResolvingEList<HWDataType>(HWDataType.class, this, HardwareBaselinePackage.CH_HW_PROCESSOR__DATA_TYPE);
+		}
+		return dataType;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getUtilization() {
+		return utilization;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setUtilization(String newUtilization) {
+		String oldUtilization = utilization;
+		utilization = newUtilization;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, HardwareBaselinePackage.CH_HW_PROCESSOR__UTILIZATION, oldUtilization, utilization));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case HardwareBaselinePackage.CH_HW_PROCESSOR__DATA_TYPE:
+				return getDataType();
+			case HardwareBaselinePackage.CH_HW_PROCESSOR__UTILIZATION:
+				return getUtilization();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case HardwareBaselinePackage.CH_HW_PROCESSOR__DATA_TYPE:
+				getDataType().clear();
+				getDataType().addAll((Collection<? extends HWDataType>)newValue);
+				return;
+			case HardwareBaselinePackage.CH_HW_PROCESSOR__UTILIZATION:
+				setUtilization((String)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case HardwareBaselinePackage.CH_HW_PROCESSOR__DATA_TYPE:
+				getDataType().clear();
+				return;
+			case HardwareBaselinePackage.CH_HW_PROCESSOR__UTILIZATION:
+				setUtilization(UTILIZATION_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case HardwareBaselinePackage.CH_HW_PROCESSOR__DATA_TYPE:
+				return dataType != null && !dataType.isEmpty();
+			case HardwareBaselinePackage.CH_HW_PROCESSOR__UTILIZATION:
+				return UTILIZATION_EDEFAULT == null ? utilization != null : !UTILIZATION_EDEFAULT.equals(utilization);
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (utilization: ");
+		result.append(utilization);
+		result.append(')');
+		return result.toString();
+	}
+
+} //CH_HwProcessorImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/impl/CharSWDataTypeImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/impl/CharSWDataTypeImpl.java
new file mode 100644
index 000000000..ca940034b
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/impl/CharSWDataTypeImpl.java
@@ -0,0 +1,168 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.CharSWDataType;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HardwareBaselinePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Char SW Data Type</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.CharSWDataTypeImpl#isSigned <em>Signed</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class CharSWDataTypeImpl extends SWDataTypeImpl implements CharSWDataType {
+	/**
+	 * The default value of the '{@link #isSigned() <em>Signed</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #isSigned()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final boolean SIGNED_EDEFAULT = false;
+
+	/**
+	 * The cached value of the '{@link #isSigned() <em>Signed</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #isSigned()
+	 * @generated
+	 * @ordered
+	 */
+	protected boolean signed = SIGNED_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CharSWDataTypeImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return HardwareBaselinePackage.Literals.CHAR_SW_DATA_TYPE;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public boolean isSigned() {
+		return signed;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setSigned(boolean newSigned) {
+		boolean oldSigned = signed;
+		signed = newSigned;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, HardwareBaselinePackage.CHAR_SW_DATA_TYPE__SIGNED, oldSigned, signed));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case HardwareBaselinePackage.CHAR_SW_DATA_TYPE__SIGNED:
+				return isSigned();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case HardwareBaselinePackage.CHAR_SW_DATA_TYPE__SIGNED:
+				setSigned((Boolean)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case HardwareBaselinePackage.CHAR_SW_DATA_TYPE__SIGNED:
+				setSigned(SIGNED_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case HardwareBaselinePackage.CHAR_SW_DATA_TYPE__SIGNED:
+				return signed != SIGNED_EDEFAULT;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (signed: ");
+		result.append(signed);
+		result.append(')');
+		return result.toString();
+	}
+
+} //CharSWDataTypeImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/impl/ComputeComplexityImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/impl/ComputeComplexityImpl.java
new file mode 100644
index 000000000..31e5e6183
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/impl/ComputeComplexityImpl.java
@@ -0,0 +1,263 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.ComputeComplexity;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HardwareBaselinePackage;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.OperationCount;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.SWDataType;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Compute Complexity</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.ComputeComplexityImpl#getSwDataType <em>Sw Data Type</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.ComputeComplexityImpl#getOpCount <em>Op Count</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.ComputeComplexityImpl#getBase_Class <em>Base Class</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ComputeComplexityImpl extends EObjectImpl implements ComputeComplexity {
+	/**
+	 * The cached value of the '{@link #getSwDataType() <em>Sw Data Type</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getSwDataType()
+	 * @generated
+	 * @ordered
+	 */
+	protected SWDataType swDataType;
+
+	/**
+	 * The cached value of the '{@link #getOpCount() <em>Op Count</em>}' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getOpCount()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<OperationCount> opCount;
+
+	/**
+	 * The cached value of the '{@link #getBase_Class() <em>Base Class</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBase_Class()
+	 * @generated
+	 * @ordered
+	 */
+	protected org.eclipse.uml2.uml.Class base_Class;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ComputeComplexityImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return HardwareBaselinePackage.Literals.COMPUTE_COMPLEXITY;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public SWDataType getSwDataType() {
+		if (swDataType != null && swDataType.eIsProxy()) {
+			InternalEObject oldSwDataType = (InternalEObject)swDataType;
+			swDataType = (SWDataType)eResolveProxy(oldSwDataType);
+			if (swDataType != oldSwDataType) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, HardwareBaselinePackage.COMPUTE_COMPLEXITY__SW_DATA_TYPE, oldSwDataType, swDataType));
+			}
+		}
+		return swDataType;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public SWDataType basicGetSwDataType() {
+		return swDataType;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setSwDataType(SWDataType newSwDataType) {
+		SWDataType oldSwDataType = swDataType;
+		swDataType = newSwDataType;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, HardwareBaselinePackage.COMPUTE_COMPLEXITY__SW_DATA_TYPE, oldSwDataType, swDataType));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<OperationCount> getOpCount() {
+		if (opCount == null) {
+			opCount = new EObjectResolvingEList<OperationCount>(OperationCount.class, this, HardwareBaselinePackage.COMPUTE_COMPLEXITY__OP_COUNT);
+		}
+		return opCount;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public org.eclipse.uml2.uml.Class getBase_Class() {
+		if (base_Class != null && base_Class.eIsProxy()) {
+			InternalEObject oldBase_Class = (InternalEObject)base_Class;
+			base_Class = (org.eclipse.uml2.uml.Class)eResolveProxy(oldBase_Class);
+			if (base_Class != oldBase_Class) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, HardwareBaselinePackage.COMPUTE_COMPLEXITY__BASE_CLASS, oldBase_Class, base_Class));
+			}
+		}
+		return base_Class;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public org.eclipse.uml2.uml.Class basicGetBase_Class() {
+		return base_Class;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setBase_Class(org.eclipse.uml2.uml.Class newBase_Class) {
+		org.eclipse.uml2.uml.Class oldBase_Class = base_Class;
+		base_Class = newBase_Class;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, HardwareBaselinePackage.COMPUTE_COMPLEXITY__BASE_CLASS, oldBase_Class, base_Class));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case HardwareBaselinePackage.COMPUTE_COMPLEXITY__SW_DATA_TYPE:
+				if (resolve) return getSwDataType();
+				return basicGetSwDataType();
+			case HardwareBaselinePackage.COMPUTE_COMPLEXITY__OP_COUNT:
+				return getOpCount();
+			case HardwareBaselinePackage.COMPUTE_COMPLEXITY__BASE_CLASS:
+				if (resolve) return getBase_Class();
+				return basicGetBase_Class();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case HardwareBaselinePackage.COMPUTE_COMPLEXITY__SW_DATA_TYPE:
+				setSwDataType((SWDataType)newValue);
+				return;
+			case HardwareBaselinePackage.COMPUTE_COMPLEXITY__OP_COUNT:
+				getOpCount().clear();
+				getOpCount().addAll((Collection<? extends OperationCount>)newValue);
+				return;
+			case HardwareBaselinePackage.COMPUTE_COMPLEXITY__BASE_CLASS:
+				setBase_Class((org.eclipse.uml2.uml.Class)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case HardwareBaselinePackage.COMPUTE_COMPLEXITY__SW_DATA_TYPE:
+				setSwDataType((SWDataType)null);
+				return;
+			case HardwareBaselinePackage.COMPUTE_COMPLEXITY__OP_COUNT:
+				getOpCount().clear();
+				return;
+			case HardwareBaselinePackage.COMPUTE_COMPLEXITY__BASE_CLASS:
+				setBase_Class((org.eclipse.uml2.uml.Class)null);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case HardwareBaselinePackage.COMPUTE_COMPLEXITY__SW_DATA_TYPE:
+				return swDataType != null;
+			case HardwareBaselinePackage.COMPUTE_COMPLEXITY__OP_COUNT:
+				return opCount != null && !opCount.isEmpty();
+			case HardwareBaselinePackage.COMPUTE_COMPLEXITY__BASE_CLASS:
+				return base_Class != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //ComputeComplexityImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/impl/DataTypeAssignImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/impl/DataTypeAssignImpl.java
new file mode 100644
index 000000000..4d7468875
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/impl/DataTypeAssignImpl.java
@@ -0,0 +1,238 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.uml2.uml.Comment;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.DataTypeAssign;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HWDataType;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HardwareBaselinePackage;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.SWDataType;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Data Type Assign</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.DataTypeAssignImpl#getBase_Comment <em>Base Comment</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.DataTypeAssignImpl#getFrom <em>From</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.DataTypeAssignImpl#getTo <em>To</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class DataTypeAssignImpl extends EObjectImpl implements DataTypeAssign {
+	/**
+	 * The cached value of the '{@link #getBase_Comment() <em>Base Comment</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBase_Comment()
+	 * @generated
+	 * @ordered
+	 */
+	protected Comment base_Comment;
+
+	/**
+	 * The cached value of the '{@link #getFrom() <em>From</em>}' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getFrom()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<SWDataType> from;
+
+	/**
+	 * The cached value of the '{@link #getTo() <em>To</em>}' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getTo()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<HWDataType> to;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected DataTypeAssignImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return HardwareBaselinePackage.Literals.DATA_TYPE_ASSIGN;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Comment getBase_Comment() {
+		if (base_Comment != null && base_Comment.eIsProxy()) {
+			InternalEObject oldBase_Comment = (InternalEObject)base_Comment;
+			base_Comment = (Comment)eResolveProxy(oldBase_Comment);
+			if (base_Comment != oldBase_Comment) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, HardwareBaselinePackage.DATA_TYPE_ASSIGN__BASE_COMMENT, oldBase_Comment, base_Comment));
+			}
+		}
+		return base_Comment;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Comment basicGetBase_Comment() {
+		return base_Comment;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setBase_Comment(Comment newBase_Comment) {
+		Comment oldBase_Comment = base_Comment;
+		base_Comment = newBase_Comment;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, HardwareBaselinePackage.DATA_TYPE_ASSIGN__BASE_COMMENT, oldBase_Comment, base_Comment));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<SWDataType> getFrom() {
+		if (from == null) {
+			from = new EObjectResolvingEList<SWDataType>(SWDataType.class, this, HardwareBaselinePackage.DATA_TYPE_ASSIGN__FROM);
+		}
+		return from;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<HWDataType> getTo() {
+		if (to == null) {
+			to = new EObjectResolvingEList<HWDataType>(HWDataType.class, this, HardwareBaselinePackage.DATA_TYPE_ASSIGN__TO);
+		}
+		return to;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case HardwareBaselinePackage.DATA_TYPE_ASSIGN__BASE_COMMENT:
+				if (resolve) return getBase_Comment();
+				return basicGetBase_Comment();
+			case HardwareBaselinePackage.DATA_TYPE_ASSIGN__FROM:
+				return getFrom();
+			case HardwareBaselinePackage.DATA_TYPE_ASSIGN__TO:
+				return getTo();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case HardwareBaselinePackage.DATA_TYPE_ASSIGN__BASE_COMMENT:
+				setBase_Comment((Comment)newValue);
+				return;
+			case HardwareBaselinePackage.DATA_TYPE_ASSIGN__FROM:
+				getFrom().clear();
+				getFrom().addAll((Collection<? extends SWDataType>)newValue);
+				return;
+			case HardwareBaselinePackage.DATA_TYPE_ASSIGN__TO:
+				getTo().clear();
+				getTo().addAll((Collection<? extends HWDataType>)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case HardwareBaselinePackage.DATA_TYPE_ASSIGN__BASE_COMMENT:
+				setBase_Comment((Comment)null);
+				return;
+			case HardwareBaselinePackage.DATA_TYPE_ASSIGN__FROM:
+				getFrom().clear();
+				return;
+			case HardwareBaselinePackage.DATA_TYPE_ASSIGN__TO:
+				getTo().clear();
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case HardwareBaselinePackage.DATA_TYPE_ASSIGN__BASE_COMMENT:
+				return base_Comment != null;
+			case HardwareBaselinePackage.DATA_TYPE_ASSIGN__FROM:
+				return from != null && !from.isEmpty();
+			case HardwareBaselinePackage.DATA_TYPE_ASSIGN__TO:
+				return to != null && !to.isEmpty();
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //DataTypeAssignImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/impl/DataTypeExecutionImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/impl/DataTypeExecutionImpl.java
new file mode 100644
index 000000000..1881fa4df
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/impl/DataTypeExecutionImpl.java
@@ -0,0 +1,285 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.BasicOperation;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.DataTypeExecution;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HardwareBaselinePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Data Type Execution</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.DataTypeExecutionImpl#getBase_Class <em>Base Class</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.DataTypeExecutionImpl#getOperation <em>Operation</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.DataTypeExecutionImpl#getExecutionCycles <em>Execution Cycles</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class DataTypeExecutionImpl extends EObjectImpl implements DataTypeExecution {
+	/**
+	 * The cached value of the '{@link #getBase_Class() <em>Base Class</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBase_Class()
+	 * @generated
+	 * @ordered
+	 */
+	protected org.eclipse.uml2.uml.Class base_Class;
+
+	/**
+	 * The default value of the '{@link #getOperation() <em>Operation</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getOperation()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final BasicOperation OPERATION_EDEFAULT = BasicOperation.ADD;
+
+	/**
+	 * The cached value of the '{@link #getOperation() <em>Operation</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getOperation()
+	 * @generated
+	 * @ordered
+	 */
+	protected BasicOperation operation = OPERATION_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getExecutionCycles() <em>Execution Cycles</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getExecutionCycles()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int EXECUTION_CYCLES_EDEFAULT = 0;
+
+	/**
+	 * The cached value of the '{@link #getExecutionCycles() <em>Execution Cycles</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getExecutionCycles()
+	 * @generated
+	 * @ordered
+	 */
+	protected int executionCycles = EXECUTION_CYCLES_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected DataTypeExecutionImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return HardwareBaselinePackage.Literals.DATA_TYPE_EXECUTION;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public org.eclipse.uml2.uml.Class getBase_Class() {
+		if (base_Class != null && base_Class.eIsProxy()) {
+			InternalEObject oldBase_Class = (InternalEObject)base_Class;
+			base_Class = (org.eclipse.uml2.uml.Class)eResolveProxy(oldBase_Class);
+			if (base_Class != oldBase_Class) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, HardwareBaselinePackage.DATA_TYPE_EXECUTION__BASE_CLASS, oldBase_Class, base_Class));
+			}
+		}
+		return base_Class;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public org.eclipse.uml2.uml.Class basicGetBase_Class() {
+		return base_Class;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setBase_Class(org.eclipse.uml2.uml.Class newBase_Class) {
+		org.eclipse.uml2.uml.Class oldBase_Class = base_Class;
+		base_Class = newBase_Class;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, HardwareBaselinePackage.DATA_TYPE_EXECUTION__BASE_CLASS, oldBase_Class, base_Class));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public BasicOperation getOperation() {
+		return operation;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setOperation(BasicOperation newOperation) {
+		BasicOperation oldOperation = operation;
+		operation = newOperation == null ? OPERATION_EDEFAULT : newOperation;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, HardwareBaselinePackage.DATA_TYPE_EXECUTION__OPERATION, oldOperation, operation));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public int getExecutionCycles() {
+		return executionCycles;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setExecutionCycles(int newExecutionCycles) {
+		int oldExecutionCycles = executionCycles;
+		executionCycles = newExecutionCycles;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, HardwareBaselinePackage.DATA_TYPE_EXECUTION__EXECUTION_CYCLES, oldExecutionCycles, executionCycles));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case HardwareBaselinePackage.DATA_TYPE_EXECUTION__BASE_CLASS:
+				if (resolve) return getBase_Class();
+				return basicGetBase_Class();
+			case HardwareBaselinePackage.DATA_TYPE_EXECUTION__OPERATION:
+				return getOperation();
+			case HardwareBaselinePackage.DATA_TYPE_EXECUTION__EXECUTION_CYCLES:
+				return getExecutionCycles();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case HardwareBaselinePackage.DATA_TYPE_EXECUTION__BASE_CLASS:
+				setBase_Class((org.eclipse.uml2.uml.Class)newValue);
+				return;
+			case HardwareBaselinePackage.DATA_TYPE_EXECUTION__OPERATION:
+				setOperation((BasicOperation)newValue);
+				return;
+			case HardwareBaselinePackage.DATA_TYPE_EXECUTION__EXECUTION_CYCLES:
+				setExecutionCycles((Integer)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case HardwareBaselinePackage.DATA_TYPE_EXECUTION__BASE_CLASS:
+				setBase_Class((org.eclipse.uml2.uml.Class)null);
+				return;
+			case HardwareBaselinePackage.DATA_TYPE_EXECUTION__OPERATION:
+				setOperation(OPERATION_EDEFAULT);
+				return;
+			case HardwareBaselinePackage.DATA_TYPE_EXECUTION__EXECUTION_CYCLES:
+				setExecutionCycles(EXECUTION_CYCLES_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case HardwareBaselinePackage.DATA_TYPE_EXECUTION__BASE_CLASS:
+				return base_Class != null;
+			case HardwareBaselinePackage.DATA_TYPE_EXECUTION__OPERATION:
+				return operation != OPERATION_EDEFAULT;
+			case HardwareBaselinePackage.DATA_TYPE_EXECUTION__EXECUTION_CYCLES:
+				return executionCycles != EXECUTION_CYCLES_EDEFAULT;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (operation: ");
+		result.append(operation);
+		result.append(", executionCycles: ");
+		result.append(executionCycles);
+		result.append(')');
+		return result.toString();
+	}
+
+} //DataTypeExecutionImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/impl/FixedSWDataTypeImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/impl/FixedSWDataTypeImpl.java
new file mode 100644
index 000000000..d7a2df72a
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/impl/FixedSWDataTypeImpl.java
@@ -0,0 +1,168 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.FixedSWDataType;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HardwareBaselinePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Fixed SW Data Type</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.FixedSWDataTypeImpl#isSigned <em>Signed</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class FixedSWDataTypeImpl extends SWDataTypeImpl implements FixedSWDataType {
+	/**
+	 * The default value of the '{@link #isSigned() <em>Signed</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #isSigned()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final boolean SIGNED_EDEFAULT = false;
+
+	/**
+	 * The cached value of the '{@link #isSigned() <em>Signed</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #isSigned()
+	 * @generated
+	 * @ordered
+	 */
+	protected boolean signed = SIGNED_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected FixedSWDataTypeImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return HardwareBaselinePackage.Literals.FIXED_SW_DATA_TYPE;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public boolean isSigned() {
+		return signed;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setSigned(boolean newSigned) {
+		boolean oldSigned = signed;
+		signed = newSigned;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, HardwareBaselinePackage.FIXED_SW_DATA_TYPE__SIGNED, oldSigned, signed));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case HardwareBaselinePackage.FIXED_SW_DATA_TYPE__SIGNED:
+				return isSigned();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case HardwareBaselinePackage.FIXED_SW_DATA_TYPE__SIGNED:
+				setSigned((Boolean)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case HardwareBaselinePackage.FIXED_SW_DATA_TYPE__SIGNED:
+				setSigned(SIGNED_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case HardwareBaselinePackage.FIXED_SW_DATA_TYPE__SIGNED:
+				return signed != SIGNED_EDEFAULT;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (signed: ");
+		result.append(signed);
+		result.append(')');
+		return result.toString();
+	}
+
+} //FixedSWDataTypeImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/impl/FloatSWDataTypeImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/impl/FloatSWDataTypeImpl.java
new file mode 100644
index 000000000..deaeb2e24
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/impl/FloatSWDataTypeImpl.java
@@ -0,0 +1,168 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.FloatSWDataType;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HardwareBaselinePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Float SW Data Type</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.FloatSWDataTypeImpl#isSigned <em>Signed</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class FloatSWDataTypeImpl extends SWDataTypeImpl implements FloatSWDataType {
+	/**
+	 * The default value of the '{@link #isSigned() <em>Signed</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #isSigned()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final boolean SIGNED_EDEFAULT = false;
+
+	/**
+	 * The cached value of the '{@link #isSigned() <em>Signed</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #isSigned()
+	 * @generated
+	 * @ordered
+	 */
+	protected boolean signed = SIGNED_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected FloatSWDataTypeImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return HardwareBaselinePackage.Literals.FLOAT_SW_DATA_TYPE;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public boolean isSigned() {
+		return signed;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setSigned(boolean newSigned) {
+		boolean oldSigned = signed;
+		signed = newSigned;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, HardwareBaselinePackage.FLOAT_SW_DATA_TYPE__SIGNED, oldSigned, signed));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case HardwareBaselinePackage.FLOAT_SW_DATA_TYPE__SIGNED:
+				return isSigned();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case HardwareBaselinePackage.FLOAT_SW_DATA_TYPE__SIGNED:
+				setSigned((Boolean)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case HardwareBaselinePackage.FLOAT_SW_DATA_TYPE__SIGNED:
+				setSigned(SIGNED_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case HardwareBaselinePackage.FLOAT_SW_DATA_TYPE__SIGNED:
+				return signed != SIGNED_EDEFAULT;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (signed: ");
+		result.append(signed);
+		result.append(')');
+		return result.toString();
+	}
+
+} //FloatSWDataTypeImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/impl/HWDataTypeImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/impl/HWDataTypeImpl.java
new file mode 100644
index 000000000..033a36216
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/impl/HWDataTypeImpl.java
@@ -0,0 +1,433 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.uml2.uml.DataType;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.DataTypeExecution;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HWDataType;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HardwareBaselinePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>HW Data Type</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.HWDataTypeImpl#getBase_DataType <em>Base Data Type</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.HWDataTypeImpl#getBitLength <em>Bit Length</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.HWDataTypeImpl#isSigned <em>Signed</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.HWDataTypeImpl#isFixedPoint <em>Fixed Point</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.HWDataTypeImpl#isFloat <em>Float</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.HWDataTypeImpl#getExecution <em>Execution</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class HWDataTypeImpl extends EObjectImpl implements HWDataType {
+	/**
+	 * The cached value of the '{@link #getBase_DataType() <em>Base Data Type</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBase_DataType()
+	 * @generated
+	 * @ordered
+	 */
+	protected DataType base_DataType;
+
+	/**
+	 * The default value of the '{@link #getBitLength() <em>Bit Length</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBitLength()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int BIT_LENGTH_EDEFAULT = 0;
+
+	/**
+	 * The cached value of the '{@link #getBitLength() <em>Bit Length</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBitLength()
+	 * @generated
+	 * @ordered
+	 */
+	protected int bitLength = BIT_LENGTH_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #isSigned() <em>Signed</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #isSigned()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final boolean SIGNED_EDEFAULT = false;
+
+	/**
+	 * The cached value of the '{@link #isSigned() <em>Signed</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #isSigned()
+	 * @generated
+	 * @ordered
+	 */
+	protected boolean signed = SIGNED_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #isFixedPoint() <em>Fixed Point</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #isFixedPoint()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final boolean FIXED_POINT_EDEFAULT = false;
+
+	/**
+	 * The cached value of the '{@link #isFixedPoint() <em>Fixed Point</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #isFixedPoint()
+	 * @generated
+	 * @ordered
+	 */
+	protected boolean fixedPoint = FIXED_POINT_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #isFloat() <em>Float</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #isFloat()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final boolean FLOAT_EDEFAULT = false;
+
+	/**
+	 * The cached value of the '{@link #isFloat() <em>Float</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #isFloat()
+	 * @generated
+	 * @ordered
+	 */
+	protected boolean float_ = FLOAT_EDEFAULT;
+
+	/**
+	 * The cached value of the '{@link #getExecution() <em>Execution</em>}' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getExecution()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<DataTypeExecution> execution;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected HWDataTypeImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return HardwareBaselinePackage.Literals.HW_DATA_TYPE;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public DataType getBase_DataType() {
+		if (base_DataType != null && base_DataType.eIsProxy()) {
+			InternalEObject oldBase_DataType = (InternalEObject)base_DataType;
+			base_DataType = (DataType)eResolveProxy(oldBase_DataType);
+			if (base_DataType != oldBase_DataType) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, HardwareBaselinePackage.HW_DATA_TYPE__BASE_DATA_TYPE, oldBase_DataType, base_DataType));
+			}
+		}
+		return base_DataType;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public DataType basicGetBase_DataType() {
+		return base_DataType;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setBase_DataType(DataType newBase_DataType) {
+		DataType oldBase_DataType = base_DataType;
+		base_DataType = newBase_DataType;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, HardwareBaselinePackage.HW_DATA_TYPE__BASE_DATA_TYPE, oldBase_DataType, base_DataType));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public int getBitLength() {
+		return bitLength;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setBitLength(int newBitLength) {
+		int oldBitLength = bitLength;
+		bitLength = newBitLength;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, HardwareBaselinePackage.HW_DATA_TYPE__BIT_LENGTH, oldBitLength, bitLength));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public boolean isSigned() {
+		return signed;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setSigned(boolean newSigned) {
+		boolean oldSigned = signed;
+		signed = newSigned;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, HardwareBaselinePackage.HW_DATA_TYPE__SIGNED, oldSigned, signed));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public boolean isFixedPoint() {
+		return fixedPoint;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setFixedPoint(boolean newFixedPoint) {
+		boolean oldFixedPoint = fixedPoint;
+		fixedPoint = newFixedPoint;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, HardwareBaselinePackage.HW_DATA_TYPE__FIXED_POINT, oldFixedPoint, fixedPoint));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public boolean isFloat() {
+		return float_;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setFloat(boolean newFloat) {
+		boolean oldFloat = float_;
+		float_ = newFloat;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, HardwareBaselinePackage.HW_DATA_TYPE__FLOAT, oldFloat, float_));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<DataTypeExecution> getExecution() {
+		if (execution == null) {
+			execution = new EObjectResolvingEList<DataTypeExecution>(DataTypeExecution.class, this, HardwareBaselinePackage.HW_DATA_TYPE__EXECUTION);
+		}
+		return execution;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case HardwareBaselinePackage.HW_DATA_TYPE__BASE_DATA_TYPE:
+				if (resolve) return getBase_DataType();
+				return basicGetBase_DataType();
+			case HardwareBaselinePackage.HW_DATA_TYPE__BIT_LENGTH:
+				return getBitLength();
+			case HardwareBaselinePackage.HW_DATA_TYPE__SIGNED:
+				return isSigned();
+			case HardwareBaselinePackage.HW_DATA_TYPE__FIXED_POINT:
+				return isFixedPoint();
+			case HardwareBaselinePackage.HW_DATA_TYPE__FLOAT:
+				return isFloat();
+			case HardwareBaselinePackage.HW_DATA_TYPE__EXECUTION:
+				return getExecution();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case HardwareBaselinePackage.HW_DATA_TYPE__BASE_DATA_TYPE:
+				setBase_DataType((DataType)newValue);
+				return;
+			case HardwareBaselinePackage.HW_DATA_TYPE__BIT_LENGTH:
+				setBitLength((Integer)newValue);
+				return;
+			case HardwareBaselinePackage.HW_DATA_TYPE__SIGNED:
+				setSigned((Boolean)newValue);
+				return;
+			case HardwareBaselinePackage.HW_DATA_TYPE__FIXED_POINT:
+				setFixedPoint((Boolean)newValue);
+				return;
+			case HardwareBaselinePackage.HW_DATA_TYPE__FLOAT:
+				setFloat((Boolean)newValue);
+				return;
+			case HardwareBaselinePackage.HW_DATA_TYPE__EXECUTION:
+				getExecution().clear();
+				getExecution().addAll((Collection<? extends DataTypeExecution>)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case HardwareBaselinePackage.HW_DATA_TYPE__BASE_DATA_TYPE:
+				setBase_DataType((DataType)null);
+				return;
+			case HardwareBaselinePackage.HW_DATA_TYPE__BIT_LENGTH:
+				setBitLength(BIT_LENGTH_EDEFAULT);
+				return;
+			case HardwareBaselinePackage.HW_DATA_TYPE__SIGNED:
+				setSigned(SIGNED_EDEFAULT);
+				return;
+			case HardwareBaselinePackage.HW_DATA_TYPE__FIXED_POINT:
+				setFixedPoint(FIXED_POINT_EDEFAULT);
+				return;
+			case HardwareBaselinePackage.HW_DATA_TYPE__FLOAT:
+				setFloat(FLOAT_EDEFAULT);
+				return;
+			case HardwareBaselinePackage.HW_DATA_TYPE__EXECUTION:
+				getExecution().clear();
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case HardwareBaselinePackage.HW_DATA_TYPE__BASE_DATA_TYPE:
+				return base_DataType != null;
+			case HardwareBaselinePackage.HW_DATA_TYPE__BIT_LENGTH:
+				return bitLength != BIT_LENGTH_EDEFAULT;
+			case HardwareBaselinePackage.HW_DATA_TYPE__SIGNED:
+				return signed != SIGNED_EDEFAULT;
+			case HardwareBaselinePackage.HW_DATA_TYPE__FIXED_POINT:
+				return fixedPoint != FIXED_POINT_EDEFAULT;
+			case HardwareBaselinePackage.HW_DATA_TYPE__FLOAT:
+				return float_ != FLOAT_EDEFAULT;
+			case HardwareBaselinePackage.HW_DATA_TYPE__EXECUTION:
+				return execution != null && !execution.isEmpty();
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (bitLength: ");
+		result.append(bitLength);
+		result.append(", signed: ");
+		result.append(signed);
+		result.append(", fixedPoint: ");
+		result.append(fixedPoint);
+		result.append(", float: ");
+		result.append(float_);
+		result.append(')');
+		return result.toString();
+	}
+
+} //HWDataTypeImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/impl/HardwareBaselineFactoryImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/impl/HardwareBaselineFactoryImpl.java
new file mode 100644
index 000000000..d7bc18cd7
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/impl/HardwareBaselineFactoryImpl.java
@@ -0,0 +1,319 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class HardwareBaselineFactoryImpl extends EFactoryImpl implements HardwareBaselineFactory {
+	/**
+	 * Creates the default factory implementation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static HardwareBaselineFactory init() {
+		try {
+			HardwareBaselineFactory theHardwareBaselineFactory = (HardwareBaselineFactory)EPackage.Registry.INSTANCE.getEFactory(HardwareBaselinePackage.eNS_URI);
+			if (theHardwareBaselineFactory != null) {
+				return theHardwareBaselineFactory;
+			}
+		}
+		catch (Exception exception) {
+			EcorePlugin.INSTANCE.log(exception);
+		}
+		return new HardwareBaselineFactoryImpl();
+	}
+
+	/**
+	 * Creates an instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public HardwareBaselineFactoryImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EObject create(EClass eClass) {
+		switch (eClass.getClassifierID()) {
+			case HardwareBaselinePackage.CH_HW_PROCESSOR: return createCH_HwProcessor();
+			case HardwareBaselinePackage.HW_DATA_TYPE: return createHWDataType();
+			case HardwareBaselinePackage.DATA_TYPE_EXECUTION: return createDataTypeExecution();
+			case HardwareBaselinePackage.COMPUTE_COMPLEXITY: return createComputeComplexity();
+			case HardwareBaselinePackage.OPERATION_COUNT: return createOperationCount();
+			case HardwareBaselinePackage.CH_CONTROL_FLOW: return createCHControlFlow();
+			case HardwareBaselinePackage.FLOAT_SW_DATA_TYPE: return createFloatSWDataType();
+			case HardwareBaselinePackage.FIXED_SW_DATA_TYPE: return createFixedSWDataType();
+			case HardwareBaselinePackage.INTEGER_SW_DATA_TYPE: return createIntegerSWDataType();
+			case HardwareBaselinePackage.CHAR_SW_DATA_TYPE: return createCharSWDataType();
+			case HardwareBaselinePackage.BOOLEAN_SW_DATA_TYPE: return createBooleanSWDataType();
+			case HardwareBaselinePackage.CH_HW_BUS: return createCH_HwBus();
+			case HardwareBaselinePackage.CH_HW_COMPUTING_RESOURCE: return createCH_HwComputingResource();
+			case HardwareBaselinePackage.DATA_TYPE_ASSIGN: return createDataTypeAssign();
+			default:
+				throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object createFromString(EDataType eDataType, String initialValue) {
+		switch (eDataType.getClassifierID()) {
+			case HardwareBaselinePackage.BASIC_OPERATION:
+				return createBasicOperationFromString(eDataType, initialValue);
+			case HardwareBaselinePackage.BASIC_DATA_TYPE:
+				return createBasicDataTypeFromString(eDataType, initialValue);
+			default:
+				throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String convertToString(EDataType eDataType, Object instanceValue) {
+		switch (eDataType.getClassifierID()) {
+			case HardwareBaselinePackage.BASIC_OPERATION:
+				return convertBasicOperationToString(eDataType, instanceValue);
+			case HardwareBaselinePackage.BASIC_DATA_TYPE:
+				return convertBasicDataTypeToString(eDataType, instanceValue);
+			default:
+				throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CH_HwProcessor createCH_HwProcessor() {
+		CH_HwProcessorImpl cH_HwProcessor = new CH_HwProcessorImpl();
+		return cH_HwProcessor;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public HWDataType createHWDataType() {
+		HWDataTypeImpl hwDataType = new HWDataTypeImpl();
+		return hwDataType;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public DataTypeExecution createDataTypeExecution() {
+		DataTypeExecutionImpl dataTypeExecution = new DataTypeExecutionImpl();
+		return dataTypeExecution;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ComputeComplexity createComputeComplexity() {
+		ComputeComplexityImpl computeComplexity = new ComputeComplexityImpl();
+		return computeComplexity;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public OperationCount createOperationCount() {
+		OperationCountImpl operationCount = new OperationCountImpl();
+		return operationCount;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CHControlFlow createCHControlFlow() {
+		CHControlFlowImpl chControlFlow = new CHControlFlowImpl();
+		return chControlFlow;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public FloatSWDataType createFloatSWDataType() {
+		FloatSWDataTypeImpl floatSWDataType = new FloatSWDataTypeImpl();
+		return floatSWDataType;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public FixedSWDataType createFixedSWDataType() {
+		FixedSWDataTypeImpl fixedSWDataType = new FixedSWDataTypeImpl();
+		return fixedSWDataType;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public IntegerSWDataType createIntegerSWDataType() {
+		IntegerSWDataTypeImpl integerSWDataType = new IntegerSWDataTypeImpl();
+		return integerSWDataType;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CharSWDataType createCharSWDataType() {
+		CharSWDataTypeImpl charSWDataType = new CharSWDataTypeImpl();
+		return charSWDataType;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public BooleanSWDataType createBooleanSWDataType() {
+		BooleanSWDataTypeImpl booleanSWDataType = new BooleanSWDataTypeImpl();
+		return booleanSWDataType;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CH_HwBus createCH_HwBus() {
+		CH_HwBusImpl cH_HwBus = new CH_HwBusImpl();
+		return cH_HwBus;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CH_HwComputingResource createCH_HwComputingResource() {
+		CH_HwComputingResourceImpl cH_HwComputingResource = new CH_HwComputingResourceImpl();
+		return cH_HwComputingResource;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public DataTypeAssign createDataTypeAssign() {
+		DataTypeAssignImpl dataTypeAssign = new DataTypeAssignImpl();
+		return dataTypeAssign;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public BasicOperation createBasicOperationFromString(EDataType eDataType, String initialValue) {
+		BasicOperation result = BasicOperation.get(initialValue);
+		if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+		return result;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String convertBasicOperationToString(EDataType eDataType, Object instanceValue) {
+		return instanceValue == null ? null : instanceValue.toString();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public BasicDataType createBasicDataTypeFromString(EDataType eDataType, String initialValue) {
+		BasicDataType result = BasicDataType.get(initialValue);
+		if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+		return result;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String convertBasicDataTypeToString(EDataType eDataType, Object instanceValue) {
+		return instanceValue == null ? null : instanceValue.toString();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public HardwareBaselinePackage getHardwareBaselinePackage() {
+		return (HardwareBaselinePackage)getEPackage();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @deprecated
+	 * @generated
+	 */
+	@Deprecated
+	public static HardwareBaselinePackage getPackage() {
+		return HardwareBaselinePackage.eINSTANCE;
+	}
+
+} //HardwareBaselineFactoryImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/impl/HardwareBaselinePackageImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/impl/HardwareBaselinePackageImpl.java
new file mode 100644
index 000000000..7b6cd1b6b
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/impl/HardwareBaselinePackageImpl.java
@@ -0,0 +1,1034 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EEnum;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+import org.eclipse.papyrus.MARTE.MARTEPackage;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwCommunicationPackage;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwComputingPackage;
+import org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.BasicNFP_TypesPackage;
+import org.eclipse.papyrus.MARTE_Library.GRM_BasicTypes.GRM_BasicTypesPackage;
+import org.eclipse.papyrus.MARTE_Library.MARTE_DataTypes.MARTE_DataTypesPackage;
+import org.eclipse.papyrus.MARTE_Library.MARTE_PrimitivesTypes.MARTE_PrimitivesTypesPackage;
+import org.eclipse.papyrus.MARTE_Library.MeasurementUnits.MeasurementUnitsPackage;
+import org.eclipse.papyrus.MARTE_Library.RS_Library.RS_LibraryPackage;
+import org.eclipse.papyrus.MARTE_Library.TimeLibrary.TimeLibraryPackage;
+import org.eclipse.papyrus.MARTE_Library.TimeTypesLibrary.TimeTypesLibraryPackage;
+import org.eclipse.uml2.types.TypesPackage;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.polarsys.chess.chessmlprofile.chessmlprofilePackage;
+import org.polarsys.chess.chessmlprofile.ComponentModel.ComponentModelPackage;
+import org.polarsys.chess.chessmlprofile.ComponentModel.impl.ComponentModelPackageImpl;
+import org.polarsys.chess.chessmlprofile.Core.CorePackage;
+import org.polarsys.chess.chessmlprofile.Core.CHESSViews.CHESSViewsPackage;
+import org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl.CHESSViewsPackageImpl;
+import org.polarsys.chess.chessmlprofile.Core.impl.CorePackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.DataFlowCallGraph.DataFlowCallGraphPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.DataFlowCallGraph.impl.DataFlowCallGraphPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.DependableComponentPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.impl.DependableComponentPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEAPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEADataTypes.FMEADataTypesPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEADataTypes.impl.FMEADataTypesPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.impl.FMEAPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.FailurePropagationDataTypesPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.impl.FailurePropagationDataTypesPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl.FailurePropagationPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans.MitigationMeansPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans.impl.MitigationMeansPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.FaultTolerancePackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.impl.FaultTolerancePackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.MaintenanceMonitoringPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.impl.MaintenanceMonitoringPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.StateBasedAnalysisPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.impl.StateBasedAnalysisPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StateBasedComponentsPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.impl.StateBasedComponentsPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.StateBasedDataTypesPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.impl.StateBasedDataTypesPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatsPropagationPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.ThreatsPropagationPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.DeploymentConfAnalysisPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.impl.DeploymentConfAnalysisPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.BasicDataType;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.BasicOperation;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.BooleanSWDataType;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.CHControlFlow;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.CH_HwBus;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.CH_HwComputingResource;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.CH_HwProcessor;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.CharSWDataType;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.ComputeComplexity;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.DataTypeAssign;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.DataTypeExecution;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.FixedSWDataType;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.FloatSWDataType;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HWDataType;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HardwareBaselineFactory;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HardwareBaselinePackage;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.IntegerSWDataType;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.OperationCount;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.SWDataType;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTComponentModelPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.RTDataTypesPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.impl.RTDataTypesPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.impl.RTComponentModelPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingAnalysisPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.TimingConstraintsPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.impl.TimingConstraintsPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.impl.TimingAnalysisPackageImpl;
+import org.polarsys.chess.chessmlprofile.impl.chessmlprofilePackageImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class HardwareBaselinePackageImpl extends EPackageImpl implements HardwareBaselinePackage {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass cH_HwProcessorEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass hwDataTypeEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass dataTypeExecutionEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass computeComplexityEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass swDataTypeEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass operationCountEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass chControlFlowEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass floatSWDataTypeEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass fixedSWDataTypeEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass integerSWDataTypeEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass charSWDataTypeEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass booleanSWDataTypeEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass cH_HwBusEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass cH_HwComputingResourceEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass dataTypeAssignEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EEnum basicOperationEEnum = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EEnum basicDataTypeEEnum = null;
+
+	/**
+	 * Creates an instance of the model <b>Package</b>, registered with
+	 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+	 * package URI value.
+	 * <p>Note: the correct way to create the package is via the static
+	 * factory method {@link #init init()}, which also performs
+	 * initialization of the package, or returns the registered package,
+	 * if one already exists.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.emf.ecore.EPackage.Registry
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HardwareBaselinePackage#eNS_URI
+	 * @see #init()
+	 * @generated
+	 */
+	private HardwareBaselinePackageImpl() {
+		super(eNS_URI, HardwareBaselineFactory.eINSTANCE);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static boolean isInited = false;
+
+	/**
+	 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+	 * 
+	 * <p>This method is used to initialize {@link HardwareBaselinePackage#eINSTANCE} when that field is accessed.
+	 * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #eNS_URI
+	 * @see #createPackageContents()
+	 * @see #initializePackageContents()
+	 * @generated
+	 */
+	public static HardwareBaselinePackage init() {
+		if (isInited) return (HardwareBaselinePackage)EPackage.Registry.INSTANCE.getEPackage(HardwareBaselinePackage.eNS_URI);
+
+		// Obtain or create and register package
+		HardwareBaselinePackageImpl theHardwareBaselinePackage = (HardwareBaselinePackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof HardwareBaselinePackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new HardwareBaselinePackageImpl());
+
+		isInited = true;
+
+		// Initialize simple dependencies
+		MARTEPackage.eINSTANCE.eClass();
+		MeasurementUnitsPackage.eINSTANCE.eClass();
+		GRM_BasicTypesPackage.eINSTANCE.eClass();
+		MARTE_DataTypesPackage.eINSTANCE.eClass();
+		BasicNFP_TypesPackage.eINSTANCE.eClass();
+		TimeTypesLibraryPackage.eINSTANCE.eClass();
+		TimeLibraryPackage.eINSTANCE.eClass();
+		RS_LibraryPackage.eINSTANCE.eClass();
+		MARTE_PrimitivesTypesPackage.eINSTANCE.eClass();
+		BasicNFP_TypesPackage.eINSTANCE.eClass();
+
+		// Obtain or create and register interdependencies
+		chessmlprofilePackageImpl thechessmlprofilePackage = (chessmlprofilePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(chessmlprofilePackage.eNS_URI) instanceof chessmlprofilePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(chessmlprofilePackage.eNS_URI) : chessmlprofilePackage.eINSTANCE);
+		CorePackageImpl theCorePackage = (CorePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(CorePackage.eNS_URI) instanceof CorePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(CorePackage.eNS_URI) : CorePackage.eINSTANCE);
+		CHESSViewsPackageImpl theCHESSViewsPackage = (CHESSViewsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(CHESSViewsPackage.eNS_URI) instanceof CHESSViewsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(CHESSViewsPackage.eNS_URI) : CHESSViewsPackage.eINSTANCE);
+		FailurePropagationPackageImpl theFailurePropagationPackage = (FailurePropagationPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FailurePropagationPackage.eNS_URI) instanceof FailurePropagationPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FailurePropagationPackage.eNS_URI) : FailurePropagationPackage.eINSTANCE);
+		FailurePropagationDataTypesPackageImpl theFailurePropagationDataTypesPackage = (FailurePropagationDataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FailurePropagationDataTypesPackage.eNS_URI) instanceof FailurePropagationDataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FailurePropagationDataTypesPackage.eNS_URI) : FailurePropagationDataTypesPackage.eINSTANCE);
+		DependableComponentPackageImpl theDependableComponentPackage = (DependableComponentPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DependableComponentPackage.eNS_URI) instanceof DependableComponentPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DependableComponentPackage.eNS_URI) : DependableComponentPackage.eINSTANCE);
+		ThreatsPropagationPackageImpl theThreatsPropagationPackage = (ThreatsPropagationPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ThreatsPropagationPackage.eNS_URI) instanceof ThreatsPropagationPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ThreatsPropagationPackage.eNS_URI) : ThreatsPropagationPackage.eINSTANCE);
+		DataFlowCallGraphPackageImpl theDataFlowCallGraphPackage = (DataFlowCallGraphPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DataFlowCallGraphPackage.eNS_URI) instanceof DataFlowCallGraphPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DataFlowCallGraphPackage.eNS_URI) : DataFlowCallGraphPackage.eINSTANCE);
+		StateBasedDataTypesPackageImpl theStateBasedDataTypesPackage = (StateBasedDataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(StateBasedDataTypesPackage.eNS_URI) instanceof StateBasedDataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(StateBasedDataTypesPackage.eNS_URI) : StateBasedDataTypesPackage.eINSTANCE);
+		StateBasedComponentsPackageImpl theStateBasedComponentsPackage = (StateBasedComponentsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(StateBasedComponentsPackage.eNS_URI) instanceof StateBasedComponentsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(StateBasedComponentsPackage.eNS_URI) : StateBasedComponentsPackage.eINSTANCE);
+		FaultTolerancePackageImpl theFaultTolerancePackage = (FaultTolerancePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FaultTolerancePackage.eNS_URI) instanceof FaultTolerancePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FaultTolerancePackage.eNS_URI) : FaultTolerancePackage.eINSTANCE);
+		MaintenanceMonitoringPackageImpl theMaintenanceMonitoringPackage = (MaintenanceMonitoringPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(MaintenanceMonitoringPackage.eNS_URI) instanceof MaintenanceMonitoringPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(MaintenanceMonitoringPackage.eNS_URI) : MaintenanceMonitoringPackage.eINSTANCE);
+		StateBasedAnalysisPackageImpl theStateBasedAnalysisPackage = (StateBasedAnalysisPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(StateBasedAnalysisPackage.eNS_URI) instanceof StateBasedAnalysisPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(StateBasedAnalysisPackage.eNS_URI) : StateBasedAnalysisPackage.eINSTANCE);
+		FMEAPackageImpl theFMEAPackage = (FMEAPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FMEAPackage.eNS_URI) instanceof FMEAPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FMEAPackage.eNS_URI) : FMEAPackage.eINSTANCE);
+		FMEADataTypesPackageImpl theFMEADataTypesPackage = (FMEADataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FMEADataTypesPackage.eNS_URI) instanceof FMEADataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FMEADataTypesPackage.eNS_URI) : FMEADataTypesPackage.eINSTANCE);
+		MitigationMeansPackageImpl theMitigationMeansPackage = (MitigationMeansPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(MitigationMeansPackage.eNS_URI) instanceof MitigationMeansPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(MitigationMeansPackage.eNS_URI) : MitigationMeansPackage.eINSTANCE);
+		TimingAnalysisPackageImpl theTimingAnalysisPackage = (TimingAnalysisPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimingAnalysisPackage.eNS_URI) instanceof TimingAnalysisPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimingAnalysisPackage.eNS_URI) : TimingAnalysisPackage.eINSTANCE);
+		TimingConstraintsPackageImpl theTimingConstraintsPackage = (TimingConstraintsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimingConstraintsPackage.eNS_URI) instanceof TimingConstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimingConstraintsPackage.eNS_URI) : TimingConstraintsPackage.eINSTANCE);
+		DeploymentConfAnalysisPackageImpl theDeploymentConfAnalysisPackage = (DeploymentConfAnalysisPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DeploymentConfAnalysisPackage.eNS_URI) instanceof DeploymentConfAnalysisPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DeploymentConfAnalysisPackage.eNS_URI) : DeploymentConfAnalysisPackage.eINSTANCE);
+		RTComponentModelPackageImpl theRTComponentModelPackage = (RTComponentModelPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RTComponentModelPackage.eNS_URI) instanceof RTComponentModelPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RTComponentModelPackage.eNS_URI) : RTComponentModelPackage.eINSTANCE);
+		RTDataTypesPackageImpl theRTDataTypesPackage = (RTDataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RTDataTypesPackage.eNS_URI) instanceof RTDataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RTDataTypesPackage.eNS_URI) : RTDataTypesPackage.eINSTANCE);
+		ComponentModelPackageImpl theComponentModelPackage = (ComponentModelPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ComponentModelPackage.eNS_URI) instanceof ComponentModelPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ComponentModelPackage.eNS_URI) : ComponentModelPackage.eINSTANCE);
+
+		// Create package meta-data objects
+		theHardwareBaselinePackage.createPackageContents();
+		thechessmlprofilePackage.createPackageContents();
+		theCorePackage.createPackageContents();
+		theCHESSViewsPackage.createPackageContents();
+		theFailurePropagationPackage.createPackageContents();
+		theFailurePropagationDataTypesPackage.createPackageContents();
+		theDependableComponentPackage.createPackageContents();
+		theThreatsPropagationPackage.createPackageContents();
+		theDataFlowCallGraphPackage.createPackageContents();
+		theStateBasedDataTypesPackage.createPackageContents();
+		theStateBasedComponentsPackage.createPackageContents();
+		theFaultTolerancePackage.createPackageContents();
+		theMaintenanceMonitoringPackage.createPackageContents();
+		theStateBasedAnalysisPackage.createPackageContents();
+		theFMEAPackage.createPackageContents();
+		theFMEADataTypesPackage.createPackageContents();
+		theMitigationMeansPackage.createPackageContents();
+		theTimingAnalysisPackage.createPackageContents();
+		theTimingConstraintsPackage.createPackageContents();
+		theDeploymentConfAnalysisPackage.createPackageContents();
+		theRTComponentModelPackage.createPackageContents();
+		theRTDataTypesPackage.createPackageContents();
+		theComponentModelPackage.createPackageContents();
+
+		// Initialize created meta-data
+		theHardwareBaselinePackage.initializePackageContents();
+		thechessmlprofilePackage.initializePackageContents();
+		theCorePackage.initializePackageContents();
+		theCHESSViewsPackage.initializePackageContents();
+		theFailurePropagationPackage.initializePackageContents();
+		theFailurePropagationDataTypesPackage.initializePackageContents();
+		theDependableComponentPackage.initializePackageContents();
+		theThreatsPropagationPackage.initializePackageContents();
+		theDataFlowCallGraphPackage.initializePackageContents();
+		theStateBasedDataTypesPackage.initializePackageContents();
+		theStateBasedComponentsPackage.initializePackageContents();
+		theFaultTolerancePackage.initializePackageContents();
+		theMaintenanceMonitoringPackage.initializePackageContents();
+		theStateBasedAnalysisPackage.initializePackageContents();
+		theFMEAPackage.initializePackageContents();
+		theFMEADataTypesPackage.initializePackageContents();
+		theMitigationMeansPackage.initializePackageContents();
+		theTimingAnalysisPackage.initializePackageContents();
+		theTimingConstraintsPackage.initializePackageContents();
+		theDeploymentConfAnalysisPackage.initializePackageContents();
+		theRTComponentModelPackage.initializePackageContents();
+		theRTDataTypesPackage.initializePackageContents();
+		theComponentModelPackage.initializePackageContents();
+
+		// Mark meta-data to indicate it can't be changed
+		theHardwareBaselinePackage.freeze();
+
+  
+		// Update the registry and return the package
+		EPackage.Registry.INSTANCE.put(HardwareBaselinePackage.eNS_URI, theHardwareBaselinePackage);
+		return theHardwareBaselinePackage;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getCH_HwProcessor() {
+		return cH_HwProcessorEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getCH_HwProcessor_DataType() {
+		return (EReference)cH_HwProcessorEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getCH_HwProcessor_Utilization() {
+		return (EAttribute)cH_HwProcessorEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getHWDataType() {
+		return hwDataTypeEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getHWDataType_Base_DataType() {
+		return (EReference)hwDataTypeEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getHWDataType_BitLength() {
+		return (EAttribute)hwDataTypeEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getHWDataType_Signed() {
+		return (EAttribute)hwDataTypeEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getHWDataType_FixedPoint() {
+		return (EAttribute)hwDataTypeEClass.getEStructuralFeatures().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getHWDataType_Float() {
+		return (EAttribute)hwDataTypeEClass.getEStructuralFeatures().get(4);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getHWDataType_Execution() {
+		return (EReference)hwDataTypeEClass.getEStructuralFeatures().get(5);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getDataTypeExecution() {
+		return dataTypeExecutionEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getDataTypeExecution_Base_Class() {
+		return (EReference)dataTypeExecutionEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getDataTypeExecution_Operation() {
+		return (EAttribute)dataTypeExecutionEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getDataTypeExecution_ExecutionCycles() {
+		return (EAttribute)dataTypeExecutionEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getComputeComplexity() {
+		return computeComplexityEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getComputeComplexity_SwDataType() {
+		return (EReference)computeComplexityEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getComputeComplexity_OpCount() {
+		return (EReference)computeComplexityEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getComputeComplexity_Base_Class() {
+		return (EReference)computeComplexityEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getSWDataType() {
+		return swDataTypeEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getSWDataType_Base_DataType() {
+		return (EReference)swDataTypeEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getSWDataType_BitSize() {
+		return (EAttribute)swDataTypeEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getOperationCount() {
+		return operationCountEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getOperationCount_Operation() {
+		return (EAttribute)operationCountEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getOperationCount_Count() {
+		return (EAttribute)operationCountEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getOperationCount_Base_Class() {
+		return (EReference)operationCountEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getCHControlFlow() {
+		return chControlFlowEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getCHControlFlow_Base_ControlFlow() {
+		return (EReference)chControlFlowEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getCHControlFlow_Rep() {
+		return (EAttribute)chControlFlowEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getCHControlFlow_Prob() {
+		return (EAttribute)chControlFlowEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getCHControlFlow_Order() {
+		return (EAttribute)chControlFlowEClass.getEStructuralFeatures().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getCHControlFlow_CompComplex() {
+		return (EReference)chControlFlowEClass.getEStructuralFeatures().get(4);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getFloatSWDataType() {
+		return floatSWDataTypeEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getFloatSWDataType_Signed() {
+		return (EAttribute)floatSWDataTypeEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getFixedSWDataType() {
+		return fixedSWDataTypeEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getFixedSWDataType_Signed() {
+		return (EAttribute)fixedSWDataTypeEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getIntegerSWDataType() {
+		return integerSWDataTypeEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getIntegerSWDataType_Signed() {
+		return (EAttribute)integerSWDataTypeEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getCharSWDataType() {
+		return charSWDataTypeEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getCharSWDataType_Signed() {
+		return (EAttribute)charSWDataTypeEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getBooleanSWDataType() {
+		return booleanSWDataTypeEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getCH_HwBus() {
+		return cH_HwBusEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getCH_HwBus_Utilization() {
+		return (EAttribute)cH_HwBusEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getCH_HwComputingResource() {
+		return cH_HwComputingResourceEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getCH_HwComputingResource_Utilization() {
+		return (EAttribute)cH_HwComputingResourceEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getDataTypeAssign() {
+		return dataTypeAssignEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getDataTypeAssign_Base_Comment() {
+		return (EReference)dataTypeAssignEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getDataTypeAssign_From() {
+		return (EReference)dataTypeAssignEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getDataTypeAssign_To() {
+		return (EReference)dataTypeAssignEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EEnum getBasicOperation() {
+		return basicOperationEEnum;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EEnum getBasicDataType() {
+		return basicDataTypeEEnum;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public HardwareBaselineFactory getHardwareBaselineFactory() {
+		return (HardwareBaselineFactory)getEFactoryInstance();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isCreated = false;
+
+	/**
+	 * Creates the meta-model objects for the package.  This method is
+	 * guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void createPackageContents() {
+		if (isCreated) return;
+		isCreated = true;
+
+		// Create classes and their features
+		cH_HwProcessorEClass = createEClass(CH_HW_PROCESSOR);
+		createEReference(cH_HwProcessorEClass, CH_HW_PROCESSOR__DATA_TYPE);
+		createEAttribute(cH_HwProcessorEClass, CH_HW_PROCESSOR__UTILIZATION);
+
+		hwDataTypeEClass = createEClass(HW_DATA_TYPE);
+		createEReference(hwDataTypeEClass, HW_DATA_TYPE__BASE_DATA_TYPE);
+		createEAttribute(hwDataTypeEClass, HW_DATA_TYPE__BIT_LENGTH);
+		createEAttribute(hwDataTypeEClass, HW_DATA_TYPE__SIGNED);
+		createEAttribute(hwDataTypeEClass, HW_DATA_TYPE__FIXED_POINT);
+		createEAttribute(hwDataTypeEClass, HW_DATA_TYPE__FLOAT);
+		createEReference(hwDataTypeEClass, HW_DATA_TYPE__EXECUTION);
+
+		dataTypeExecutionEClass = createEClass(DATA_TYPE_EXECUTION);
+		createEReference(dataTypeExecutionEClass, DATA_TYPE_EXECUTION__BASE_CLASS);
+		createEAttribute(dataTypeExecutionEClass, DATA_TYPE_EXECUTION__OPERATION);
+		createEAttribute(dataTypeExecutionEClass, DATA_TYPE_EXECUTION__EXECUTION_CYCLES);
+
+		computeComplexityEClass = createEClass(COMPUTE_COMPLEXITY);
+		createEReference(computeComplexityEClass, COMPUTE_COMPLEXITY__SW_DATA_TYPE);
+		createEReference(computeComplexityEClass, COMPUTE_COMPLEXITY__OP_COUNT);
+		createEReference(computeComplexityEClass, COMPUTE_COMPLEXITY__BASE_CLASS);
+
+		swDataTypeEClass = createEClass(SW_DATA_TYPE);
+		createEReference(swDataTypeEClass, SW_DATA_TYPE__BASE_DATA_TYPE);
+		createEAttribute(swDataTypeEClass, SW_DATA_TYPE__BIT_SIZE);
+
+		operationCountEClass = createEClass(OPERATION_COUNT);
+		createEAttribute(operationCountEClass, OPERATION_COUNT__OPERATION);
+		createEAttribute(operationCountEClass, OPERATION_COUNT__COUNT);
+		createEReference(operationCountEClass, OPERATION_COUNT__BASE_CLASS);
+
+		chControlFlowEClass = createEClass(CH_CONTROL_FLOW);
+		createEReference(chControlFlowEClass, CH_CONTROL_FLOW__BASE_CONTROL_FLOW);
+		createEAttribute(chControlFlowEClass, CH_CONTROL_FLOW__REP);
+		createEAttribute(chControlFlowEClass, CH_CONTROL_FLOW__PROB);
+		createEAttribute(chControlFlowEClass, CH_CONTROL_FLOW__ORDER);
+		createEReference(chControlFlowEClass, CH_CONTROL_FLOW__COMP_COMPLEX);
+
+		floatSWDataTypeEClass = createEClass(FLOAT_SW_DATA_TYPE);
+		createEAttribute(floatSWDataTypeEClass, FLOAT_SW_DATA_TYPE__SIGNED);
+
+		fixedSWDataTypeEClass = createEClass(FIXED_SW_DATA_TYPE);
+		createEAttribute(fixedSWDataTypeEClass, FIXED_SW_DATA_TYPE__SIGNED);
+
+		integerSWDataTypeEClass = createEClass(INTEGER_SW_DATA_TYPE);
+		createEAttribute(integerSWDataTypeEClass, INTEGER_SW_DATA_TYPE__SIGNED);
+
+		charSWDataTypeEClass = createEClass(CHAR_SW_DATA_TYPE);
+		createEAttribute(charSWDataTypeEClass, CHAR_SW_DATA_TYPE__SIGNED);
+
+		booleanSWDataTypeEClass = createEClass(BOOLEAN_SW_DATA_TYPE);
+
+		cH_HwBusEClass = createEClass(CH_HW_BUS);
+		createEAttribute(cH_HwBusEClass, CH_HW_BUS__UTILIZATION);
+
+		cH_HwComputingResourceEClass = createEClass(CH_HW_COMPUTING_RESOURCE);
+		createEAttribute(cH_HwComputingResourceEClass, CH_HW_COMPUTING_RESOURCE__UTILIZATION);
+
+		dataTypeAssignEClass = createEClass(DATA_TYPE_ASSIGN);
+		createEReference(dataTypeAssignEClass, DATA_TYPE_ASSIGN__BASE_COMMENT);
+		createEReference(dataTypeAssignEClass, DATA_TYPE_ASSIGN__FROM);
+		createEReference(dataTypeAssignEClass, DATA_TYPE_ASSIGN__TO);
+
+		// Create enums
+		basicOperationEEnum = createEEnum(BASIC_OPERATION);
+		basicDataTypeEEnum = createEEnum(BASIC_DATA_TYPE);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isInitialized = false;
+
+	/**
+	 * Complete the initialization of the package and its meta-model.  This
+	 * method is guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void initializePackageContents() {
+		if (isInitialized) return;
+		isInitialized = true;
+
+		// Initialize package
+		setName(eNAME);
+		setNsPrefix(eNS_PREFIX);
+		setNsURI(eNS_URI);
+
+		// Obtain other dependent packages
+		HwComputingPackage theHwComputingPackage = (HwComputingPackage)EPackage.Registry.INSTANCE.getEPackage(HwComputingPackage.eNS_URI);
+		BasicNFP_TypesPackage theBasicNFP_TypesPackage = (BasicNFP_TypesPackage)EPackage.Registry.INSTANCE.getEPackage(BasicNFP_TypesPackage.eNS_URI);
+		UMLPackage theUMLPackage = (UMLPackage)EPackage.Registry.INSTANCE.getEPackage(UMLPackage.eNS_URI);
+		TypesPackage theTypesPackage = (TypesPackage)EPackage.Registry.INSTANCE.getEPackage(TypesPackage.eNS_URI);
+		MARTE_PrimitivesTypesPackage theMARTE_PrimitivesTypesPackage = (MARTE_PrimitivesTypesPackage)EPackage.Registry.INSTANCE.getEPackage(MARTE_PrimitivesTypesPackage.eNS_URI);
+		HwCommunicationPackage theHwCommunicationPackage = (HwCommunicationPackage)EPackage.Registry.INSTANCE.getEPackage(HwCommunicationPackage.eNS_URI);
+
+		// Create type parameters
+
+		// Set bounds for type parameters
+
+		// Add supertypes to classes
+		cH_HwProcessorEClass.getESuperTypes().add(theHwComputingPackage.getHwProcessor());
+		floatSWDataTypeEClass.getESuperTypes().add(this.getSWDataType());
+		fixedSWDataTypeEClass.getESuperTypes().add(this.getSWDataType());
+		integerSWDataTypeEClass.getESuperTypes().add(this.getSWDataType());
+		charSWDataTypeEClass.getESuperTypes().add(this.getSWDataType());
+		booleanSWDataTypeEClass.getESuperTypes().add(this.getSWDataType());
+		cH_HwBusEClass.getESuperTypes().add(theHwCommunicationPackage.getHwBus());
+		cH_HwComputingResourceEClass.getESuperTypes().add(theHwComputingPackage.getHwComputingResource());
+
+		// Initialize classes and features; add operations and parameters
+		initEClass(cH_HwProcessorEClass, CH_HwProcessor.class, "CH_HwProcessor", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getCH_HwProcessor_DataType(), this.getHWDataType(), null, "dataType", null, 0, -1, CH_HwProcessor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getCH_HwProcessor_Utilization(), theBasicNFP_TypesPackage.getNFP_Real(), "utilization", null, 0, 1, CH_HwProcessor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+		initEClass(hwDataTypeEClass, HWDataType.class, "HWDataType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getHWDataType_Base_DataType(), theUMLPackage.getDataType(), null, "base_DataType", null, 1, 1, HWDataType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getHWDataType_BitLength(), theTypesPackage.getInteger(), "bitLength", null, 1, 1, HWDataType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getHWDataType_Signed(), theTypesPackage.getBoolean(), "signed", null, 1, 1, HWDataType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getHWDataType_FixedPoint(), theTypesPackage.getBoolean(), "fixedPoint", null, 1, 1, HWDataType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getHWDataType_Float(), theTypesPackage.getBoolean(), "float", null, 1, 1, HWDataType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEReference(getHWDataType_Execution(), this.getDataTypeExecution(), null, "execution", null, 0, -1, HWDataType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+		initEClass(dataTypeExecutionEClass, DataTypeExecution.class, "DataTypeExecution", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getDataTypeExecution_Base_Class(), theUMLPackage.getClass_(), null, "base_Class", null, 1, 1, DataTypeExecution.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getDataTypeExecution_Operation(), this.getBasicOperation(), "operation", null, 1, 1, DataTypeExecution.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getDataTypeExecution_ExecutionCycles(), theTypesPackage.getInteger(), "executionCycles", null, 1, 1, DataTypeExecution.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+		initEClass(computeComplexityEClass, ComputeComplexity.class, "ComputeComplexity", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getComputeComplexity_SwDataType(), this.getSWDataType(), null, "swDataType", null, 1, 1, ComputeComplexity.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEReference(getComputeComplexity_OpCount(), this.getOperationCount(), null, "opCount", null, 1, -1, ComputeComplexity.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEReference(getComputeComplexity_Base_Class(), theUMLPackage.getClass_(), null, "base_Class", null, 1, 1, ComputeComplexity.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+		initEClass(swDataTypeEClass, SWDataType.class, "SWDataType", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getSWDataType_Base_DataType(), theUMLPackage.getDataType(), null, "base_DataType", null, 1, 1, SWDataType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getSWDataType_BitSize(), theTypesPackage.getInteger(), "bitSize", null, 1, 1, SWDataType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+		initEClass(operationCountEClass, OperationCount.class, "OperationCount", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getOperationCount_Operation(), this.getBasicOperation(), "operation", null, 1, 1, OperationCount.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getOperationCount_Count(), theTypesPackage.getInteger(), "count", null, 1, 1, OperationCount.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEReference(getOperationCount_Base_Class(), theUMLPackage.getClass_(), null, "base_Class", null, 1, 1, OperationCount.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+		initEClass(chControlFlowEClass, CHControlFlow.class, "CHControlFlow", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getCHControlFlow_Base_ControlFlow(), theUMLPackage.getControlFlow(), null, "base_ControlFlow", null, 1, 1, CHControlFlow.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getCHControlFlow_Rep(), theMARTE_PrimitivesTypesPackage.getReal(), "rep", null, 0, 1, CHControlFlow.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getCHControlFlow_Prob(), theMARTE_PrimitivesTypesPackage.getReal(), "prob", null, 0, 1, CHControlFlow.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getCHControlFlow_Order(), theMARTE_PrimitivesTypesPackage.getReal(), "order", null, 0, 1, CHControlFlow.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEReference(getCHControlFlow_CompComplex(), this.getComputeComplexity(), null, "compComplex", null, 0, -1, CHControlFlow.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+		initEClass(floatSWDataTypeEClass, FloatSWDataType.class, "FloatSWDataType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getFloatSWDataType_Signed(), theTypesPackage.getBoolean(), "signed", null, 1, 1, FloatSWDataType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+		initEClass(fixedSWDataTypeEClass, FixedSWDataType.class, "FixedSWDataType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getFixedSWDataType_Signed(), theTypesPackage.getBoolean(), "signed", null, 1, 1, FixedSWDataType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+		initEClass(integerSWDataTypeEClass, IntegerSWDataType.class, "IntegerSWDataType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getIntegerSWDataType_Signed(), theTypesPackage.getBoolean(), "signed", null, 1, 1, IntegerSWDataType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+		initEClass(charSWDataTypeEClass, CharSWDataType.class, "CharSWDataType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getCharSWDataType_Signed(), theTypesPackage.getBoolean(), "signed", null, 1, 1, CharSWDataType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+		initEClass(booleanSWDataTypeEClass, BooleanSWDataType.class, "BooleanSWDataType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+		initEClass(cH_HwBusEClass, CH_HwBus.class, "CH_HwBus", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getCH_HwBus_Utilization(), theBasicNFP_TypesPackage.getNFP_Real(), "utilization", null, 0, 1, CH_HwBus.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+		initEClass(cH_HwComputingResourceEClass, CH_HwComputingResource.class, "CH_HwComputingResource", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getCH_HwComputingResource_Utilization(), theBasicNFP_TypesPackage.getNFP_Real(), "utilization", null, 0, 1, CH_HwComputingResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+		initEClass(dataTypeAssignEClass, DataTypeAssign.class, "DataTypeAssign", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getDataTypeAssign_Base_Comment(), theUMLPackage.getComment(), null, "base_Comment", null, 1, 1, DataTypeAssign.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEReference(getDataTypeAssign_From(), this.getSWDataType(), null, "from", null, 0, -1, DataTypeAssign.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEReference(getDataTypeAssign_To(), this.getHWDataType(), null, "to", null, 0, -1, DataTypeAssign.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+		// Initialize enums and add enum literals
+		initEEnum(basicOperationEEnum, BasicOperation.class, "BasicOperation");
+		addEEnumLiteral(basicOperationEEnum, BasicOperation.ADD);
+		addEEnumLiteral(basicOperationEEnum, BasicOperation.MUL);
+		addEEnumLiteral(basicOperationEEnum, BasicOperation.DIV);
+		addEEnumLiteral(basicOperationEEnum, BasicOperation.MOD);
+		addEEnumLiteral(basicOperationEEnum, BasicOperation.SHIFT);
+
+		initEEnum(basicDataTypeEEnum, BasicDataType.class, "BasicDataType");
+		addEEnumLiteral(basicDataTypeEEnum, BasicDataType.SIGNED);
+		addEEnumLiteral(basicDataTypeEEnum, BasicDataType.INTEGER);
+		addEEnumLiteral(basicDataTypeEEnum, BasicDataType.FIXED_POINT);
+		addEEnumLiteral(basicDataTypeEEnum, BasicDataType.FLOAT);
+	}
+
+} //HardwareBaselinePackageImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/impl/IntegerSWDataTypeImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/impl/IntegerSWDataTypeImpl.java
new file mode 100644
index 000000000..ab9cfc855
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/impl/IntegerSWDataTypeImpl.java
@@ -0,0 +1,168 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HardwareBaselinePackage;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.IntegerSWDataType;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Integer SW Data Type</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.IntegerSWDataTypeImpl#isSigned <em>Signed</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class IntegerSWDataTypeImpl extends SWDataTypeImpl implements IntegerSWDataType {
+	/**
+	 * The default value of the '{@link #isSigned() <em>Signed</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #isSigned()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final boolean SIGNED_EDEFAULT = false;
+
+	/**
+	 * The cached value of the '{@link #isSigned() <em>Signed</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #isSigned()
+	 * @generated
+	 * @ordered
+	 */
+	protected boolean signed = SIGNED_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IntegerSWDataTypeImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return HardwareBaselinePackage.Literals.INTEGER_SW_DATA_TYPE;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public boolean isSigned() {
+		return signed;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setSigned(boolean newSigned) {
+		boolean oldSigned = signed;
+		signed = newSigned;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, HardwareBaselinePackage.INTEGER_SW_DATA_TYPE__SIGNED, oldSigned, signed));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case HardwareBaselinePackage.INTEGER_SW_DATA_TYPE__SIGNED:
+				return isSigned();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case HardwareBaselinePackage.INTEGER_SW_DATA_TYPE__SIGNED:
+				setSigned((Boolean)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case HardwareBaselinePackage.INTEGER_SW_DATA_TYPE__SIGNED:
+				setSigned(SIGNED_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case HardwareBaselinePackage.INTEGER_SW_DATA_TYPE__SIGNED:
+				return signed != SIGNED_EDEFAULT;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (signed: ");
+		result.append(signed);
+		result.append(')');
+		return result.toString();
+	}
+
+} //IntegerSWDataTypeImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/impl/OperationCountImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/impl/OperationCountImpl.java
new file mode 100644
index 000000000..f364c065a
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/impl/OperationCountImpl.java
@@ -0,0 +1,285 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.BasicOperation;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HardwareBaselinePackage;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.OperationCount;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Operation Count</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.OperationCountImpl#getOperation <em>Operation</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.OperationCountImpl#getCount <em>Count</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.OperationCountImpl#getBase_Class <em>Base Class</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class OperationCountImpl extends EObjectImpl implements OperationCount {
+	/**
+	 * The default value of the '{@link #getOperation() <em>Operation</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getOperation()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final BasicOperation OPERATION_EDEFAULT = BasicOperation.ADD;
+
+	/**
+	 * The cached value of the '{@link #getOperation() <em>Operation</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getOperation()
+	 * @generated
+	 * @ordered
+	 */
+	protected BasicOperation operation = OPERATION_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getCount() <em>Count</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getCount()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int COUNT_EDEFAULT = 0;
+
+	/**
+	 * The cached value of the '{@link #getCount() <em>Count</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getCount()
+	 * @generated
+	 * @ordered
+	 */
+	protected int count = COUNT_EDEFAULT;
+
+	/**
+	 * The cached value of the '{@link #getBase_Class() <em>Base Class</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBase_Class()
+	 * @generated
+	 * @ordered
+	 */
+	protected org.eclipse.uml2.uml.Class base_Class;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected OperationCountImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return HardwareBaselinePackage.Literals.OPERATION_COUNT;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public BasicOperation getOperation() {
+		return operation;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setOperation(BasicOperation newOperation) {
+		BasicOperation oldOperation = operation;
+		operation = newOperation == null ? OPERATION_EDEFAULT : newOperation;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, HardwareBaselinePackage.OPERATION_COUNT__OPERATION, oldOperation, operation));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public int getCount() {
+		return count;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setCount(int newCount) {
+		int oldCount = count;
+		count = newCount;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, HardwareBaselinePackage.OPERATION_COUNT__COUNT, oldCount, count));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public org.eclipse.uml2.uml.Class getBase_Class() {
+		if (base_Class != null && base_Class.eIsProxy()) {
+			InternalEObject oldBase_Class = (InternalEObject)base_Class;
+			base_Class = (org.eclipse.uml2.uml.Class)eResolveProxy(oldBase_Class);
+			if (base_Class != oldBase_Class) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, HardwareBaselinePackage.OPERATION_COUNT__BASE_CLASS, oldBase_Class, base_Class));
+			}
+		}
+		return base_Class;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public org.eclipse.uml2.uml.Class basicGetBase_Class() {
+		return base_Class;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setBase_Class(org.eclipse.uml2.uml.Class newBase_Class) {
+		org.eclipse.uml2.uml.Class oldBase_Class = base_Class;
+		base_Class = newBase_Class;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, HardwareBaselinePackage.OPERATION_COUNT__BASE_CLASS, oldBase_Class, base_Class));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case HardwareBaselinePackage.OPERATION_COUNT__OPERATION:
+				return getOperation();
+			case HardwareBaselinePackage.OPERATION_COUNT__COUNT:
+				return getCount();
+			case HardwareBaselinePackage.OPERATION_COUNT__BASE_CLASS:
+				if (resolve) return getBase_Class();
+				return basicGetBase_Class();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case HardwareBaselinePackage.OPERATION_COUNT__OPERATION:
+				setOperation((BasicOperation)newValue);
+				return;
+			case HardwareBaselinePackage.OPERATION_COUNT__COUNT:
+				setCount((Integer)newValue);
+				return;
+			case HardwareBaselinePackage.OPERATION_COUNT__BASE_CLASS:
+				setBase_Class((org.eclipse.uml2.uml.Class)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case HardwareBaselinePackage.OPERATION_COUNT__OPERATION:
+				setOperation(OPERATION_EDEFAULT);
+				return;
+			case HardwareBaselinePackage.OPERATION_COUNT__COUNT:
+				setCount(COUNT_EDEFAULT);
+				return;
+			case HardwareBaselinePackage.OPERATION_COUNT__BASE_CLASS:
+				setBase_Class((org.eclipse.uml2.uml.Class)null);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case HardwareBaselinePackage.OPERATION_COUNT__OPERATION:
+				return operation != OPERATION_EDEFAULT;
+			case HardwareBaselinePackage.OPERATION_COUNT__COUNT:
+				return count != COUNT_EDEFAULT;
+			case HardwareBaselinePackage.OPERATION_COUNT__BASE_CLASS:
+				return base_Class != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (operation: ");
+		result.append(operation);
+		result.append(", count: ");
+		result.append(count);
+		result.append(')');
+		return result.toString();
+	}
+
+} //OperationCountImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/impl/SWDataTypeImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/impl/SWDataTypeImpl.java
new file mode 100644
index 000000000..4d4037060
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/impl/SWDataTypeImpl.java
@@ -0,0 +1,231 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.uml2.uml.DataType;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HardwareBaselinePackage;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.SWDataType;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>SW Data Type</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.SWDataTypeImpl#getBase_DataType <em>Base Data Type</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.SWDataTypeImpl#getBitSize <em>Bit Size</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class SWDataTypeImpl extends EObjectImpl implements SWDataType {
+	/**
+	 * The cached value of the '{@link #getBase_DataType() <em>Base Data Type</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBase_DataType()
+	 * @generated
+	 * @ordered
+	 */
+	protected DataType base_DataType;
+
+	/**
+	 * The default value of the '{@link #getBitSize() <em>Bit Size</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBitSize()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int BIT_SIZE_EDEFAULT = 0;
+
+	/**
+	 * The cached value of the '{@link #getBitSize() <em>Bit Size</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBitSize()
+	 * @generated
+	 * @ordered
+	 */
+	protected int bitSize = BIT_SIZE_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected SWDataTypeImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return HardwareBaselinePackage.Literals.SW_DATA_TYPE;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public DataType getBase_DataType() {
+		if (base_DataType != null && base_DataType.eIsProxy()) {
+			InternalEObject oldBase_DataType = (InternalEObject)base_DataType;
+			base_DataType = (DataType)eResolveProxy(oldBase_DataType);
+			if (base_DataType != oldBase_DataType) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, HardwareBaselinePackage.SW_DATA_TYPE__BASE_DATA_TYPE, oldBase_DataType, base_DataType));
+			}
+		}
+		return base_DataType;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public DataType basicGetBase_DataType() {
+		return base_DataType;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setBase_DataType(DataType newBase_DataType) {
+		DataType oldBase_DataType = base_DataType;
+		base_DataType = newBase_DataType;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, HardwareBaselinePackage.SW_DATA_TYPE__BASE_DATA_TYPE, oldBase_DataType, base_DataType));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public int getBitSize() {
+		return bitSize;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setBitSize(int newBitSize) {
+		int oldBitSize = bitSize;
+		bitSize = newBitSize;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, HardwareBaselinePackage.SW_DATA_TYPE__BIT_SIZE, oldBitSize, bitSize));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case HardwareBaselinePackage.SW_DATA_TYPE__BASE_DATA_TYPE:
+				if (resolve) return getBase_DataType();
+				return basicGetBase_DataType();
+			case HardwareBaselinePackage.SW_DATA_TYPE__BIT_SIZE:
+				return getBitSize();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case HardwareBaselinePackage.SW_DATA_TYPE__BASE_DATA_TYPE:
+				setBase_DataType((DataType)newValue);
+				return;
+			case HardwareBaselinePackage.SW_DATA_TYPE__BIT_SIZE:
+				setBitSize((Integer)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case HardwareBaselinePackage.SW_DATA_TYPE__BASE_DATA_TYPE:
+				setBase_DataType((DataType)null);
+				return;
+			case HardwareBaselinePackage.SW_DATA_TYPE__BIT_SIZE:
+				setBitSize(BIT_SIZE_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case HardwareBaselinePackage.SW_DATA_TYPE__BASE_DATA_TYPE:
+				return base_DataType != null;
+			case HardwareBaselinePackage.SW_DATA_TYPE__BIT_SIZE:
+				return bitSize != BIT_SIZE_EDEFAULT;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (bitSize: ");
+		result.append(bitSize);
+		result.append(')');
+		return result.toString();
+	}
+
+} //SWDataTypeImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/util/HardwareBaselineAdapterFactory.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/util/HardwareBaselineAdapterFactory.java
new file mode 100644
index 000000000..c5231b788
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/util/HardwareBaselineAdapterFactory.java
@@ -0,0 +1,568 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwResource;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwBus;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwCommunicationResource;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwMedia;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwComputingResource;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwProcessor;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.CommunicationMedia;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.ComputingResource;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.ProcessingResource;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.Resource;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HardwareBaselinePackage
+ * @generated
+ */
+public class HardwareBaselineAdapterFactory extends AdapterFactoryImpl {
+	/**
+	 * The cached model package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static HardwareBaselinePackage modelPackage;
+
+	/**
+	 * Creates an instance of the adapter factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public HardwareBaselineAdapterFactory() {
+		if (modelPackage == null) {
+			modelPackage = HardwareBaselinePackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Returns whether this factory is applicable for the type of the object.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+	 * <!-- end-user-doc -->
+	 * @return whether this factory is applicable for the type of the object.
+	 * @generated
+	 */
+	@Override
+	public boolean isFactoryForType(Object object) {
+		if (object == modelPackage) {
+			return true;
+		}
+		if (object instanceof EObject) {
+			return ((EObject)object).eClass().getEPackage() == modelPackage;
+		}
+		return false;
+	}
+
+	/**
+	 * The switch that delegates to the <code>createXXX</code> methods.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected HardwareBaselineSwitch<Adapter> modelSwitch =
+		new HardwareBaselineSwitch<Adapter>() {
+			@Override
+			public Adapter caseCH_HwProcessor(CH_HwProcessor object) {
+				return createCH_HwProcessorAdapter();
+			}
+			@Override
+			public Adapter caseHWDataType(HWDataType object) {
+				return createHWDataTypeAdapter();
+			}
+			@Override
+			public Adapter caseDataTypeExecution(DataTypeExecution object) {
+				return createDataTypeExecutionAdapter();
+			}
+			@Override
+			public Adapter caseComputeComplexity(ComputeComplexity object) {
+				return createComputeComplexityAdapter();
+			}
+			@Override
+			public Adapter caseSWDataType(SWDataType object) {
+				return createSWDataTypeAdapter();
+			}
+			@Override
+			public Adapter caseOperationCount(OperationCount object) {
+				return createOperationCountAdapter();
+			}
+			@Override
+			public Adapter caseCHControlFlow(CHControlFlow object) {
+				return createCHControlFlowAdapter();
+			}
+			@Override
+			public Adapter caseFloatSWDataType(FloatSWDataType object) {
+				return createFloatSWDataTypeAdapter();
+			}
+			@Override
+			public Adapter caseFixedSWDataType(FixedSWDataType object) {
+				return createFixedSWDataTypeAdapter();
+			}
+			@Override
+			public Adapter caseIntegerSWDataType(IntegerSWDataType object) {
+				return createIntegerSWDataTypeAdapter();
+			}
+			@Override
+			public Adapter caseCharSWDataType(CharSWDataType object) {
+				return createCharSWDataTypeAdapter();
+			}
+			@Override
+			public Adapter caseBooleanSWDataType(BooleanSWDataType object) {
+				return createBooleanSWDataTypeAdapter();
+			}
+			@Override
+			public Adapter caseCH_HwBus(CH_HwBus object) {
+				return createCH_HwBusAdapter();
+			}
+			@Override
+			public Adapter caseCH_HwComputingResource(CH_HwComputingResource object) {
+				return createCH_HwComputingResourceAdapter();
+			}
+			@Override
+			public Adapter caseDataTypeAssign(DataTypeAssign object) {
+				return createDataTypeAssignAdapter();
+			}
+			@Override
+			public Adapter caseResource(Resource object) {
+				return createResourceAdapter();
+			}
+			@Override
+			public Adapter caseHwResource(HwResource object) {
+				return createHwResourceAdapter();
+			}
+			@Override
+			public Adapter caseProcessingResource(ProcessingResource object) {
+				return createProcessingResourceAdapter();
+			}
+			@Override
+			public Adapter caseComputingResource(ComputingResource object) {
+				return createComputingResourceAdapter();
+			}
+			@Override
+			public Adapter caseHwComputingResource(HwComputingResource object) {
+				return createHwComputingResourceAdapter();
+			}
+			@Override
+			public Adapter caseHwProcessor(HwProcessor object) {
+				return createHwProcessorAdapter();
+			}
+			@Override
+			public Adapter caseCommunicationMedia(CommunicationMedia object) {
+				return createCommunicationMediaAdapter();
+			}
+			@Override
+			public Adapter caseHwCommunicationResource(HwCommunicationResource object) {
+				return createHwCommunicationResourceAdapter();
+			}
+			@Override
+			public Adapter caseHwMedia(HwMedia object) {
+				return createHwMediaAdapter();
+			}
+			@Override
+			public Adapter caseHwBus(HwBus object) {
+				return createHwBusAdapter();
+			}
+			@Override
+			public Adapter defaultCase(EObject object) {
+				return createEObjectAdapter();
+			}
+		};
+
+	/**
+	 * Creates an adapter for the <code>target</code>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param target the object to adapt.
+	 * @return the adapter for the <code>target</code>.
+	 * @generated
+	 */
+	@Override
+	public Adapter createAdapter(Notifier target) {
+		return modelSwitch.doSwitch((EObject)target);
+	}
+
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.CH_HwProcessor <em>CH Hw Processor</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.CH_HwProcessor
+	 * @generated
+	 */
+	public Adapter createCH_HwProcessorAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HWDataType <em>HW Data Type</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HWDataType
+	 * @generated
+	 */
+	public Adapter createHWDataTypeAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.DataTypeExecution <em>Data Type Execution</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.DataTypeExecution
+	 * @generated
+	 */
+	public Adapter createDataTypeExecutionAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.ComputeComplexity <em>Compute Complexity</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.ComputeComplexity
+	 * @generated
+	 */
+	public Adapter createComputeComplexityAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.SWDataType <em>SW Data Type</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.SWDataType
+	 * @generated
+	 */
+	public Adapter createSWDataTypeAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.OperationCount <em>Operation Count</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.OperationCount
+	 * @generated
+	 */
+	public Adapter createOperationCountAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.CHControlFlow <em>CH Control Flow</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.CHControlFlow
+	 * @generated
+	 */
+	public Adapter createCHControlFlowAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.FloatSWDataType <em>Float SW Data Type</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.FloatSWDataType
+	 * @generated
+	 */
+	public Adapter createFloatSWDataTypeAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.FixedSWDataType <em>Fixed SW Data Type</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.FixedSWDataType
+	 * @generated
+	 */
+	public Adapter createFixedSWDataTypeAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.IntegerSWDataType <em>Integer SW Data Type</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.IntegerSWDataType
+	 * @generated
+	 */
+	public Adapter createIntegerSWDataTypeAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.CharSWDataType <em>Char SW Data Type</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.CharSWDataType
+	 * @generated
+	 */
+	public Adapter createCharSWDataTypeAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.BooleanSWDataType <em>Boolean SW Data Type</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.BooleanSWDataType
+	 * @generated
+	 */
+	public Adapter createBooleanSWDataTypeAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.CH_HwBus <em>CH Hw Bus</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.CH_HwBus
+	 * @generated
+	 */
+	public Adapter createCH_HwBusAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.CH_HwComputingResource <em>CH Hw Computing Resource</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.CH_HwComputingResource
+	 * @generated
+	 */
+	public Adapter createCH_HwComputingResourceAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.DataTypeAssign <em>Data Type Assign</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.DataTypeAssign
+	 * @generated
+	 */
+	public Adapter createDataTypeAssignAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.Resource <em>Resource</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.Resource
+	 * @generated
+	 */
+	public Adapter createResourceAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwResource <em>Hw Resource</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwResource
+	 * @generated
+	 */
+	public Adapter createHwResourceAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.ProcessingResource <em>Processing Resource</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.ProcessingResource
+	 * @generated
+	 */
+	public Adapter createProcessingResourceAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.ComputingResource <em>Computing Resource</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.ComputingResource
+	 * @generated
+	 */
+	public Adapter createComputingResourceAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwComputingResource <em>Resource</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwComputingResource
+	 * @generated
+	 */
+	public Adapter createHwComputingResourceAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwProcessor <em>Hw Processor</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwProcessor
+	 * @generated
+	 */
+	public Adapter createHwProcessorAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.CommunicationMedia <em>Communication Media</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.CommunicationMedia
+	 * @generated
+	 */
+	public Adapter createCommunicationMediaAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwCommunicationResource <em>Resource</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwCommunicationResource
+	 * @generated
+	 */
+	public Adapter createHwCommunicationResourceAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwMedia <em>Hw Media</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwMedia
+	 * @generated
+	 */
+	public Adapter createHwMediaAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwBus <em>Hw Bus</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwBus
+	 * @generated
+	 */
+	public Adapter createHwBusAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for the default case.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @generated
+	 */
+	public Adapter createEObjectAdapter() {
+		return null;
+	}
+
+} //HardwareBaselineAdapterFactory
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/util/HardwareBaselineResourceFactoryImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/util/HardwareBaselineResourceFactoryImpl.java
new file mode 100644
index 000000000..9bceee021
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/util/HardwareBaselineResourceFactoryImpl.java
@@ -0,0 +1,61 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.util;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.resource.impl.ResourceFactoryImpl;
+
+import org.eclipse.emf.ecore.xmi.XMLResource;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource Factory</b> associated with the package.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.util.HardwareBaselineResourceImpl
+ * @generated
+ */
+public class HardwareBaselineResourceFactoryImpl extends ResourceFactoryImpl {
+	/**
+	 * Creates an instance of the resource factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public HardwareBaselineResourceFactoryImpl() {
+		super();
+	}
+
+	/**
+	 * Creates an instance of the resource.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Resource createResource(URI uri) {
+		XMLResource result = new HardwareBaselineResourceImpl(uri);
+		result.getDefaultSaveOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
+		result.getDefaultLoadOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
+
+		result.getDefaultSaveOptions().put(XMLResource.OPTION_SCHEMA_LOCATION, Boolean.TRUE);
+
+		result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+		result.getDefaultSaveOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+
+		result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_LEXICAL_HANDLER, Boolean.TRUE);
+		return result;
+	}
+
+} //HardwareBaselineResourceFactoryImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/util/HardwareBaselineResourceImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/util/HardwareBaselineResourceImpl.java
new file mode 100644
index 000000000..2977a8b78
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/util/HardwareBaselineResourceImpl.java
@@ -0,0 +1,37 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.util;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource </b> associated with the package.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.util.HardwareBaselineResourceFactoryImpl
+ * @generated
+ */
+public class HardwareBaselineResourceImpl extends XMLResourceImpl {
+	/**
+	 * Creates an instance of the resource.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param uri the URI of the new resource.
+	 * @generated
+	 */
+	public HardwareBaselineResourceImpl(URI uri) {
+		super(uri);
+	}
+
+} //HardwareBaselineResourceImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/util/HardwareBaselineSwitch.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/util/HardwareBaselineSwitch.java
new file mode 100644
index 000000000..96dd4d163
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/util/HardwareBaselineSwitch.java
@@ -0,0 +1,594 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.util.Switch;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwResource;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwBus;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwCommunicationResource;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwMedia;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwComputingResource;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwProcessor;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.CommunicationMedia;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.ComputingResource;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.ProcessingResource;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.Resource;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HardwareBaselinePackage
+ * @generated
+ */
+public class HardwareBaselineSwitch<T> extends Switch<T> {
+	/**
+	 * The cached model package
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static HardwareBaselinePackage modelPackage;
+
+	/**
+	 * Creates an instance of the switch.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public HardwareBaselineSwitch() {
+		if (modelPackage == null) {
+			modelPackage = HardwareBaselinePackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Checks whether this is a switch for the given package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @parameter ePackage the package in question.
+	 * @return whether this is a switch for the given package.
+	 * @generated
+	 */
+	@Override
+	protected boolean isSwitchFor(EPackage ePackage) {
+		return ePackage == modelPackage;
+	}
+
+	/**
+	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the first non-null result returned by a <code>caseXXX</code> call.
+	 * @generated
+	 */
+	@Override
+	protected T doSwitch(int classifierID, EObject theEObject) {
+		switch (classifierID) {
+			case HardwareBaselinePackage.CH_HW_PROCESSOR: {
+				CH_HwProcessor cH_HwProcessor = (CH_HwProcessor)theEObject;
+				T result = caseCH_HwProcessor(cH_HwProcessor);
+				if (result == null) result = caseHwProcessor(cH_HwProcessor);
+				if (result == null) result = caseHwComputingResource(cH_HwProcessor);
+				if (result == null) result = caseHwResource(cH_HwProcessor);
+				if (result == null) result = caseComputingResource(cH_HwProcessor);
+				if (result == null) result = caseProcessingResource(cH_HwProcessor);
+				if (result == null) result = caseResource(cH_HwProcessor);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case HardwareBaselinePackage.HW_DATA_TYPE: {
+				HWDataType hwDataType = (HWDataType)theEObject;
+				T result = caseHWDataType(hwDataType);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case HardwareBaselinePackage.DATA_TYPE_EXECUTION: {
+				DataTypeExecution dataTypeExecution = (DataTypeExecution)theEObject;
+				T result = caseDataTypeExecution(dataTypeExecution);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case HardwareBaselinePackage.COMPUTE_COMPLEXITY: {
+				ComputeComplexity computeComplexity = (ComputeComplexity)theEObject;
+				T result = caseComputeComplexity(computeComplexity);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case HardwareBaselinePackage.SW_DATA_TYPE: {
+				SWDataType swDataType = (SWDataType)theEObject;
+				T result = caseSWDataType(swDataType);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case HardwareBaselinePackage.OPERATION_COUNT: {
+				OperationCount operationCount = (OperationCount)theEObject;
+				T result = caseOperationCount(operationCount);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case HardwareBaselinePackage.CH_CONTROL_FLOW: {
+				CHControlFlow chControlFlow = (CHControlFlow)theEObject;
+				T result = caseCHControlFlow(chControlFlow);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case HardwareBaselinePackage.FLOAT_SW_DATA_TYPE: {
+				FloatSWDataType floatSWDataType = (FloatSWDataType)theEObject;
+				T result = caseFloatSWDataType(floatSWDataType);
+				if (result == null) result = caseSWDataType(floatSWDataType);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case HardwareBaselinePackage.FIXED_SW_DATA_TYPE: {
+				FixedSWDataType fixedSWDataType = (FixedSWDataType)theEObject;
+				T result = caseFixedSWDataType(fixedSWDataType);
+				if (result == null) result = caseSWDataType(fixedSWDataType);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case HardwareBaselinePackage.INTEGER_SW_DATA_TYPE: {
+				IntegerSWDataType integerSWDataType = (IntegerSWDataType)theEObject;
+				T result = caseIntegerSWDataType(integerSWDataType);
+				if (result == null) result = caseSWDataType(integerSWDataType);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case HardwareBaselinePackage.CHAR_SW_DATA_TYPE: {
+				CharSWDataType charSWDataType = (CharSWDataType)theEObject;
+				T result = caseCharSWDataType(charSWDataType);
+				if (result == null) result = caseSWDataType(charSWDataType);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case HardwareBaselinePackage.BOOLEAN_SW_DATA_TYPE: {
+				BooleanSWDataType booleanSWDataType = (BooleanSWDataType)theEObject;
+				T result = caseBooleanSWDataType(booleanSWDataType);
+				if (result == null) result = caseSWDataType(booleanSWDataType);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case HardwareBaselinePackage.CH_HW_BUS: {
+				CH_HwBus cH_HwBus = (CH_HwBus)theEObject;
+				T result = caseCH_HwBus(cH_HwBus);
+				if (result == null) result = caseHwBus(cH_HwBus);
+				if (result == null) result = caseHwMedia(cH_HwBus);
+				if (result == null) result = caseCommunicationMedia(cH_HwBus);
+				if (result == null) result = caseHwCommunicationResource(cH_HwBus);
+				if (result == null) result = caseProcessingResource(cH_HwBus);
+				if (result == null) result = caseHwResource(cH_HwBus);
+				if (result == null) result = caseResource(cH_HwBus);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case HardwareBaselinePackage.CH_HW_COMPUTING_RESOURCE: {
+				CH_HwComputingResource cH_HwComputingResource = (CH_HwComputingResource)theEObject;
+				T result = caseCH_HwComputingResource(cH_HwComputingResource);
+				if (result == null) result = caseHwComputingResource(cH_HwComputingResource);
+				if (result == null) result = caseHwResource(cH_HwComputingResource);
+				if (result == null) result = caseComputingResource(cH_HwComputingResource);
+				if (result == null) result = caseProcessingResource(cH_HwComputingResource);
+				if (result == null) result = caseResource(cH_HwComputingResource);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case HardwareBaselinePackage.DATA_TYPE_ASSIGN: {
+				DataTypeAssign dataTypeAssign = (DataTypeAssign)theEObject;
+				T result = caseDataTypeAssign(dataTypeAssign);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			default: return defaultCase(theEObject);
+		}
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>CH Hw Processor</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>CH Hw Processor</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseCH_HwProcessor(CH_HwProcessor object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>HW Data Type</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>HW Data Type</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseHWDataType(HWDataType object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Data Type Execution</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Data Type Execution</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseDataTypeExecution(DataTypeExecution object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Compute Complexity</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Compute Complexity</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseComputeComplexity(ComputeComplexity object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>SW Data Type</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>SW Data Type</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseSWDataType(SWDataType object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Operation Count</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Operation Count</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseOperationCount(OperationCount object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>CH Control Flow</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>CH Control Flow</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseCHControlFlow(CHControlFlow object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Float SW Data Type</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Float SW Data Type</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseFloatSWDataType(FloatSWDataType object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Fixed SW Data Type</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Fixed SW Data Type</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseFixedSWDataType(FixedSWDataType object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Integer SW Data Type</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Integer SW Data Type</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseIntegerSWDataType(IntegerSWDataType object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Char SW Data Type</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Char SW Data Type</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseCharSWDataType(CharSWDataType object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Boolean SW Data Type</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Boolean SW Data Type</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseBooleanSWDataType(BooleanSWDataType object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>CH Hw Bus</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>CH Hw Bus</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseCH_HwBus(CH_HwBus object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>CH Hw Computing Resource</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>CH Hw Computing Resource</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseCH_HwComputingResource(CH_HwComputingResource object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Data Type Assign</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Data Type Assign</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseDataTypeAssign(DataTypeAssign object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Resource</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Resource</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseResource(Resource object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Hw Resource</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Hw Resource</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseHwResource(HwResource object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Processing Resource</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Processing Resource</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseProcessingResource(ProcessingResource object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Computing Resource</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Computing Resource</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseComputingResource(ComputingResource object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Resource</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Resource</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseHwComputingResource(HwComputingResource object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Hw Processor</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Hw Processor</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseHwProcessor(HwProcessor object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Communication Media</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Communication Media</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseCommunicationMedia(CommunicationMedia object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Resource</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Resource</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseHwCommunicationResource(HwCommunicationResource object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Hw Media</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Hw Media</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseHwMedia(HwMedia object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Hw Bus</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Hw Bus</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseHwBus(HwBus object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch, but this is the last case anyway.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+	 * @generated
+	 */
+	@Override
+	public T defaultCase(EObject object) {
+		return null;
+	}
+
+} //HardwareBaselineSwitch
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/util/HardwareBaselineXMLProcessor.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/util/HardwareBaselineXMLProcessor.java
new file mode 100644
index 000000000..ba9f3a4c9
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/DeploymentConfiguration/HardwareBaseline/util/HardwareBaselineXMLProcessor.java
@@ -0,0 +1,56 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.util;
+
+import java.util.Map;
+
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.xmi.util.XMLProcessor;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HardwareBaselinePackage;
+
+/**
+ * This class contains helper methods to serialize and deserialize XML documents
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class HardwareBaselineXMLProcessor extends XMLProcessor {
+
+	/**
+	 * Public constructor to instantiate the helper.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public HardwareBaselineXMLProcessor() {
+		super((EPackage.Registry.INSTANCE));
+		HardwareBaselinePackage.eINSTANCE.eClass();
+	}
+	
+	/**
+	 * Register for "*" and "xml" file extensions the HardwareBaselineResourceFactoryImpl factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected Map<String, Resource.Factory> getRegistrations() {
+		if (registrations == null) {
+			super.getRegistrations();
+			registrations.put(XML_EXTENSION, new HardwareBaselineResourceFactoryImpl());
+			registrations.put(STAR_EXTENSION, new HardwareBaselineResourceFactoryImpl());
+		}
+		return registrations;
+	}
+
+} //HardwareBaselineXMLProcessor
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/CHRtPortSlot.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/CHRtPortSlot.java
new file mode 100644
index 000000000..73d424ebc
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/CHRtPortSlot.java
@@ -0,0 +1,80 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.uml2.uml.Slot;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>CH Rt Port Slot</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.CHRtPortSlot#getBase_Slot <em>Base Slot</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.CHRtPortSlot#getCH_RtSpecification <em>CH Rt Specification</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTComponentModelPackage#getCHRtPortSlot()
+ * @model
+ * @generated
+ */
+public interface CHRtPortSlot extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Base Slot</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Slot</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Base Slot</em>' reference.
+	 * @see #setBase_Slot(Slot)
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTComponentModelPackage#getCHRtPortSlot_Base_Slot()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	Slot getBase_Slot();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.CHRtPortSlot#getBase_Slot <em>Base Slot</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Base Slot</em>' reference.
+	 * @see #getBase_Slot()
+	 * @generated
+	 */
+	void setBase_Slot(Slot value);
+
+	/**
+	 * Returns the value of the '<em><b>CH Rt Specification</b></em>' reference list.
+	 * The list contents are of type {@link org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.CHRtSpecification}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>CH Rt Specification</em>' reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>CH Rt Specification</em>' reference list.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTComponentModelPackage#getCHRtPortSlot_CH_RtSpecification()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	EList<CHRtSpecification> getCH_RtSpecification();
+
+} // CHRtPortSlot
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/CHRtSpecification.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/CHRtSpecification.java
new file mode 100644
index 000000000..7f8f954c3
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/CHRtSpecification.java
@@ -0,0 +1,456 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HLAM.CallConcurrencyKind;
+
+import org.eclipse.uml2.uml.BehavioralFeature;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Slot;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>CH Rt Specification</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.CHRtSpecification#getPartWithPort <em>Part With Port</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.CHRtSpecification#getWCET <em>WCET</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.CHRtSpecification#getLocalWCET <em>Local WCET</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.CHRtSpecification#getRelativePriority <em>Relative Priority</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.CHRtSpecification#getCeiling <em>Ceiling</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.CHRtSpecification#getMemorySizeFootprint <em>Memory Size Footprint</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.CHRtSpecification#getStackSize <em>Stack Size</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.CHRtSpecification#getHeapSize <em>Heap Size</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.CHRtSpecification#getSlot <em>Slot</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.CHRtSpecification#getBase_Comment <em>Base Comment</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.CHRtSpecification#getOccKind <em>Occ Kind</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.CHRtSpecification#getProtection <em>Protection</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.CHRtSpecification#getRlDl <em>Rl Dl</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.CHRtSpecification#getContext <em>Context</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.CHRtSpecification#getRespT <em>Resp T</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.CHRtSpecification#getBlockT <em>Block T</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTComponentModelPackage#getCHRtSpecification()
+ * @model
+ * @generated
+ */
+public interface CHRtSpecification extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Part With Port</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Part With Port</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Part With Port</em>' reference.
+	 * @see #setPartWithPort(Property)
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTComponentModelPackage#getCHRtSpecification_PartWithPort()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	Property getPartWithPort();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.CHRtSpecification#getPartWithPort <em>Part With Port</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Part With Port</em>' reference.
+	 * @see #getPartWithPort()
+	 * @generated
+	 */
+	void setPartWithPort(Property value);
+
+	/**
+	 * Returns the value of the '<em><b>WCET</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>WCET</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>WCET</em>' attribute.
+	 * @see #setWCET(String)
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTComponentModelPackage#getCHRtSpecification_WCET()
+	 * @model dataType="org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.NFP_Duration" required="true" ordered="false"
+	 * @generated
+	 */
+	String getWCET();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.CHRtSpecification#getWCET <em>WCET</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>WCET</em>' attribute.
+	 * @see #getWCET()
+	 * @generated
+	 */
+	void setWCET(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Local WCET</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Local WCET</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Local WCET</em>' attribute.
+	 * @see #setLocalWCET(String)
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTComponentModelPackage#getCHRtSpecification_LocalWCET()
+	 * @model dataType="org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.NFP_Duration" ordered="false"
+	 * @generated
+	 */
+	String getLocalWCET();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.CHRtSpecification#getLocalWCET <em>Local WCET</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Local WCET</em>' attribute.
+	 * @see #getLocalWCET()
+	 * @generated
+	 */
+	void setLocalWCET(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Relative Priority</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Relative Priority</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Relative Priority</em>' attribute.
+	 * @see #setRelativePriority(String)
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTComponentModelPackage#getCHRtSpecification_RelativePriority()
+	 * @model dataType="org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.NFP_Integer" ordered="false"
+	 * @generated
+	 */
+	String getRelativePriority();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.CHRtSpecification#getRelativePriority <em>Relative Priority</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Relative Priority</em>' attribute.
+	 * @see #getRelativePriority()
+	 * @generated
+	 */
+	void setRelativePriority(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Ceiling</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Ceiling</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Ceiling</em>' attribute.
+	 * @see #setCeiling(String)
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTComponentModelPackage#getCHRtSpecification_Ceiling()
+	 * @model dataType="org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.NFP_Integer" ordered="false"
+	 * @generated
+	 */
+	String getCeiling();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.CHRtSpecification#getCeiling <em>Ceiling</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Ceiling</em>' attribute.
+	 * @see #getCeiling()
+	 * @generated
+	 */
+	void setCeiling(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Memory Size Footprint</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Memory Size Footprint</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Memory Size Footprint</em>' attribute.
+	 * @see #setMemorySizeFootprint(String)
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTComponentModelPackage#getCHRtSpecification_MemorySizeFootprint()
+	 * @model dataType="org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.NFP_DataSize" ordered="false"
+	 * @generated
+	 */
+	String getMemorySizeFootprint();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.CHRtSpecification#getMemorySizeFootprint <em>Memory Size Footprint</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Memory Size Footprint</em>' attribute.
+	 * @see #getMemorySizeFootprint()
+	 * @generated
+	 */
+	void setMemorySizeFootprint(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Stack Size</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Stack Size</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Stack Size</em>' attribute.
+	 * @see #setStackSize(String)
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTComponentModelPackage#getCHRtSpecification_StackSize()
+	 * @model dataType="org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.NFP_DataSize" ordered="false"
+	 * @generated
+	 */
+	String getStackSize();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.CHRtSpecification#getStackSize <em>Stack Size</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Stack Size</em>' attribute.
+	 * @see #getStackSize()
+	 * @generated
+	 */
+	void setStackSize(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Heap Size</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Heap Size</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Heap Size</em>' attribute.
+	 * @see #setHeapSize(String)
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTComponentModelPackage#getCHRtSpecification_HeapSize()
+	 * @model dataType="org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.NFP_DataSize" ordered="false"
+	 * @generated
+	 */
+	String getHeapSize();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.CHRtSpecification#getHeapSize <em>Heap Size</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Heap Size</em>' attribute.
+	 * @see #getHeapSize()
+	 * @generated
+	 */
+	void setHeapSize(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Slot</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Slot</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Slot</em>' reference.
+	 * @see #setSlot(Slot)
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTComponentModelPackage#getCHRtSpecification_Slot()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	Slot getSlot();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.CHRtSpecification#getSlot <em>Slot</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Slot</em>' reference.
+	 * @see #getSlot()
+	 * @generated
+	 */
+	void setSlot(Slot value);
+
+	/**
+	 * Returns the value of the '<em><b>Base Comment</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Comment</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Base Comment</em>' reference.
+	 * @see #setBase_Comment(Comment)
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTComponentModelPackage#getCHRtSpecification_Base_Comment()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	Comment getBase_Comment();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.CHRtSpecification#getBase_Comment <em>Base Comment</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Base Comment</em>' reference.
+	 * @see #getBase_Comment()
+	 * @generated
+	 */
+	void setBase_Comment(Comment value);
+
+	/**
+	 * Returns the value of the '<em><b>Occ Kind</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Occ Kind</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Occ Kind</em>' attribute.
+	 * @see #setOccKind(String)
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTComponentModelPackage#getCHRtSpecification_OccKind()
+	 * @model dataType="org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.ArrivalPattern" ordered="false"
+	 * @generated
+	 */
+	String getOccKind();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.CHRtSpecification#getOccKind <em>Occ Kind</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Occ Kind</em>' attribute.
+	 * @see #getOccKind()
+	 * @generated
+	 */
+	void setOccKind(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Protection</b></em>' attribute.
+	 * The literals are from the enumeration {@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HLAM.CallConcurrencyKind}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Protection</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Protection</em>' attribute.
+	 * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HLAM.CallConcurrencyKind
+	 * @see #setProtection(CallConcurrencyKind)
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTComponentModelPackage#getCHRtSpecification_Protection()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	CallConcurrencyKind getProtection();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.CHRtSpecification#getProtection <em>Protection</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Protection</em>' attribute.
+	 * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HLAM.CallConcurrencyKind
+	 * @see #getProtection()
+	 * @generated
+	 */
+	void setProtection(CallConcurrencyKind value);
+
+	/**
+	 * Returns the value of the '<em><b>Rl Dl</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Rl Dl</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Rl Dl</em>' attribute.
+	 * @see #setRlDl(String)
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTComponentModelPackage#getCHRtSpecification_RlDl()
+	 * @model dataType="org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.NFP_Duration" ordered="false"
+	 * @generated
+	 */
+	String getRlDl();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.CHRtSpecification#getRlDl <em>Rl Dl</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Rl Dl</em>' attribute.
+	 * @see #getRlDl()
+	 * @generated
+	 */
+	void setRlDl(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Context</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Context</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Context</em>' reference.
+	 * @see #setContext(BehavioralFeature)
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTComponentModelPackage#getCHRtSpecification_Context()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	BehavioralFeature getContext();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.CHRtSpecification#getContext <em>Context</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Context</em>' reference.
+	 * @see #getContext()
+	 * @generated
+	 */
+	void setContext(BehavioralFeature value);
+
+	/**
+	 * Returns the value of the '<em><b>Resp T</b></em>' attribute list.
+	 * The list contents are of type {@link java.lang.String}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Resp T</em>' attribute list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Resp T</em>' attribute list.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTComponentModelPackage#getCHRtSpecification_RespT()
+	 * @model dataType="org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.NFP_Duration" ordered="false"
+	 * @generated
+	 */
+	EList<String> getRespT();
+
+	/**
+	 * Returns the value of the '<em><b>Block T</b></em>' attribute list.
+	 * The list contents are of type {@link java.lang.String}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Block T</em>' attribute list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Block T</em>' attribute list.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTComponentModelPackage#getCHRtSpecification_BlockT()
+	 * @model dataType="org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.NFP_Duration" ordered="false"
+	 * @generated
+	 */
+	EList<String> getBlockT();
+
+} // CHRtSpecification
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/RTComponentModelFactory.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/RTComponentModelFactory.java
new file mode 100644
index 000000000..215a5c424
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/RTComponentModelFactory.java
@@ -0,0 +1,60 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTComponentModelPackage
+ * @generated
+ */
+public interface RTComponentModelFactory extends EFactory {
+	/**
+	 * The singleton instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	RTComponentModelFactory eINSTANCE = org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.impl.RTComponentModelFactoryImpl.init();
+
+	/**
+	 * Returns a new object of class '<em>CH Rt Port Slot</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>CH Rt Port Slot</em>'.
+	 * @generated
+	 */
+	CHRtPortSlot createCHRtPortSlot();
+
+	/**
+	 * Returns a new object of class '<em>CH Rt Specification</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>CH Rt Specification</em>'.
+	 * @generated
+	 */
+	CHRtSpecification createCHRtSpecification();
+
+	/**
+	 * Returns the package supported by this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the package supported by this factory.
+	 * @generated
+	 */
+	RTComponentModelPackage getRTComponentModelPackage();
+
+} //RTComponentModelFactory
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/RTComponentModelPackage.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/RTComponentModelPackage.java
new file mode 100644
index 000000000..e13c1b94c
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/RTComponentModelPackage.java
@@ -0,0 +1,674 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ *   <li>each class,</li>
+ *   <li>each feature of each class,</li>
+ *   <li>each enum,</li>
+ *   <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTComponentModelFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface RTComponentModelPackage extends EPackage {
+	/**
+	 * The package name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNAME = "RTComponentModel";
+
+	/**
+	 * The package namespace URI.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_URI = "http://CHESS/Predictability/RTComponentModel";
+
+	/**
+	 * The package namespace name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_PREFIX = "RTComponentModel";
+
+	/**
+	 * The singleton instance of the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	RTComponentModelPackage eINSTANCE = org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.impl.RTComponentModelPackageImpl.init();
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.impl.CHRtPortSlotImpl <em>CH Rt Port Slot</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.impl.CHRtPortSlotImpl
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.impl.RTComponentModelPackageImpl#getCHRtPortSlot()
+	 * @generated
+	 */
+	int CH_RT_PORT_SLOT = 0;
+
+	/**
+	 * The feature id for the '<em><b>Base Slot</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_RT_PORT_SLOT__BASE_SLOT = 0;
+
+	/**
+	 * The feature id for the '<em><b>CH Rt Specification</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_RT_PORT_SLOT__CH_RT_SPECIFICATION = 1;
+
+	/**
+	 * The number of structural features of the '<em>CH Rt Port Slot</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_RT_PORT_SLOT_FEATURE_COUNT = 2;
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.impl.CHRtSpecificationImpl <em>CH Rt Specification</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.impl.CHRtSpecificationImpl
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.impl.RTComponentModelPackageImpl#getCHRtSpecification()
+	 * @generated
+	 */
+	int CH_RT_SPECIFICATION = 1;
+
+	/**
+	 * The feature id for the '<em><b>Part With Port</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_RT_SPECIFICATION__PART_WITH_PORT = 0;
+
+	/**
+	 * The feature id for the '<em><b>WCET</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_RT_SPECIFICATION__WCET = 1;
+
+	/**
+	 * The feature id for the '<em><b>Local WCET</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_RT_SPECIFICATION__LOCAL_WCET = 2;
+
+	/**
+	 * The feature id for the '<em><b>Relative Priority</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_RT_SPECIFICATION__RELATIVE_PRIORITY = 3;
+
+	/**
+	 * The feature id for the '<em><b>Ceiling</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_RT_SPECIFICATION__CEILING = 4;
+
+	/**
+	 * The feature id for the '<em><b>Memory Size Footprint</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_RT_SPECIFICATION__MEMORY_SIZE_FOOTPRINT = 5;
+
+	/**
+	 * The feature id for the '<em><b>Stack Size</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_RT_SPECIFICATION__STACK_SIZE = 6;
+
+	/**
+	 * The feature id for the '<em><b>Heap Size</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_RT_SPECIFICATION__HEAP_SIZE = 7;
+
+	/**
+	 * The feature id for the '<em><b>Slot</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_RT_SPECIFICATION__SLOT = 8;
+
+	/**
+	 * The feature id for the '<em><b>Base Comment</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_RT_SPECIFICATION__BASE_COMMENT = 9;
+
+	/**
+	 * The feature id for the '<em><b>Occ Kind</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_RT_SPECIFICATION__OCC_KIND = 10;
+
+	/**
+	 * The feature id for the '<em><b>Protection</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_RT_SPECIFICATION__PROTECTION = 11;
+
+	/**
+	 * The feature id for the '<em><b>Rl Dl</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_RT_SPECIFICATION__RL_DL = 12;
+
+	/**
+	 * The feature id for the '<em><b>Context</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_RT_SPECIFICATION__CONTEXT = 13;
+
+	/**
+	 * The feature id for the '<em><b>Resp T</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_RT_SPECIFICATION__RESP_T = 14;
+
+	/**
+	 * The feature id for the '<em><b>Block T</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_RT_SPECIFICATION__BLOCK_T = 15;
+
+	/**
+	 * The number of structural features of the '<em>CH Rt Specification</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_RT_SPECIFICATION_FEATURE_COUNT = 16;
+
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.CHRtPortSlot <em>CH Rt Port Slot</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>CH Rt Port Slot</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.CHRtPortSlot
+	 * @generated
+	 */
+	EClass getCHRtPortSlot();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.CHRtPortSlot#getBase_Slot <em>Base Slot</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Base Slot</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.CHRtPortSlot#getBase_Slot()
+	 * @see #getCHRtPortSlot()
+	 * @generated
+	 */
+	EReference getCHRtPortSlot_Base_Slot();
+
+	/**
+	 * Returns the meta object for the reference list '{@link org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.CHRtPortSlot#getCH_RtSpecification <em>CH Rt Specification</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference list '<em>CH Rt Specification</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.CHRtPortSlot#getCH_RtSpecification()
+	 * @see #getCHRtPortSlot()
+	 * @generated
+	 */
+	EReference getCHRtPortSlot_CH_RtSpecification();
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.CHRtSpecification <em>CH Rt Specification</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>CH Rt Specification</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.CHRtSpecification
+	 * @generated
+	 */
+	EClass getCHRtSpecification();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.CHRtSpecification#getPartWithPort <em>Part With Port</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Part With Port</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.CHRtSpecification#getPartWithPort()
+	 * @see #getCHRtSpecification()
+	 * @generated
+	 */
+	EReference getCHRtSpecification_PartWithPort();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.CHRtSpecification#getWCET <em>WCET</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>WCET</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.CHRtSpecification#getWCET()
+	 * @see #getCHRtSpecification()
+	 * @generated
+	 */
+	EAttribute getCHRtSpecification_WCET();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.CHRtSpecification#getLocalWCET <em>Local WCET</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Local WCET</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.CHRtSpecification#getLocalWCET()
+	 * @see #getCHRtSpecification()
+	 * @generated
+	 */
+	EAttribute getCHRtSpecification_LocalWCET();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.CHRtSpecification#getRelativePriority <em>Relative Priority</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Relative Priority</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.CHRtSpecification#getRelativePriority()
+	 * @see #getCHRtSpecification()
+	 * @generated
+	 */
+	EAttribute getCHRtSpecification_RelativePriority();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.CHRtSpecification#getCeiling <em>Ceiling</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Ceiling</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.CHRtSpecification#getCeiling()
+	 * @see #getCHRtSpecification()
+	 * @generated
+	 */
+	EAttribute getCHRtSpecification_Ceiling();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.CHRtSpecification#getMemorySizeFootprint <em>Memory Size Footprint</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Memory Size Footprint</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.CHRtSpecification#getMemorySizeFootprint()
+	 * @see #getCHRtSpecification()
+	 * @generated
+	 */
+	EAttribute getCHRtSpecification_MemorySizeFootprint();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.CHRtSpecification#getStackSize <em>Stack Size</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Stack Size</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.CHRtSpecification#getStackSize()
+	 * @see #getCHRtSpecification()
+	 * @generated
+	 */
+	EAttribute getCHRtSpecification_StackSize();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.CHRtSpecification#getHeapSize <em>Heap Size</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Heap Size</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.CHRtSpecification#getHeapSize()
+	 * @see #getCHRtSpecification()
+	 * @generated
+	 */
+	EAttribute getCHRtSpecification_HeapSize();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.CHRtSpecification#getSlot <em>Slot</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Slot</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.CHRtSpecification#getSlot()
+	 * @see #getCHRtSpecification()
+	 * @generated
+	 */
+	EReference getCHRtSpecification_Slot();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.CHRtSpecification#getBase_Comment <em>Base Comment</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Base Comment</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.CHRtSpecification#getBase_Comment()
+	 * @see #getCHRtSpecification()
+	 * @generated
+	 */
+	EReference getCHRtSpecification_Base_Comment();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.CHRtSpecification#getOccKind <em>Occ Kind</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Occ Kind</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.CHRtSpecification#getOccKind()
+	 * @see #getCHRtSpecification()
+	 * @generated
+	 */
+	EAttribute getCHRtSpecification_OccKind();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.CHRtSpecification#getProtection <em>Protection</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Protection</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.CHRtSpecification#getProtection()
+	 * @see #getCHRtSpecification()
+	 * @generated
+	 */
+	EAttribute getCHRtSpecification_Protection();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.CHRtSpecification#getRlDl <em>Rl Dl</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Rl Dl</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.CHRtSpecification#getRlDl()
+	 * @see #getCHRtSpecification()
+	 * @generated
+	 */
+	EAttribute getCHRtSpecification_RlDl();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.CHRtSpecification#getContext <em>Context</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Context</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.CHRtSpecification#getContext()
+	 * @see #getCHRtSpecification()
+	 * @generated
+	 */
+	EReference getCHRtSpecification_Context();
+
+	/**
+	 * Returns the meta object for the attribute list '{@link org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.CHRtSpecification#getRespT <em>Resp T</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute list '<em>Resp T</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.CHRtSpecification#getRespT()
+	 * @see #getCHRtSpecification()
+	 * @generated
+	 */
+	EAttribute getCHRtSpecification_RespT();
+
+	/**
+	 * Returns the meta object for the attribute list '{@link org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.CHRtSpecification#getBlockT <em>Block T</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute list '<em>Block T</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.CHRtSpecification#getBlockT()
+	 * @see #getCHRtSpecification()
+	 * @generated
+	 */
+	EAttribute getCHRtSpecification_BlockT();
+
+	/**
+	 * Returns the factory that creates the instances of the model.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the factory that creates the instances of the model.
+	 * @generated
+	 */
+	RTComponentModelFactory getRTComponentModelFactory();
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * Defines literals for the meta objects that represent
+	 * <ul>
+	 *   <li>each class,</li>
+	 *   <li>each feature of each class,</li>
+	 *   <li>each enum,</li>
+	 *   <li>and each data type</li>
+	 * </ul>
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	interface Literals {
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.impl.CHRtPortSlotImpl <em>CH Rt Port Slot</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.impl.CHRtPortSlotImpl
+		 * @see org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.impl.RTComponentModelPackageImpl#getCHRtPortSlot()
+		 * @generated
+		 */
+		EClass CH_RT_PORT_SLOT = eINSTANCE.getCHRtPortSlot();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Slot</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference CH_RT_PORT_SLOT__BASE_SLOT = eINSTANCE.getCHRtPortSlot_Base_Slot();
+
+		/**
+		 * The meta object literal for the '<em><b>CH Rt Specification</b></em>' reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference CH_RT_PORT_SLOT__CH_RT_SPECIFICATION = eINSTANCE.getCHRtPortSlot_CH_RtSpecification();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.impl.CHRtSpecificationImpl <em>CH Rt Specification</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.impl.CHRtSpecificationImpl
+		 * @see org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.impl.RTComponentModelPackageImpl#getCHRtSpecification()
+		 * @generated
+		 */
+		EClass CH_RT_SPECIFICATION = eINSTANCE.getCHRtSpecification();
+
+		/**
+		 * The meta object literal for the '<em><b>Part With Port</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference CH_RT_SPECIFICATION__PART_WITH_PORT = eINSTANCE.getCHRtSpecification_PartWithPort();
+
+		/**
+		 * The meta object literal for the '<em><b>WCET</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute CH_RT_SPECIFICATION__WCET = eINSTANCE.getCHRtSpecification_WCET();
+
+		/**
+		 * The meta object literal for the '<em><b>Local WCET</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute CH_RT_SPECIFICATION__LOCAL_WCET = eINSTANCE.getCHRtSpecification_LocalWCET();
+
+		/**
+		 * The meta object literal for the '<em><b>Relative Priority</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute CH_RT_SPECIFICATION__RELATIVE_PRIORITY = eINSTANCE.getCHRtSpecification_RelativePriority();
+
+		/**
+		 * The meta object literal for the '<em><b>Ceiling</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute CH_RT_SPECIFICATION__CEILING = eINSTANCE.getCHRtSpecification_Ceiling();
+
+		/**
+		 * The meta object literal for the '<em><b>Memory Size Footprint</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute CH_RT_SPECIFICATION__MEMORY_SIZE_FOOTPRINT = eINSTANCE.getCHRtSpecification_MemorySizeFootprint();
+
+		/**
+		 * The meta object literal for the '<em><b>Stack Size</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute CH_RT_SPECIFICATION__STACK_SIZE = eINSTANCE.getCHRtSpecification_StackSize();
+
+		/**
+		 * The meta object literal for the '<em><b>Heap Size</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute CH_RT_SPECIFICATION__HEAP_SIZE = eINSTANCE.getCHRtSpecification_HeapSize();
+
+		/**
+		 * The meta object literal for the '<em><b>Slot</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference CH_RT_SPECIFICATION__SLOT = eINSTANCE.getCHRtSpecification_Slot();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Comment</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference CH_RT_SPECIFICATION__BASE_COMMENT = eINSTANCE.getCHRtSpecification_Base_Comment();
+
+		/**
+		 * The meta object literal for the '<em><b>Occ Kind</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute CH_RT_SPECIFICATION__OCC_KIND = eINSTANCE.getCHRtSpecification_OccKind();
+
+		/**
+		 * The meta object literal for the '<em><b>Protection</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute CH_RT_SPECIFICATION__PROTECTION = eINSTANCE.getCHRtSpecification_Protection();
+
+		/**
+		 * The meta object literal for the '<em><b>Rl Dl</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute CH_RT_SPECIFICATION__RL_DL = eINSTANCE.getCHRtSpecification_RlDl();
+
+		/**
+		 * The meta object literal for the '<em><b>Context</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference CH_RT_SPECIFICATION__CONTEXT = eINSTANCE.getCHRtSpecification_Context();
+
+		/**
+		 * The meta object literal for the '<em><b>Resp T</b></em>' attribute list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute CH_RT_SPECIFICATION__RESP_T = eINSTANCE.getCHRtSpecification_RespT();
+
+		/**
+		 * The meta object literal for the '<em><b>Block T</b></em>' attribute list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute CH_RT_SPECIFICATION__BLOCK_T = eINSTANCE.getCHRtSpecification_BlockT();
+
+	}
+
+} //RTComponentModelPackage
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/RTDataTypes/CH_BurstPattern.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/RTDataTypes/CH_BurstPattern.java
new file mode 100644
index 000000000..dd7aeb427
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/RTDataTypes/CH_BurstPattern.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>CH Burst Pattern</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.RTDataTypesPackage#getCH_BurstPattern()
+ * @model
+ * @generated
+ */
+public interface CH_BurstPattern extends EObject {
+} // CH_BurstPattern
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/RTDataTypes/CH_PeriodicPattern.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/RTDataTypes/CH_PeriodicPattern.java
new file mode 100644
index 000000000..68c91ffa4
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/RTDataTypes/CH_PeriodicPattern.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>CH Periodic Pattern</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.RTDataTypesPackage#getCH_PeriodicPattern()
+ * @model
+ * @generated
+ */
+public interface CH_PeriodicPattern extends EObject {
+} // CH_PeriodicPattern
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/RTDataTypes/CH_SporadicPattern.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/RTDataTypes/CH_SporadicPattern.java
new file mode 100644
index 000000000..3ec8594dd
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/RTDataTypes/CH_SporadicPattern.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>CH Sporadic Pattern</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.RTDataTypesPackage#getCH_SporadicPattern()
+ * @model
+ * @generated
+ */
+public interface CH_SporadicPattern extends EObject {
+} // CH_SporadicPattern
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/RTDataTypes/RTDataTypesFactory.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/RTDataTypes/RTDataTypesFactory.java
new file mode 100644
index 000000000..e449fe96a
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/RTDataTypes/RTDataTypesFactory.java
@@ -0,0 +1,87 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.RTDataTypesPackage
+ * @generated
+ */
+public interface RTDataTypesFactory extends EFactory {
+	/**
+	 * The singleton instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	RTDataTypesFactory eINSTANCE = org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.impl.RTDataTypesFactoryImpl.init();
+
+	/**
+	 * Returns a new object of class '<em>CH Sporadic Pattern</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>CH Sporadic Pattern</em>'.
+	 * @generated
+	 */
+	CH_SporadicPattern createCH_SporadicPattern();
+
+	/**
+	 * Returns a new object of class '<em>CH Periodic Pattern</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>CH Periodic Pattern</em>'.
+	 * @generated
+	 */
+	CH_PeriodicPattern createCH_PeriodicPattern();
+
+	/**
+	 * Returns a new object of class '<em>CH Burst Pattern</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>CH Burst Pattern</em>'.
+	 * @generated
+	 */
+	CH_BurstPattern createCH_BurstPattern();
+
+	/**
+	 * Returns a new object of class '<em>TA Pattern</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>TA Pattern</em>'.
+	 * @generated
+	 */
+	TA_Pattern createTA_Pattern();
+
+	/**
+	 * Returns a new object of class '<em>TA Arbitrary Pattern</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>TA Arbitrary Pattern</em>'.
+	 * @generated
+	 */
+	TA_ArbitraryPattern createTA_ArbitraryPattern();
+
+	/**
+	 * Returns the package supported by this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the package supported by this factory.
+	 * @generated
+	 */
+	RTDataTypesPackage getRTDataTypesPackage();
+
+} //RTDataTypesFactory
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/RTDataTypes/RTDataTypesPackage.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/RTDataTypes/RTDataTypesPackage.java
new file mode 100644
index 000000000..c06d4cfc0
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/RTDataTypes/RTDataTypesPackage.java
@@ -0,0 +1,286 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ *   <li>each class,</li>
+ *   <li>each feature of each class,</li>
+ *   <li>each enum,</li>
+ *   <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.RTDataTypesFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface RTDataTypesPackage extends EPackage {
+	/**
+	 * The package name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNAME = "RTDataTypes";
+
+	/**
+	 * The package namespace URI.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_URI = "http:///CHESS/Predictability/RTComponentModel/RTDataTypes.ecore";
+
+	/**
+	 * The package namespace name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_PREFIX = "CHESS.Predictability.RTComponentModel.RTDataTypes";
+
+	/**
+	 * The singleton instance of the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	RTDataTypesPackage eINSTANCE = org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.impl.RTDataTypesPackageImpl.init();
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.impl.CH_SporadicPatternImpl <em>CH Sporadic Pattern</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.impl.CH_SporadicPatternImpl
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.impl.RTDataTypesPackageImpl#getCH_SporadicPattern()
+	 * @generated
+	 */
+	int CH_SPORADIC_PATTERN = 0;
+
+	/**
+	 * The number of structural features of the '<em>CH Sporadic Pattern</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_SPORADIC_PATTERN_FEATURE_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.impl.CH_PeriodicPatternImpl <em>CH Periodic Pattern</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.impl.CH_PeriodicPatternImpl
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.impl.RTDataTypesPackageImpl#getCH_PeriodicPattern()
+	 * @generated
+	 */
+	int CH_PERIODIC_PATTERN = 1;
+
+	/**
+	 * The number of structural features of the '<em>CH Periodic Pattern</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_PERIODIC_PATTERN_FEATURE_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.impl.CH_BurstPatternImpl <em>CH Burst Pattern</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.impl.CH_BurstPatternImpl
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.impl.RTDataTypesPackageImpl#getCH_BurstPattern()
+	 * @generated
+	 */
+	int CH_BURST_PATTERN = 2;
+
+	/**
+	 * The number of structural features of the '<em>CH Burst Pattern</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CH_BURST_PATTERN_FEATURE_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.impl.TA_PatternImpl <em>TA Pattern</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.impl.TA_PatternImpl
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.impl.RTDataTypesPackageImpl#getTA_Pattern()
+	 * @generated
+	 */
+	int TA_PATTERN = 3;
+
+	/**
+	 * The number of structural features of the '<em>TA Pattern</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TA_PATTERN_FEATURE_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.impl.TA_ArbitraryPatternImpl <em>TA Arbitrary Pattern</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.impl.TA_ArbitraryPatternImpl
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.impl.RTDataTypesPackageImpl#getTA_ArbitraryPattern()
+	 * @generated
+	 */
+	int TA_ARBITRARY_PATTERN = 4;
+
+	/**
+	 * The number of structural features of the '<em>TA Arbitrary Pattern</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TA_ARBITRARY_PATTERN_FEATURE_COUNT = 0;
+
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.CH_SporadicPattern <em>CH Sporadic Pattern</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>CH Sporadic Pattern</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.CH_SporadicPattern
+	 * @generated
+	 */
+	EClass getCH_SporadicPattern();
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.CH_PeriodicPattern <em>CH Periodic Pattern</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>CH Periodic Pattern</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.CH_PeriodicPattern
+	 * @generated
+	 */
+	EClass getCH_PeriodicPattern();
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.CH_BurstPattern <em>CH Burst Pattern</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>CH Burst Pattern</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.CH_BurstPattern
+	 * @generated
+	 */
+	EClass getCH_BurstPattern();
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.TA_Pattern <em>TA Pattern</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>TA Pattern</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.TA_Pattern
+	 * @generated
+	 */
+	EClass getTA_Pattern();
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.TA_ArbitraryPattern <em>TA Arbitrary Pattern</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>TA Arbitrary Pattern</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.TA_ArbitraryPattern
+	 * @generated
+	 */
+	EClass getTA_ArbitraryPattern();
+
+	/**
+	 * Returns the factory that creates the instances of the model.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the factory that creates the instances of the model.
+	 * @generated
+	 */
+	RTDataTypesFactory getRTDataTypesFactory();
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * Defines literals for the meta objects that represent
+	 * <ul>
+	 *   <li>each class,</li>
+	 *   <li>each feature of each class,</li>
+	 *   <li>each enum,</li>
+	 *   <li>and each data type</li>
+	 * </ul>
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	interface Literals {
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.impl.CH_SporadicPatternImpl <em>CH Sporadic Pattern</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.impl.CH_SporadicPatternImpl
+		 * @see org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.impl.RTDataTypesPackageImpl#getCH_SporadicPattern()
+		 * @generated
+		 */
+		EClass CH_SPORADIC_PATTERN = eINSTANCE.getCH_SporadicPattern();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.impl.CH_PeriodicPatternImpl <em>CH Periodic Pattern</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.impl.CH_PeriodicPatternImpl
+		 * @see org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.impl.RTDataTypesPackageImpl#getCH_PeriodicPattern()
+		 * @generated
+		 */
+		EClass CH_PERIODIC_PATTERN = eINSTANCE.getCH_PeriodicPattern();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.impl.CH_BurstPatternImpl <em>CH Burst Pattern</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.impl.CH_BurstPatternImpl
+		 * @see org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.impl.RTDataTypesPackageImpl#getCH_BurstPattern()
+		 * @generated
+		 */
+		EClass CH_BURST_PATTERN = eINSTANCE.getCH_BurstPattern();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.impl.TA_PatternImpl <em>TA Pattern</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.impl.TA_PatternImpl
+		 * @see org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.impl.RTDataTypesPackageImpl#getTA_Pattern()
+		 * @generated
+		 */
+		EClass TA_PATTERN = eINSTANCE.getTA_Pattern();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.impl.TA_ArbitraryPatternImpl <em>TA Arbitrary Pattern</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.impl.TA_ArbitraryPatternImpl
+		 * @see org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.impl.RTDataTypesPackageImpl#getTA_ArbitraryPattern()
+		 * @generated
+		 */
+		EClass TA_ARBITRARY_PATTERN = eINSTANCE.getTA_ArbitraryPattern();
+
+	}
+
+} //RTDataTypesPackage
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/RTDataTypes/TA_ArbitraryPattern.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/RTDataTypes/TA_ArbitraryPattern.java
new file mode 100644
index 000000000..92ed1f589
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/RTDataTypes/TA_ArbitraryPattern.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>TA Arbitrary Pattern</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.RTDataTypesPackage#getTA_ArbitraryPattern()
+ * @model
+ * @generated
+ */
+public interface TA_ArbitraryPattern extends EObject {
+} // TA_ArbitraryPattern
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/RTDataTypes/TA_Pattern.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/RTDataTypes/TA_Pattern.java
new file mode 100644
index 000000000..56736bd36
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/RTDataTypes/TA_Pattern.java
@@ -0,0 +1,28 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>TA Pattern</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.RTDataTypesPackage#getTA_Pattern()
+ * @model
+ * @generated
+ */
+public interface TA_Pattern extends EObject {
+} // TA_Pattern
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/RTDataTypes/impl/CH_BurstPatternImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/RTDataTypes/impl/CH_BurstPatternImpl.java
new file mode 100644
index 000000000..f9cc616b5
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/RTDataTypes/impl/CH_BurstPatternImpl.java
@@ -0,0 +1,50 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.CH_BurstPattern;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.RTDataTypesPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>CH Burst Pattern</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class CH_BurstPatternImpl extends EObjectImpl implements CH_BurstPattern {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CH_BurstPatternImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return RTDataTypesPackage.Literals.CH_BURST_PATTERN;
+	}
+
+} //CH_BurstPatternImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/RTDataTypes/impl/CH_PeriodicPatternImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/RTDataTypes/impl/CH_PeriodicPatternImpl.java
new file mode 100644
index 000000000..43fafb36e
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/RTDataTypes/impl/CH_PeriodicPatternImpl.java
@@ -0,0 +1,50 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.CH_PeriodicPattern;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.RTDataTypesPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>CH Periodic Pattern</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class CH_PeriodicPatternImpl extends EObjectImpl implements CH_PeriodicPattern {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CH_PeriodicPatternImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return RTDataTypesPackage.Literals.CH_PERIODIC_PATTERN;
+	}
+
+} //CH_PeriodicPatternImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/RTDataTypes/impl/CH_SporadicPatternImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/RTDataTypes/impl/CH_SporadicPatternImpl.java
new file mode 100644
index 000000000..f36223e05
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/RTDataTypes/impl/CH_SporadicPatternImpl.java
@@ -0,0 +1,50 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.CH_SporadicPattern;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.RTDataTypesPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>CH Sporadic Pattern</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class CH_SporadicPatternImpl extends EObjectImpl implements CH_SporadicPattern {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CH_SporadicPatternImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return RTDataTypesPackage.Literals.CH_SPORADIC_PATTERN;
+	}
+
+} //CH_SporadicPatternImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/RTDataTypes/impl/RTDataTypesFactoryImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/RTDataTypes/impl/RTDataTypesFactoryImpl.java
new file mode 100644
index 000000000..353030864
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/RTDataTypes/impl/RTDataTypesFactoryImpl.java
@@ -0,0 +1,145 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class RTDataTypesFactoryImpl extends EFactoryImpl implements RTDataTypesFactory {
+	/**
+	 * Creates the default factory implementation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static RTDataTypesFactory init() {
+		try {
+			RTDataTypesFactory theRTDataTypesFactory = (RTDataTypesFactory)EPackage.Registry.INSTANCE.getEFactory(RTDataTypesPackage.eNS_URI);
+			if (theRTDataTypesFactory != null) {
+				return theRTDataTypesFactory;
+			}
+		}
+		catch (Exception exception) {
+			EcorePlugin.INSTANCE.log(exception);
+		}
+		return new RTDataTypesFactoryImpl();
+	}
+
+	/**
+	 * Creates an instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public RTDataTypesFactoryImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EObject create(EClass eClass) {
+		switch (eClass.getClassifierID()) {
+			case RTDataTypesPackage.CH_SPORADIC_PATTERN: return createCH_SporadicPattern();
+			case RTDataTypesPackage.CH_PERIODIC_PATTERN: return createCH_PeriodicPattern();
+			case RTDataTypesPackage.CH_BURST_PATTERN: return createCH_BurstPattern();
+			case RTDataTypesPackage.TA_PATTERN: return createTA_Pattern();
+			case RTDataTypesPackage.TA_ARBITRARY_PATTERN: return createTA_ArbitraryPattern();
+			default:
+				throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CH_SporadicPattern createCH_SporadicPattern() {
+		CH_SporadicPatternImpl cH_SporadicPattern = new CH_SporadicPatternImpl();
+		return cH_SporadicPattern;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CH_PeriodicPattern createCH_PeriodicPattern() {
+		CH_PeriodicPatternImpl cH_PeriodicPattern = new CH_PeriodicPatternImpl();
+		return cH_PeriodicPattern;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CH_BurstPattern createCH_BurstPattern() {
+		CH_BurstPatternImpl cH_BurstPattern = new CH_BurstPatternImpl();
+		return cH_BurstPattern;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public TA_Pattern createTA_Pattern() {
+		TA_PatternImpl tA_Pattern = new TA_PatternImpl();
+		return tA_Pattern;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public TA_ArbitraryPattern createTA_ArbitraryPattern() {
+		TA_ArbitraryPatternImpl tA_ArbitraryPattern = new TA_ArbitraryPatternImpl();
+		return tA_ArbitraryPattern;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public RTDataTypesPackage getRTDataTypesPackage() {
+		return (RTDataTypesPackage)getEPackage();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @deprecated
+	 * @generated
+	 */
+	@Deprecated
+	public static RTDataTypesPackage getPackage() {
+		return RTDataTypesPackage.eINSTANCE;
+	}
+
+} //RTDataTypesFactoryImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/RTDataTypes/impl/RTDataTypesPackageImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/RTDataTypes/impl/RTDataTypesPackageImpl.java
new file mode 100644
index 000000000..64efb7934
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/RTDataTypes/impl/RTDataTypesPackageImpl.java
@@ -0,0 +1,387 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+import org.eclipse.papyrus.MARTE.MARTEPackage;
+import org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.BasicNFP_TypesPackage;
+import org.eclipse.papyrus.MARTE_Library.GRM_BasicTypes.GRM_BasicTypesPackage;
+import org.eclipse.papyrus.MARTE_Library.MARTE_DataTypes.MARTE_DataTypesPackage;
+import org.eclipse.papyrus.MARTE_Library.MARTE_PrimitivesTypes.MARTE_PrimitivesTypesPackage;
+import org.eclipse.papyrus.MARTE_Library.MeasurementUnits.MeasurementUnitsPackage;
+import org.eclipse.papyrus.MARTE_Library.RS_Library.RS_LibraryPackage;
+import org.eclipse.papyrus.MARTE_Library.TimeLibrary.TimeLibraryPackage;
+import org.eclipse.papyrus.MARTE_Library.TimeTypesLibrary.TimeTypesLibraryPackage;
+import org.polarsys.chess.chessmlprofile.chessmlprofilePackage;
+import org.polarsys.chess.chessmlprofile.ComponentModel.ComponentModelPackage;
+import org.polarsys.chess.chessmlprofile.ComponentModel.impl.ComponentModelPackageImpl;
+import org.polarsys.chess.chessmlprofile.Core.CorePackage;
+import org.polarsys.chess.chessmlprofile.Core.CHESSViews.CHESSViewsPackage;
+import org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl.CHESSViewsPackageImpl;
+import org.polarsys.chess.chessmlprofile.Core.impl.CorePackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.DataFlowCallGraph.DataFlowCallGraphPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.DataFlowCallGraph.impl.DataFlowCallGraphPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.DependableComponentPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.impl.DependableComponentPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEAPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEADataTypes.FMEADataTypesPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEADataTypes.impl.FMEADataTypesPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.impl.FMEAPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.FailurePropagationDataTypesPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.impl.FailurePropagationDataTypesPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl.FailurePropagationPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans.MitigationMeansPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans.impl.MitigationMeansPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.FaultTolerancePackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.impl.FaultTolerancePackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.MaintenanceMonitoringPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.impl.MaintenanceMonitoringPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.StateBasedAnalysisPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.impl.StateBasedAnalysisPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StateBasedComponentsPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.impl.StateBasedComponentsPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.StateBasedDataTypesPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.impl.StateBasedDataTypesPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatsPropagationPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.ThreatsPropagationPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.DeploymentConfAnalysisPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.impl.DeploymentConfAnalysisPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HardwareBaselinePackage;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.HardwareBaselinePackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTComponentModelPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.CH_BurstPattern;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.CH_PeriodicPattern;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.CH_SporadicPattern;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.RTDataTypesFactory;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.RTDataTypesPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.TA_ArbitraryPattern;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.TA_Pattern;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.impl.RTComponentModelPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingAnalysisPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.TimingConstraintsPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.impl.TimingConstraintsPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.impl.TimingAnalysisPackageImpl;
+import org.polarsys.chess.chessmlprofile.impl.chessmlprofilePackageImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class RTDataTypesPackageImpl extends EPackageImpl implements RTDataTypesPackage {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass cH_SporadicPatternEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass cH_PeriodicPatternEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass cH_BurstPatternEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass tA_PatternEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass tA_ArbitraryPatternEClass = null;
+
+	/**
+	 * Creates an instance of the model <b>Package</b>, registered with
+	 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+	 * package URI value.
+	 * <p>Note: the correct way to create the package is via the static
+	 * factory method {@link #init init()}, which also performs
+	 * initialization of the package, or returns the registered package,
+	 * if one already exists.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.emf.ecore.EPackage.Registry
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.RTDataTypesPackage#eNS_URI
+	 * @see #init()
+	 * @generated
+	 */
+	private RTDataTypesPackageImpl() {
+		super(eNS_URI, RTDataTypesFactory.eINSTANCE);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static boolean isInited = false;
+
+	/**
+	 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+	 * 
+	 * <p>This method is used to initialize {@link RTDataTypesPackage#eINSTANCE} when that field is accessed.
+	 * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #eNS_URI
+	 * @see #createPackageContents()
+	 * @see #initializePackageContents()
+	 * @generated
+	 */
+	public static RTDataTypesPackage init() {
+		if (isInited) return (RTDataTypesPackage)EPackage.Registry.INSTANCE.getEPackage(RTDataTypesPackage.eNS_URI);
+
+		// Obtain or create and register package
+		RTDataTypesPackageImpl theRTDataTypesPackage = (RTDataTypesPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof RTDataTypesPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new RTDataTypesPackageImpl());
+
+		isInited = true;
+
+		// Initialize simple dependencies
+		MARTEPackage.eINSTANCE.eClass();
+		MeasurementUnitsPackage.eINSTANCE.eClass();
+		GRM_BasicTypesPackage.eINSTANCE.eClass();
+		MARTE_DataTypesPackage.eINSTANCE.eClass();
+		BasicNFP_TypesPackage.eINSTANCE.eClass();
+		TimeTypesLibraryPackage.eINSTANCE.eClass();
+		TimeLibraryPackage.eINSTANCE.eClass();
+		RS_LibraryPackage.eINSTANCE.eClass();
+		MARTE_PrimitivesTypesPackage.eINSTANCE.eClass();
+		BasicNFP_TypesPackage.eINSTANCE.eClass();
+
+		// Obtain or create and register interdependencies
+		chessmlprofilePackageImpl thechessmlprofilePackage = (chessmlprofilePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(chessmlprofilePackage.eNS_URI) instanceof chessmlprofilePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(chessmlprofilePackage.eNS_URI) : chessmlprofilePackage.eINSTANCE);
+		CorePackageImpl theCorePackage = (CorePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(CorePackage.eNS_URI) instanceof CorePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(CorePackage.eNS_URI) : CorePackage.eINSTANCE);
+		CHESSViewsPackageImpl theCHESSViewsPackage = (CHESSViewsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(CHESSViewsPackage.eNS_URI) instanceof CHESSViewsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(CHESSViewsPackage.eNS_URI) : CHESSViewsPackage.eINSTANCE);
+		FailurePropagationPackageImpl theFailurePropagationPackage = (FailurePropagationPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FailurePropagationPackage.eNS_URI) instanceof FailurePropagationPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FailurePropagationPackage.eNS_URI) : FailurePropagationPackage.eINSTANCE);
+		FailurePropagationDataTypesPackageImpl theFailurePropagationDataTypesPackage = (FailurePropagationDataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FailurePropagationDataTypesPackage.eNS_URI) instanceof FailurePropagationDataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FailurePropagationDataTypesPackage.eNS_URI) : FailurePropagationDataTypesPackage.eINSTANCE);
+		DependableComponentPackageImpl theDependableComponentPackage = (DependableComponentPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DependableComponentPackage.eNS_URI) instanceof DependableComponentPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DependableComponentPackage.eNS_URI) : DependableComponentPackage.eINSTANCE);
+		ThreatsPropagationPackageImpl theThreatsPropagationPackage = (ThreatsPropagationPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ThreatsPropagationPackage.eNS_URI) instanceof ThreatsPropagationPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ThreatsPropagationPackage.eNS_URI) : ThreatsPropagationPackage.eINSTANCE);
+		DataFlowCallGraphPackageImpl theDataFlowCallGraphPackage = (DataFlowCallGraphPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DataFlowCallGraphPackage.eNS_URI) instanceof DataFlowCallGraphPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DataFlowCallGraphPackage.eNS_URI) : DataFlowCallGraphPackage.eINSTANCE);
+		StateBasedDataTypesPackageImpl theStateBasedDataTypesPackage = (StateBasedDataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(StateBasedDataTypesPackage.eNS_URI) instanceof StateBasedDataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(StateBasedDataTypesPackage.eNS_URI) : StateBasedDataTypesPackage.eINSTANCE);
+		StateBasedComponentsPackageImpl theStateBasedComponentsPackage = (StateBasedComponentsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(StateBasedComponentsPackage.eNS_URI) instanceof StateBasedComponentsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(StateBasedComponentsPackage.eNS_URI) : StateBasedComponentsPackage.eINSTANCE);
+		FaultTolerancePackageImpl theFaultTolerancePackage = (FaultTolerancePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FaultTolerancePackage.eNS_URI) instanceof FaultTolerancePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FaultTolerancePackage.eNS_URI) : FaultTolerancePackage.eINSTANCE);
+		MaintenanceMonitoringPackageImpl theMaintenanceMonitoringPackage = (MaintenanceMonitoringPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(MaintenanceMonitoringPackage.eNS_URI) instanceof MaintenanceMonitoringPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(MaintenanceMonitoringPackage.eNS_URI) : MaintenanceMonitoringPackage.eINSTANCE);
+		StateBasedAnalysisPackageImpl theStateBasedAnalysisPackage = (StateBasedAnalysisPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(StateBasedAnalysisPackage.eNS_URI) instanceof StateBasedAnalysisPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(StateBasedAnalysisPackage.eNS_URI) : StateBasedAnalysisPackage.eINSTANCE);
+		FMEAPackageImpl theFMEAPackage = (FMEAPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FMEAPackage.eNS_URI) instanceof FMEAPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FMEAPackage.eNS_URI) : FMEAPackage.eINSTANCE);
+		FMEADataTypesPackageImpl theFMEADataTypesPackage = (FMEADataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FMEADataTypesPackage.eNS_URI) instanceof FMEADataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FMEADataTypesPackage.eNS_URI) : FMEADataTypesPackage.eINSTANCE);
+		MitigationMeansPackageImpl theMitigationMeansPackage = (MitigationMeansPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(MitigationMeansPackage.eNS_URI) instanceof MitigationMeansPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(MitigationMeansPackage.eNS_URI) : MitigationMeansPackage.eINSTANCE);
+		TimingAnalysisPackageImpl theTimingAnalysisPackage = (TimingAnalysisPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimingAnalysisPackage.eNS_URI) instanceof TimingAnalysisPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimingAnalysisPackage.eNS_URI) : TimingAnalysisPackage.eINSTANCE);
+		TimingConstraintsPackageImpl theTimingConstraintsPackage = (TimingConstraintsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimingConstraintsPackage.eNS_URI) instanceof TimingConstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimingConstraintsPackage.eNS_URI) : TimingConstraintsPackage.eINSTANCE);
+		HardwareBaselinePackageImpl theHardwareBaselinePackage = (HardwareBaselinePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HardwareBaselinePackage.eNS_URI) instanceof HardwareBaselinePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HardwareBaselinePackage.eNS_URI) : HardwareBaselinePackage.eINSTANCE);
+		DeploymentConfAnalysisPackageImpl theDeploymentConfAnalysisPackage = (DeploymentConfAnalysisPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DeploymentConfAnalysisPackage.eNS_URI) instanceof DeploymentConfAnalysisPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DeploymentConfAnalysisPackage.eNS_URI) : DeploymentConfAnalysisPackage.eINSTANCE);
+		RTComponentModelPackageImpl theRTComponentModelPackage = (RTComponentModelPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RTComponentModelPackage.eNS_URI) instanceof RTComponentModelPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RTComponentModelPackage.eNS_URI) : RTComponentModelPackage.eINSTANCE);
+		ComponentModelPackageImpl theComponentModelPackage = (ComponentModelPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ComponentModelPackage.eNS_URI) instanceof ComponentModelPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ComponentModelPackage.eNS_URI) : ComponentModelPackage.eINSTANCE);
+
+		// Create package meta-data objects
+		theRTDataTypesPackage.createPackageContents();
+		thechessmlprofilePackage.createPackageContents();
+		theCorePackage.createPackageContents();
+		theCHESSViewsPackage.createPackageContents();
+		theFailurePropagationPackage.createPackageContents();
+		theFailurePropagationDataTypesPackage.createPackageContents();
+		theDependableComponentPackage.createPackageContents();
+		theThreatsPropagationPackage.createPackageContents();
+		theDataFlowCallGraphPackage.createPackageContents();
+		theStateBasedDataTypesPackage.createPackageContents();
+		theStateBasedComponentsPackage.createPackageContents();
+		theFaultTolerancePackage.createPackageContents();
+		theMaintenanceMonitoringPackage.createPackageContents();
+		theStateBasedAnalysisPackage.createPackageContents();
+		theFMEAPackage.createPackageContents();
+		theFMEADataTypesPackage.createPackageContents();
+		theMitigationMeansPackage.createPackageContents();
+		theTimingAnalysisPackage.createPackageContents();
+		theTimingConstraintsPackage.createPackageContents();
+		theHardwareBaselinePackage.createPackageContents();
+		theDeploymentConfAnalysisPackage.createPackageContents();
+		theRTComponentModelPackage.createPackageContents();
+		theComponentModelPackage.createPackageContents();
+
+		// Initialize created meta-data
+		theRTDataTypesPackage.initializePackageContents();
+		thechessmlprofilePackage.initializePackageContents();
+		theCorePackage.initializePackageContents();
+		theCHESSViewsPackage.initializePackageContents();
+		theFailurePropagationPackage.initializePackageContents();
+		theFailurePropagationDataTypesPackage.initializePackageContents();
+		theDependableComponentPackage.initializePackageContents();
+		theThreatsPropagationPackage.initializePackageContents();
+		theDataFlowCallGraphPackage.initializePackageContents();
+		theStateBasedDataTypesPackage.initializePackageContents();
+		theStateBasedComponentsPackage.initializePackageContents();
+		theFaultTolerancePackage.initializePackageContents();
+		theMaintenanceMonitoringPackage.initializePackageContents();
+		theStateBasedAnalysisPackage.initializePackageContents();
+		theFMEAPackage.initializePackageContents();
+		theFMEADataTypesPackage.initializePackageContents();
+		theMitigationMeansPackage.initializePackageContents();
+		theTimingAnalysisPackage.initializePackageContents();
+		theTimingConstraintsPackage.initializePackageContents();
+		theHardwareBaselinePackage.initializePackageContents();
+		theDeploymentConfAnalysisPackage.initializePackageContents();
+		theRTComponentModelPackage.initializePackageContents();
+		theComponentModelPackage.initializePackageContents();
+
+		// Mark meta-data to indicate it can't be changed
+		theRTDataTypesPackage.freeze();
+
+  
+		// Update the registry and return the package
+		EPackage.Registry.INSTANCE.put(RTDataTypesPackage.eNS_URI, theRTDataTypesPackage);
+		return theRTDataTypesPackage;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getCH_SporadicPattern() {
+		return cH_SporadicPatternEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getCH_PeriodicPattern() {
+		return cH_PeriodicPatternEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getCH_BurstPattern() {
+		return cH_BurstPatternEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getTA_Pattern() {
+		return tA_PatternEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getTA_ArbitraryPattern() {
+		return tA_ArbitraryPatternEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public RTDataTypesFactory getRTDataTypesFactory() {
+		return (RTDataTypesFactory)getEFactoryInstance();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isCreated = false;
+
+	/**
+	 * Creates the meta-model objects for the package.  This method is
+	 * guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void createPackageContents() {
+		if (isCreated) return;
+		isCreated = true;
+
+		// Create classes and their features
+		cH_SporadicPatternEClass = createEClass(CH_SPORADIC_PATTERN);
+
+		cH_PeriodicPatternEClass = createEClass(CH_PERIODIC_PATTERN);
+
+		cH_BurstPatternEClass = createEClass(CH_BURST_PATTERN);
+
+		tA_PatternEClass = createEClass(TA_PATTERN);
+
+		tA_ArbitraryPatternEClass = createEClass(TA_ARBITRARY_PATTERN);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isInitialized = false;
+
+	/**
+	 * Complete the initialization of the package and its meta-model.  This
+	 * method is guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void initializePackageContents() {
+		if (isInitialized) return;
+		isInitialized = true;
+
+		// Initialize package
+		setName(eNAME);
+		setNsPrefix(eNS_PREFIX);
+		setNsURI(eNS_URI);
+
+		// Create type parameters
+
+		// Set bounds for type parameters
+
+		// Add supertypes to classes
+
+		// Initialize classes and features; add operations and parameters
+		initEClass(cH_SporadicPatternEClass, CH_SporadicPattern.class, "CH_SporadicPattern", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+		initEClass(cH_PeriodicPatternEClass, CH_PeriodicPattern.class, "CH_PeriodicPattern", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+		initEClass(cH_BurstPatternEClass, CH_BurstPattern.class, "CH_BurstPattern", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+		initEClass(tA_PatternEClass, TA_Pattern.class, "TA_Pattern", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+		initEClass(tA_ArbitraryPatternEClass, TA_ArbitraryPattern.class, "TA_ArbitraryPattern", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+	}
+
+} //RTDataTypesPackageImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/RTDataTypes/impl/TA_ArbitraryPatternImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/RTDataTypes/impl/TA_ArbitraryPatternImpl.java
new file mode 100644
index 000000000..d4d3a3ec9
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/RTDataTypes/impl/TA_ArbitraryPatternImpl.java
@@ -0,0 +1,50 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.RTDataTypesPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.TA_ArbitraryPattern;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>TA Arbitrary Pattern</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class TA_ArbitraryPatternImpl extends EObjectImpl implements TA_ArbitraryPattern {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected TA_ArbitraryPatternImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return RTDataTypesPackage.Literals.TA_ARBITRARY_PATTERN;
+	}
+
+} //TA_ArbitraryPatternImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/RTDataTypes/impl/TA_PatternImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/RTDataTypes/impl/TA_PatternImpl.java
new file mode 100644
index 000000000..d61fae4f1
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/RTDataTypes/impl/TA_PatternImpl.java
@@ -0,0 +1,54 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.emf.ecore.util.EDataTypeUniqueEList;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.RTDataTypesPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.TA_Pattern;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>TA Pattern</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class TA_PatternImpl extends EObjectImpl implements TA_Pattern {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected TA_PatternImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return RTDataTypesPackage.Literals.TA_PATTERN;
+	}
+
+} //TA_PatternImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/RTDataTypes/util/RTDataTypesAdapterFactory.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/RTDataTypes/util/RTDataTypesAdapterFactory.java
new file mode 100644
index 000000000..3e4e87c41
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/RTDataTypes/util/RTDataTypesAdapterFactory.java
@@ -0,0 +1,198 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+import org.eclipse.emf.ecore.EObject;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.RTDataTypesPackage
+ * @generated
+ */
+public class RTDataTypesAdapterFactory extends AdapterFactoryImpl {
+	/**
+	 * The cached model package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static RTDataTypesPackage modelPackage;
+
+	/**
+	 * Creates an instance of the adapter factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public RTDataTypesAdapterFactory() {
+		if (modelPackage == null) {
+			modelPackage = RTDataTypesPackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Returns whether this factory is applicable for the type of the object.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+	 * <!-- end-user-doc -->
+	 * @return whether this factory is applicable for the type of the object.
+	 * @generated
+	 */
+	@Override
+	public boolean isFactoryForType(Object object) {
+		if (object == modelPackage) {
+			return true;
+		}
+		if (object instanceof EObject) {
+			return ((EObject)object).eClass().getEPackage() == modelPackage;
+		}
+		return false;
+	}
+
+	/**
+	 * The switch that delegates to the <code>createXXX</code> methods.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected RTDataTypesSwitch<Adapter> modelSwitch =
+		new RTDataTypesSwitch<Adapter>() {
+			@Override
+			public Adapter caseCH_SporadicPattern(CH_SporadicPattern object) {
+				return createCH_SporadicPatternAdapter();
+			}
+			@Override
+			public Adapter caseCH_PeriodicPattern(CH_PeriodicPattern object) {
+				return createCH_PeriodicPatternAdapter();
+			}
+			@Override
+			public Adapter caseCH_BurstPattern(CH_BurstPattern object) {
+				return createCH_BurstPatternAdapter();
+			}
+			@Override
+			public Adapter caseTA_Pattern(TA_Pattern object) {
+				return createTA_PatternAdapter();
+			}
+			@Override
+			public Adapter caseTA_ArbitraryPattern(TA_ArbitraryPattern object) {
+				return createTA_ArbitraryPatternAdapter();
+			}
+			@Override
+			public Adapter defaultCase(EObject object) {
+				return createEObjectAdapter();
+			}
+		};
+
+	/**
+	 * Creates an adapter for the <code>target</code>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param target the object to adapt.
+	 * @return the adapter for the <code>target</code>.
+	 * @generated
+	 */
+	@Override
+	public Adapter createAdapter(Notifier target) {
+		return modelSwitch.doSwitch((EObject)target);
+	}
+
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.CH_SporadicPattern <em>CH Sporadic Pattern</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.CH_SporadicPattern
+	 * @generated
+	 */
+	public Adapter createCH_SporadicPatternAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.CH_PeriodicPattern <em>CH Periodic Pattern</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.CH_PeriodicPattern
+	 * @generated
+	 */
+	public Adapter createCH_PeriodicPatternAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.CH_BurstPattern <em>CH Burst Pattern</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.CH_BurstPattern
+	 * @generated
+	 */
+	public Adapter createCH_BurstPatternAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.TA_Pattern <em>TA Pattern</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.TA_Pattern
+	 * @generated
+	 */
+	public Adapter createTA_PatternAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.TA_ArbitraryPattern <em>TA Arbitrary Pattern</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.TA_ArbitraryPattern
+	 * @generated
+	 */
+	public Adapter createTA_ArbitraryPatternAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for the default case.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @generated
+	 */
+	public Adapter createEObjectAdapter() {
+		return null;
+	}
+
+} //RTDataTypesAdapterFactory
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/RTDataTypes/util/RTDataTypesSwitch.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/RTDataTypes/util/RTDataTypesSwitch.java
new file mode 100644
index 000000000..107f148cc
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/RTDataTypes/util/RTDataTypesSwitch.java
@@ -0,0 +1,204 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.util;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.util.Switch;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.RTDataTypesPackage
+ * @generated
+ */
+public class RTDataTypesSwitch<T> extends Switch<T> {
+	/**
+	 * The cached model package
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static RTDataTypesPackage modelPackage;
+
+	/**
+	 * Creates an instance of the switch.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public RTDataTypesSwitch() {
+		if (modelPackage == null) {
+			modelPackage = RTDataTypesPackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Checks whether this is a switch for the given package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @parameter ePackage the package in question.
+	 * @return whether this is a switch for the given package.
+	 * @generated
+	 */
+	@Override
+	protected boolean isSwitchFor(EPackage ePackage) {
+		return ePackage == modelPackage;
+	}
+
+	/**
+	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the first non-null result returned by a <code>caseXXX</code> call.
+	 * @generated
+	 */
+	@Override
+	protected T doSwitch(int classifierID, EObject theEObject) {
+		switch (classifierID) {
+			case RTDataTypesPackage.CH_SPORADIC_PATTERN: {
+				CH_SporadicPattern cH_SporadicPattern = (CH_SporadicPattern)theEObject;
+				T result = caseCH_SporadicPattern(cH_SporadicPattern);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case RTDataTypesPackage.CH_PERIODIC_PATTERN: {
+				CH_PeriodicPattern cH_PeriodicPattern = (CH_PeriodicPattern)theEObject;
+				T result = caseCH_PeriodicPattern(cH_PeriodicPattern);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case RTDataTypesPackage.CH_BURST_PATTERN: {
+				CH_BurstPattern cH_BurstPattern = (CH_BurstPattern)theEObject;
+				T result = caseCH_BurstPattern(cH_BurstPattern);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case RTDataTypesPackage.TA_PATTERN: {
+				TA_Pattern tA_Pattern = (TA_Pattern)theEObject;
+				T result = caseTA_Pattern(tA_Pattern);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case RTDataTypesPackage.TA_ARBITRARY_PATTERN: {
+				TA_ArbitraryPattern tA_ArbitraryPattern = (TA_ArbitraryPattern)theEObject;
+				T result = caseTA_ArbitraryPattern(tA_ArbitraryPattern);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			default: return defaultCase(theEObject);
+		}
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>CH Sporadic Pattern</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>CH Sporadic Pattern</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseCH_SporadicPattern(CH_SporadicPattern object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>CH Periodic Pattern</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>CH Periodic Pattern</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseCH_PeriodicPattern(CH_PeriodicPattern object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>CH Burst Pattern</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>CH Burst Pattern</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseCH_BurstPattern(CH_BurstPattern object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>TA Pattern</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>TA Pattern</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseTA_Pattern(TA_Pattern object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>TA Arbitrary Pattern</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>TA Arbitrary Pattern</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseTA_ArbitraryPattern(TA_ArbitraryPattern object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch, but this is the last case anyway.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+	 * @generated
+	 */
+	@Override
+	public T defaultCase(EObject object) {
+		return null;
+	}
+
+} //RTDataTypesSwitch
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/impl/CHRtPortSlotImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/impl/CHRtPortSlotImpl.java
new file mode 100644
index 000000000..af5f405dc
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/impl/CHRtPortSlotImpl.java
@@ -0,0 +1,203 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.uml2.uml.Slot;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.CHRtPortSlot;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.CHRtSpecification;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTComponentModelPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>CH Rt Port Slot</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.impl.CHRtPortSlotImpl#getBase_Slot <em>Base Slot</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.impl.CHRtPortSlotImpl#getCH_RtSpecification <em>CH Rt Specification</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class CHRtPortSlotImpl extends EObjectImpl implements CHRtPortSlot {
+	/**
+	 * The cached value of the '{@link #getBase_Slot() <em>Base Slot</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBase_Slot()
+	 * @generated
+	 * @ordered
+	 */
+	protected Slot base_Slot;
+
+	/**
+	 * The cached value of the '{@link #getCH_RtSpecification() <em>CH Rt Specification</em>}' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getCH_RtSpecification()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<CHRtSpecification> cH_RtSpecification;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CHRtPortSlotImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return RTComponentModelPackage.Literals.CH_RT_PORT_SLOT;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Slot getBase_Slot() {
+		if (base_Slot != null && base_Slot.eIsProxy()) {
+			InternalEObject oldBase_Slot = (InternalEObject)base_Slot;
+			base_Slot = (Slot)eResolveProxy(oldBase_Slot);
+			if (base_Slot != oldBase_Slot) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, RTComponentModelPackage.CH_RT_PORT_SLOT__BASE_SLOT, oldBase_Slot, base_Slot));
+			}
+		}
+		return base_Slot;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Slot basicGetBase_Slot() {
+		return base_Slot;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setBase_Slot(Slot newBase_Slot) {
+		Slot oldBase_Slot = base_Slot;
+		base_Slot = newBase_Slot;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, RTComponentModelPackage.CH_RT_PORT_SLOT__BASE_SLOT, oldBase_Slot, base_Slot));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<CHRtSpecification> getCH_RtSpecification() {
+		if (cH_RtSpecification == null) {
+			cH_RtSpecification = new EObjectResolvingEList<CHRtSpecification>(CHRtSpecification.class, this, RTComponentModelPackage.CH_RT_PORT_SLOT__CH_RT_SPECIFICATION);
+		}
+		return cH_RtSpecification;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case RTComponentModelPackage.CH_RT_PORT_SLOT__BASE_SLOT:
+				if (resolve) return getBase_Slot();
+				return basicGetBase_Slot();
+			case RTComponentModelPackage.CH_RT_PORT_SLOT__CH_RT_SPECIFICATION:
+				return getCH_RtSpecification();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case RTComponentModelPackage.CH_RT_PORT_SLOT__BASE_SLOT:
+				setBase_Slot((Slot)newValue);
+				return;
+			case RTComponentModelPackage.CH_RT_PORT_SLOT__CH_RT_SPECIFICATION:
+				getCH_RtSpecification().clear();
+				getCH_RtSpecification().addAll((Collection<? extends CHRtSpecification>)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case RTComponentModelPackage.CH_RT_PORT_SLOT__BASE_SLOT:
+				setBase_Slot((Slot)null);
+				return;
+			case RTComponentModelPackage.CH_RT_PORT_SLOT__CH_RT_SPECIFICATION:
+				getCH_RtSpecification().clear();
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case RTComponentModelPackage.CH_RT_PORT_SLOT__BASE_SLOT:
+				return base_Slot != null;
+			case RTComponentModelPackage.CH_RT_PORT_SLOT__CH_RT_SPECIFICATION:
+				return cH_RtSpecification != null && !cH_RtSpecification.isEmpty();
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //CHRtPortSlotImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/impl/CHRtSpecificationImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/impl/CHRtSpecificationImpl.java
new file mode 100644
index 000000000..efb63232f
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/impl/CHRtSpecificationImpl.java
@@ -0,0 +1,978 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.emf.ecore.util.EDataTypeUniqueEList;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HLAM.CallConcurrencyKind;
+import org.eclipse.uml2.uml.BehavioralFeature;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Slot;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.CHRtSpecification;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTComponentModelPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>CH Rt Specification</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.impl.CHRtSpecificationImpl#getPartWithPort <em>Part With Port</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.impl.CHRtSpecificationImpl#getWCET <em>WCET</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.impl.CHRtSpecificationImpl#getLocalWCET <em>Local WCET</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.impl.CHRtSpecificationImpl#getRelativePriority <em>Relative Priority</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.impl.CHRtSpecificationImpl#getCeiling <em>Ceiling</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.impl.CHRtSpecificationImpl#getMemorySizeFootprint <em>Memory Size Footprint</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.impl.CHRtSpecificationImpl#getStackSize <em>Stack Size</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.impl.CHRtSpecificationImpl#getHeapSize <em>Heap Size</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.impl.CHRtSpecificationImpl#getSlot <em>Slot</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.impl.CHRtSpecificationImpl#getBase_Comment <em>Base Comment</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.impl.CHRtSpecificationImpl#getOccKind <em>Occ Kind</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.impl.CHRtSpecificationImpl#getProtection <em>Protection</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.impl.CHRtSpecificationImpl#getRlDl <em>Rl Dl</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.impl.CHRtSpecificationImpl#getContext <em>Context</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.impl.CHRtSpecificationImpl#getRespT <em>Resp T</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.impl.CHRtSpecificationImpl#getBlockT <em>Block T</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class CHRtSpecificationImpl extends EObjectImpl implements CHRtSpecification {
+	/**
+	 * The cached value of the '{@link #getPartWithPort() <em>Part With Port</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getPartWithPort()
+	 * @generated
+	 * @ordered
+	 */
+	protected Property partWithPort;
+
+	/**
+	 * The default value of the '{@link #getWCET() <em>WCET</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getWCET()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String WCET_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getWCET() <em>WCET</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getWCET()
+	 * @generated
+	 * @ordered
+	 */
+	protected String wcet = WCET_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getLocalWCET() <em>Local WCET</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getLocalWCET()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String LOCAL_WCET_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getLocalWCET() <em>Local WCET</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getLocalWCET()
+	 * @generated
+	 * @ordered
+	 */
+	protected String localWCET = LOCAL_WCET_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getRelativePriority() <em>Relative Priority</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getRelativePriority()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String RELATIVE_PRIORITY_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getRelativePriority() <em>Relative Priority</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getRelativePriority()
+	 * @generated
+	 * @ordered
+	 */
+	protected String relativePriority = RELATIVE_PRIORITY_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getCeiling() <em>Ceiling</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getCeiling()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String CEILING_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getCeiling() <em>Ceiling</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getCeiling()
+	 * @generated
+	 * @ordered
+	 */
+	protected String ceiling = CEILING_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getMemorySizeFootprint() <em>Memory Size Footprint</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getMemorySizeFootprint()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String MEMORY_SIZE_FOOTPRINT_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getMemorySizeFootprint() <em>Memory Size Footprint</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getMemorySizeFootprint()
+	 * @generated
+	 * @ordered
+	 */
+	protected String memorySizeFootprint = MEMORY_SIZE_FOOTPRINT_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getStackSize() <em>Stack Size</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getStackSize()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String STACK_SIZE_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getStackSize() <em>Stack Size</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getStackSize()
+	 * @generated
+	 * @ordered
+	 */
+	protected String stackSize = STACK_SIZE_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getHeapSize() <em>Heap Size</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getHeapSize()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String HEAP_SIZE_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getHeapSize() <em>Heap Size</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getHeapSize()
+	 * @generated
+	 * @ordered
+	 */
+	protected String heapSize = HEAP_SIZE_EDEFAULT;
+
+	/**
+	 * The cached value of the '{@link #getSlot() <em>Slot</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getSlot()
+	 * @generated
+	 * @ordered
+	 */
+	protected Slot slot;
+
+	/**
+	 * The cached value of the '{@link #getBase_Comment() <em>Base Comment</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBase_Comment()
+	 * @generated
+	 * @ordered
+	 */
+	protected Comment base_Comment;
+
+	/**
+	 * The default value of the '{@link #getOccKind() <em>Occ Kind</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getOccKind()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String OCC_KIND_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getOccKind() <em>Occ Kind</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getOccKind()
+	 * @generated
+	 * @ordered
+	 */
+	protected String occKind = OCC_KIND_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getProtection() <em>Protection</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getProtection()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final CallConcurrencyKind PROTECTION_EDEFAULT = CallConcurrencyKind.SEQUENTIAL;
+
+	/**
+	 * The cached value of the '{@link #getProtection() <em>Protection</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getProtection()
+	 * @generated
+	 * @ordered
+	 */
+	protected CallConcurrencyKind protection = PROTECTION_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getRlDl() <em>Rl Dl</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getRlDl()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String RL_DL_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getRlDl() <em>Rl Dl</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getRlDl()
+	 * @generated
+	 * @ordered
+	 */
+	protected String rlDl = RL_DL_EDEFAULT;
+
+	/**
+	 * The cached value of the '{@link #getContext() <em>Context</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getContext()
+	 * @generated
+	 * @ordered
+	 */
+	protected BehavioralFeature context;
+
+	/**
+	 * The cached value of the '{@link #getRespT() <em>Resp T</em>}' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getRespT()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<String> respT;
+
+	/**
+	 * The cached value of the '{@link #getBlockT() <em>Block T</em>}' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBlockT()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<String> blockT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CHRtSpecificationImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return RTComponentModelPackage.Literals.CH_RT_SPECIFICATION;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Property getPartWithPort() {
+		if (partWithPort != null && partWithPort.eIsProxy()) {
+			InternalEObject oldPartWithPort = (InternalEObject)partWithPort;
+			partWithPort = (Property)eResolveProxy(oldPartWithPort);
+			if (partWithPort != oldPartWithPort) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, RTComponentModelPackage.CH_RT_SPECIFICATION__PART_WITH_PORT, oldPartWithPort, partWithPort));
+			}
+		}
+		return partWithPort;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Property basicGetPartWithPort() {
+		return partWithPort;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setPartWithPort(Property newPartWithPort) {
+		Property oldPartWithPort = partWithPort;
+		partWithPort = newPartWithPort;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, RTComponentModelPackage.CH_RT_SPECIFICATION__PART_WITH_PORT, oldPartWithPort, partWithPort));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getWCET() {
+		return wcet;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setWCET(String newWCET) {
+		String oldWCET = wcet;
+		wcet = newWCET;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, RTComponentModelPackage.CH_RT_SPECIFICATION__WCET, oldWCET, wcet));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getLocalWCET() {
+		return localWCET;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setLocalWCET(String newLocalWCET) {
+		String oldLocalWCET = localWCET;
+		localWCET = newLocalWCET;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, RTComponentModelPackage.CH_RT_SPECIFICATION__LOCAL_WCET, oldLocalWCET, localWCET));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getRelativePriority() {
+		return relativePriority;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setRelativePriority(String newRelativePriority) {
+		String oldRelativePriority = relativePriority;
+		relativePriority = newRelativePriority;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, RTComponentModelPackage.CH_RT_SPECIFICATION__RELATIVE_PRIORITY, oldRelativePriority, relativePriority));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getCeiling() {
+		return ceiling;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setCeiling(String newCeiling) {
+		String oldCeiling = ceiling;
+		ceiling = newCeiling;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, RTComponentModelPackage.CH_RT_SPECIFICATION__CEILING, oldCeiling, ceiling));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getMemorySizeFootprint() {
+		return memorySizeFootprint;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setMemorySizeFootprint(String newMemorySizeFootprint) {
+		String oldMemorySizeFootprint = memorySizeFootprint;
+		memorySizeFootprint = newMemorySizeFootprint;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, RTComponentModelPackage.CH_RT_SPECIFICATION__MEMORY_SIZE_FOOTPRINT, oldMemorySizeFootprint, memorySizeFootprint));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getStackSize() {
+		return stackSize;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setStackSize(String newStackSize) {
+		String oldStackSize = stackSize;
+		stackSize = newStackSize;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, RTComponentModelPackage.CH_RT_SPECIFICATION__STACK_SIZE, oldStackSize, stackSize));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getHeapSize() {
+		return heapSize;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setHeapSize(String newHeapSize) {
+		String oldHeapSize = heapSize;
+		heapSize = newHeapSize;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, RTComponentModelPackage.CH_RT_SPECIFICATION__HEAP_SIZE, oldHeapSize, heapSize));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Slot getSlot() {
+		if (slot != null && slot.eIsProxy()) {
+			InternalEObject oldSlot = (InternalEObject)slot;
+			slot = (Slot)eResolveProxy(oldSlot);
+			if (slot != oldSlot) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, RTComponentModelPackage.CH_RT_SPECIFICATION__SLOT, oldSlot, slot));
+			}
+		}
+		return slot;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Slot basicGetSlot() {
+		return slot;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setSlot(Slot newSlot) {
+		Slot oldSlot = slot;
+		slot = newSlot;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, RTComponentModelPackage.CH_RT_SPECIFICATION__SLOT, oldSlot, slot));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Comment getBase_Comment() {
+		if (base_Comment != null && base_Comment.eIsProxy()) {
+			InternalEObject oldBase_Comment = (InternalEObject)base_Comment;
+			base_Comment = (Comment)eResolveProxy(oldBase_Comment);
+			if (base_Comment != oldBase_Comment) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, RTComponentModelPackage.CH_RT_SPECIFICATION__BASE_COMMENT, oldBase_Comment, base_Comment));
+			}
+		}
+		return base_Comment;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Comment basicGetBase_Comment() {
+		return base_Comment;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setBase_Comment(Comment newBase_Comment) {
+		Comment oldBase_Comment = base_Comment;
+		base_Comment = newBase_Comment;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, RTComponentModelPackage.CH_RT_SPECIFICATION__BASE_COMMENT, oldBase_Comment, base_Comment));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getOccKind() {
+		return occKind;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setOccKind(String newOccKind) {
+		String oldOccKind = occKind;
+		occKind = newOccKind;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, RTComponentModelPackage.CH_RT_SPECIFICATION__OCC_KIND, oldOccKind, occKind));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CallConcurrencyKind getProtection() {
+		return protection;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setProtection(CallConcurrencyKind newProtection) {
+		CallConcurrencyKind oldProtection = protection;
+		protection = newProtection == null ? PROTECTION_EDEFAULT : newProtection;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, RTComponentModelPackage.CH_RT_SPECIFICATION__PROTECTION, oldProtection, protection));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getRlDl() {
+		return rlDl;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setRlDl(String newRlDl) {
+		String oldRlDl = rlDl;
+		rlDl = newRlDl;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, RTComponentModelPackage.CH_RT_SPECIFICATION__RL_DL, oldRlDl, rlDl));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public BehavioralFeature getContext() {
+		if (context != null && context.eIsProxy()) {
+			InternalEObject oldContext = (InternalEObject)context;
+			context = (BehavioralFeature)eResolveProxy(oldContext);
+			if (context != oldContext) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, RTComponentModelPackage.CH_RT_SPECIFICATION__CONTEXT, oldContext, context));
+			}
+		}
+		return context;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public BehavioralFeature basicGetContext() {
+		return context;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setContext(BehavioralFeature newContext) {
+		BehavioralFeature oldContext = context;
+		context = newContext;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, RTComponentModelPackage.CH_RT_SPECIFICATION__CONTEXT, oldContext, context));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<String> getRespT() {
+		if (respT == null) {
+			respT = new EDataTypeUniqueEList<String>(String.class, this, RTComponentModelPackage.CH_RT_SPECIFICATION__RESP_T);
+		}
+		return respT;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<String> getBlockT() {
+		if (blockT == null) {
+			blockT = new EDataTypeUniqueEList<String>(String.class, this, RTComponentModelPackage.CH_RT_SPECIFICATION__BLOCK_T);
+		}
+		return blockT;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case RTComponentModelPackage.CH_RT_SPECIFICATION__PART_WITH_PORT:
+				if (resolve) return getPartWithPort();
+				return basicGetPartWithPort();
+			case RTComponentModelPackage.CH_RT_SPECIFICATION__WCET:
+				return getWCET();
+			case RTComponentModelPackage.CH_RT_SPECIFICATION__LOCAL_WCET:
+				return getLocalWCET();
+			case RTComponentModelPackage.CH_RT_SPECIFICATION__RELATIVE_PRIORITY:
+				return getRelativePriority();
+			case RTComponentModelPackage.CH_RT_SPECIFICATION__CEILING:
+				return getCeiling();
+			case RTComponentModelPackage.CH_RT_SPECIFICATION__MEMORY_SIZE_FOOTPRINT:
+				return getMemorySizeFootprint();
+			case RTComponentModelPackage.CH_RT_SPECIFICATION__STACK_SIZE:
+				return getStackSize();
+			case RTComponentModelPackage.CH_RT_SPECIFICATION__HEAP_SIZE:
+				return getHeapSize();
+			case RTComponentModelPackage.CH_RT_SPECIFICATION__SLOT:
+				if (resolve) return getSlot();
+				return basicGetSlot();
+			case RTComponentModelPackage.CH_RT_SPECIFICATION__BASE_COMMENT:
+				if (resolve) return getBase_Comment();
+				return basicGetBase_Comment();
+			case RTComponentModelPackage.CH_RT_SPECIFICATION__OCC_KIND:
+				return getOccKind();
+			case RTComponentModelPackage.CH_RT_SPECIFICATION__PROTECTION:
+				return getProtection();
+			case RTComponentModelPackage.CH_RT_SPECIFICATION__RL_DL:
+				return getRlDl();
+			case RTComponentModelPackage.CH_RT_SPECIFICATION__CONTEXT:
+				if (resolve) return getContext();
+				return basicGetContext();
+			case RTComponentModelPackage.CH_RT_SPECIFICATION__RESP_T:
+				return getRespT();
+			case RTComponentModelPackage.CH_RT_SPECIFICATION__BLOCK_T:
+				return getBlockT();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case RTComponentModelPackage.CH_RT_SPECIFICATION__PART_WITH_PORT:
+				setPartWithPort((Property)newValue);
+				return;
+			case RTComponentModelPackage.CH_RT_SPECIFICATION__WCET:
+				setWCET((String)newValue);
+				return;
+			case RTComponentModelPackage.CH_RT_SPECIFICATION__LOCAL_WCET:
+				setLocalWCET((String)newValue);
+				return;
+			case RTComponentModelPackage.CH_RT_SPECIFICATION__RELATIVE_PRIORITY:
+				setRelativePriority((String)newValue);
+				return;
+			case RTComponentModelPackage.CH_RT_SPECIFICATION__CEILING:
+				setCeiling((String)newValue);
+				return;
+			case RTComponentModelPackage.CH_RT_SPECIFICATION__MEMORY_SIZE_FOOTPRINT:
+				setMemorySizeFootprint((String)newValue);
+				return;
+			case RTComponentModelPackage.CH_RT_SPECIFICATION__STACK_SIZE:
+				setStackSize((String)newValue);
+				return;
+			case RTComponentModelPackage.CH_RT_SPECIFICATION__HEAP_SIZE:
+				setHeapSize((String)newValue);
+				return;
+			case RTComponentModelPackage.CH_RT_SPECIFICATION__SLOT:
+				setSlot((Slot)newValue);
+				return;
+			case RTComponentModelPackage.CH_RT_SPECIFICATION__BASE_COMMENT:
+				setBase_Comment((Comment)newValue);
+				return;
+			case RTComponentModelPackage.CH_RT_SPECIFICATION__OCC_KIND:
+				setOccKind((String)newValue);
+				return;
+			case RTComponentModelPackage.CH_RT_SPECIFICATION__PROTECTION:
+				setProtection((CallConcurrencyKind)newValue);
+				return;
+			case RTComponentModelPackage.CH_RT_SPECIFICATION__RL_DL:
+				setRlDl((String)newValue);
+				return;
+			case RTComponentModelPackage.CH_RT_SPECIFICATION__CONTEXT:
+				setContext((BehavioralFeature)newValue);
+				return;
+			case RTComponentModelPackage.CH_RT_SPECIFICATION__RESP_T:
+				getRespT().clear();
+				getRespT().addAll((Collection<? extends String>)newValue);
+				return;
+			case RTComponentModelPackage.CH_RT_SPECIFICATION__BLOCK_T:
+				getBlockT().clear();
+				getBlockT().addAll((Collection<? extends String>)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case RTComponentModelPackage.CH_RT_SPECIFICATION__PART_WITH_PORT:
+				setPartWithPort((Property)null);
+				return;
+			case RTComponentModelPackage.CH_RT_SPECIFICATION__WCET:
+				setWCET(WCET_EDEFAULT);
+				return;
+			case RTComponentModelPackage.CH_RT_SPECIFICATION__LOCAL_WCET:
+				setLocalWCET(LOCAL_WCET_EDEFAULT);
+				return;
+			case RTComponentModelPackage.CH_RT_SPECIFICATION__RELATIVE_PRIORITY:
+				setRelativePriority(RELATIVE_PRIORITY_EDEFAULT);
+				return;
+			case RTComponentModelPackage.CH_RT_SPECIFICATION__CEILING:
+				setCeiling(CEILING_EDEFAULT);
+				return;
+			case RTComponentModelPackage.CH_RT_SPECIFICATION__MEMORY_SIZE_FOOTPRINT:
+				setMemorySizeFootprint(MEMORY_SIZE_FOOTPRINT_EDEFAULT);
+				return;
+			case RTComponentModelPackage.CH_RT_SPECIFICATION__STACK_SIZE:
+				setStackSize(STACK_SIZE_EDEFAULT);
+				return;
+			case RTComponentModelPackage.CH_RT_SPECIFICATION__HEAP_SIZE:
+				setHeapSize(HEAP_SIZE_EDEFAULT);
+				return;
+			case RTComponentModelPackage.CH_RT_SPECIFICATION__SLOT:
+				setSlot((Slot)null);
+				return;
+			case RTComponentModelPackage.CH_RT_SPECIFICATION__BASE_COMMENT:
+				setBase_Comment((Comment)null);
+				return;
+			case RTComponentModelPackage.CH_RT_SPECIFICATION__OCC_KIND:
+				setOccKind(OCC_KIND_EDEFAULT);
+				return;
+			case RTComponentModelPackage.CH_RT_SPECIFICATION__PROTECTION:
+				setProtection(PROTECTION_EDEFAULT);
+				return;
+			case RTComponentModelPackage.CH_RT_SPECIFICATION__RL_DL:
+				setRlDl(RL_DL_EDEFAULT);
+				return;
+			case RTComponentModelPackage.CH_RT_SPECIFICATION__CONTEXT:
+				setContext((BehavioralFeature)null);
+				return;
+			case RTComponentModelPackage.CH_RT_SPECIFICATION__RESP_T:
+				getRespT().clear();
+				return;
+			case RTComponentModelPackage.CH_RT_SPECIFICATION__BLOCK_T:
+				getBlockT().clear();
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case RTComponentModelPackage.CH_RT_SPECIFICATION__PART_WITH_PORT:
+				return partWithPort != null;
+			case RTComponentModelPackage.CH_RT_SPECIFICATION__WCET:
+				return WCET_EDEFAULT == null ? wcet != null : !WCET_EDEFAULT.equals(wcet);
+			case RTComponentModelPackage.CH_RT_SPECIFICATION__LOCAL_WCET:
+				return LOCAL_WCET_EDEFAULT == null ? localWCET != null : !LOCAL_WCET_EDEFAULT.equals(localWCET);
+			case RTComponentModelPackage.CH_RT_SPECIFICATION__RELATIVE_PRIORITY:
+				return RELATIVE_PRIORITY_EDEFAULT == null ? relativePriority != null : !RELATIVE_PRIORITY_EDEFAULT.equals(relativePriority);
+			case RTComponentModelPackage.CH_RT_SPECIFICATION__CEILING:
+				return CEILING_EDEFAULT == null ? ceiling != null : !CEILING_EDEFAULT.equals(ceiling);
+			case RTComponentModelPackage.CH_RT_SPECIFICATION__MEMORY_SIZE_FOOTPRINT:
+				return MEMORY_SIZE_FOOTPRINT_EDEFAULT == null ? memorySizeFootprint != null : !MEMORY_SIZE_FOOTPRINT_EDEFAULT.equals(memorySizeFootprint);
+			case RTComponentModelPackage.CH_RT_SPECIFICATION__STACK_SIZE:
+				return STACK_SIZE_EDEFAULT == null ? stackSize != null : !STACK_SIZE_EDEFAULT.equals(stackSize);
+			case RTComponentModelPackage.CH_RT_SPECIFICATION__HEAP_SIZE:
+				return HEAP_SIZE_EDEFAULT == null ? heapSize != null : !HEAP_SIZE_EDEFAULT.equals(heapSize);
+			case RTComponentModelPackage.CH_RT_SPECIFICATION__SLOT:
+				return slot != null;
+			case RTComponentModelPackage.CH_RT_SPECIFICATION__BASE_COMMENT:
+				return base_Comment != null;
+			case RTComponentModelPackage.CH_RT_SPECIFICATION__OCC_KIND:
+				return OCC_KIND_EDEFAULT == null ? occKind != null : !OCC_KIND_EDEFAULT.equals(occKind);
+			case RTComponentModelPackage.CH_RT_SPECIFICATION__PROTECTION:
+				return protection != PROTECTION_EDEFAULT;
+			case RTComponentModelPackage.CH_RT_SPECIFICATION__RL_DL:
+				return RL_DL_EDEFAULT == null ? rlDl != null : !RL_DL_EDEFAULT.equals(rlDl);
+			case RTComponentModelPackage.CH_RT_SPECIFICATION__CONTEXT:
+				return context != null;
+			case RTComponentModelPackage.CH_RT_SPECIFICATION__RESP_T:
+				return respT != null && !respT.isEmpty();
+			case RTComponentModelPackage.CH_RT_SPECIFICATION__BLOCK_T:
+				return blockT != null && !blockT.isEmpty();
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (WCET: ");
+		result.append(wcet);
+		result.append(", localWCET: ");
+		result.append(localWCET);
+		result.append(", relativePriority: ");
+		result.append(relativePriority);
+		result.append(", ceiling: ");
+		result.append(ceiling);
+		result.append(", memorySizeFootprint: ");
+		result.append(memorySizeFootprint);
+		result.append(", stackSize: ");
+		result.append(stackSize);
+		result.append(", heapSize: ");
+		result.append(heapSize);
+		result.append(", occKind: ");
+		result.append(occKind);
+		result.append(", protection: ");
+		result.append(protection);
+		result.append(", rlDl: ");
+		result.append(rlDl);
+		result.append(", respT: ");
+		result.append(respT);
+		result.append(", blockT: ");
+		result.append(blockT);
+		result.append(')');
+		return result.toString();
+	}
+
+} //CHRtSpecificationImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/impl/RTComponentModelFactoryImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/impl/RTComponentModelFactoryImpl.java
new file mode 100644
index 000000000..31769a0d7
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/impl/RTComponentModelFactoryImpl.java
@@ -0,0 +1,112 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class RTComponentModelFactoryImpl extends EFactoryImpl implements RTComponentModelFactory {
+	/**
+	 * Creates the default factory implementation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static RTComponentModelFactory init() {
+		try {
+			RTComponentModelFactory theRTComponentModelFactory = (RTComponentModelFactory)EPackage.Registry.INSTANCE.getEFactory(RTComponentModelPackage.eNS_URI);
+			if (theRTComponentModelFactory != null) {
+				return theRTComponentModelFactory;
+			}
+		}
+		catch (Exception exception) {
+			EcorePlugin.INSTANCE.log(exception);
+		}
+		return new RTComponentModelFactoryImpl();
+	}
+
+	/**
+	 * Creates an instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public RTComponentModelFactoryImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EObject create(EClass eClass) {
+		switch (eClass.getClassifierID()) {
+			case RTComponentModelPackage.CH_RT_PORT_SLOT: return createCHRtPortSlot();
+			case RTComponentModelPackage.CH_RT_SPECIFICATION: return createCHRtSpecification();
+			default:
+				throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CHRtPortSlot createCHRtPortSlot() {
+		CHRtPortSlotImpl chRtPortSlot = new CHRtPortSlotImpl();
+		return chRtPortSlot;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CHRtSpecification createCHRtSpecification() {
+		CHRtSpecificationImpl chRtSpecification = new CHRtSpecificationImpl();
+		return chRtSpecification;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public RTComponentModelPackage getRTComponentModelPackage() {
+		return (RTComponentModelPackage)getEPackage();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @deprecated
+	 * @generated
+	 */
+	@Deprecated
+	public static RTComponentModelPackage getPackage() {
+		return RTComponentModelPackage.eINSTANCE;
+	}
+
+} //RTComponentModelFactoryImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/impl/RTComponentModelPackageImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/impl/RTComponentModelPackageImpl.java
new file mode 100644
index 000000000..42d602946
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/impl/RTComponentModelPackageImpl.java
@@ -0,0 +1,534 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+import org.eclipse.papyrus.MARTE.MARTEPackage;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HLAM.HLAMPackage;
+import org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.BasicNFP_TypesPackage;
+import org.eclipse.papyrus.MARTE_Library.GRM_BasicTypes.GRM_BasicTypesPackage;
+import org.eclipse.papyrus.MARTE_Library.MARTE_DataTypes.MARTE_DataTypesPackage;
+import org.eclipse.papyrus.MARTE_Library.MARTE_PrimitivesTypes.MARTE_PrimitivesTypesPackage;
+import org.eclipse.papyrus.MARTE_Library.MeasurementUnits.MeasurementUnitsPackage;
+import org.eclipse.papyrus.MARTE_Library.RS_Library.RS_LibraryPackage;
+import org.eclipse.papyrus.MARTE_Library.TimeLibrary.TimeLibraryPackage;
+import org.eclipse.papyrus.MARTE_Library.TimeTypesLibrary.TimeTypesLibraryPackage;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.polarsys.chess.chessmlprofile.chessmlprofilePackage;
+import org.polarsys.chess.chessmlprofile.ComponentModel.ComponentModelPackage;
+import org.polarsys.chess.chessmlprofile.ComponentModel.impl.ComponentModelPackageImpl;
+import org.polarsys.chess.chessmlprofile.Core.CorePackage;
+import org.polarsys.chess.chessmlprofile.Core.CHESSViews.CHESSViewsPackage;
+import org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl.CHESSViewsPackageImpl;
+import org.polarsys.chess.chessmlprofile.Core.impl.CorePackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.DataFlowCallGraph.DataFlowCallGraphPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.DataFlowCallGraph.impl.DataFlowCallGraphPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.DependableComponentPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.impl.DependableComponentPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEAPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEADataTypes.FMEADataTypesPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEADataTypes.impl.FMEADataTypesPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.impl.FMEAPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.FailurePropagationDataTypesPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.impl.FailurePropagationDataTypesPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl.FailurePropagationPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans.MitigationMeansPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans.impl.MitigationMeansPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.FaultTolerancePackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.impl.FaultTolerancePackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.MaintenanceMonitoringPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.impl.MaintenanceMonitoringPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.StateBasedAnalysisPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.impl.StateBasedAnalysisPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StateBasedComponentsPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.impl.StateBasedComponentsPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.StateBasedDataTypesPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.impl.StateBasedDataTypesPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatsPropagationPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.ThreatsPropagationPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.DeploymentConfAnalysisPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.impl.DeploymentConfAnalysisPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HardwareBaselinePackage;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.HardwareBaselinePackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.CHRtPortSlot;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.CHRtSpecification;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTComponentModelFactory;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTComponentModelPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.RTDataTypesPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.impl.RTDataTypesPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingAnalysisPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.TimingConstraintsPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.impl.TimingConstraintsPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.impl.TimingAnalysisPackageImpl;
+import org.polarsys.chess.chessmlprofile.impl.chessmlprofilePackageImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class RTComponentModelPackageImpl extends EPackageImpl implements RTComponentModelPackage {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass chRtPortSlotEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass chRtSpecificationEClass = null;
+
+	/**
+	 * Creates an instance of the model <b>Package</b>, registered with
+	 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+	 * package URI value.
+	 * <p>Note: the correct way to create the package is via the static
+	 * factory method {@link #init init()}, which also performs
+	 * initialization of the package, or returns the registered package,
+	 * if one already exists.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.emf.ecore.EPackage.Registry
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTComponentModelPackage#eNS_URI
+	 * @see #init()
+	 * @generated
+	 */
+	private RTComponentModelPackageImpl() {
+		super(eNS_URI, RTComponentModelFactory.eINSTANCE);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static boolean isInited = false;
+
+	/**
+	 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+	 * 
+	 * <p>This method is used to initialize {@link RTComponentModelPackage#eINSTANCE} when that field is accessed.
+	 * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #eNS_URI
+	 * @see #createPackageContents()
+	 * @see #initializePackageContents()
+	 * @generated
+	 */
+	public static RTComponentModelPackage init() {
+		if (isInited) return (RTComponentModelPackage)EPackage.Registry.INSTANCE.getEPackage(RTComponentModelPackage.eNS_URI);
+
+		// Obtain or create and register package
+		RTComponentModelPackageImpl theRTComponentModelPackage = (RTComponentModelPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof RTComponentModelPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new RTComponentModelPackageImpl());
+
+		isInited = true;
+
+		// Initialize simple dependencies
+		MARTEPackage.eINSTANCE.eClass();
+		MeasurementUnitsPackage.eINSTANCE.eClass();
+		GRM_BasicTypesPackage.eINSTANCE.eClass();
+		MARTE_DataTypesPackage.eINSTANCE.eClass();
+		BasicNFP_TypesPackage.eINSTANCE.eClass();
+		TimeTypesLibraryPackage.eINSTANCE.eClass();
+		TimeLibraryPackage.eINSTANCE.eClass();
+		RS_LibraryPackage.eINSTANCE.eClass();
+		MARTE_PrimitivesTypesPackage.eINSTANCE.eClass();
+		BasicNFP_TypesPackage.eINSTANCE.eClass();
+
+		// Obtain or create and register interdependencies
+		chessmlprofilePackageImpl thechessmlprofilePackage = (chessmlprofilePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(chessmlprofilePackage.eNS_URI) instanceof chessmlprofilePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(chessmlprofilePackage.eNS_URI) : chessmlprofilePackage.eINSTANCE);
+		CorePackageImpl theCorePackage = (CorePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(CorePackage.eNS_URI) instanceof CorePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(CorePackage.eNS_URI) : CorePackage.eINSTANCE);
+		CHESSViewsPackageImpl theCHESSViewsPackage = (CHESSViewsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(CHESSViewsPackage.eNS_URI) instanceof CHESSViewsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(CHESSViewsPackage.eNS_URI) : CHESSViewsPackage.eINSTANCE);
+		FailurePropagationPackageImpl theFailurePropagationPackage = (FailurePropagationPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FailurePropagationPackage.eNS_URI) instanceof FailurePropagationPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FailurePropagationPackage.eNS_URI) : FailurePropagationPackage.eINSTANCE);
+		FailurePropagationDataTypesPackageImpl theFailurePropagationDataTypesPackage = (FailurePropagationDataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FailurePropagationDataTypesPackage.eNS_URI) instanceof FailurePropagationDataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FailurePropagationDataTypesPackage.eNS_URI) : FailurePropagationDataTypesPackage.eINSTANCE);
+		DependableComponentPackageImpl theDependableComponentPackage = (DependableComponentPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DependableComponentPackage.eNS_URI) instanceof DependableComponentPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DependableComponentPackage.eNS_URI) : DependableComponentPackage.eINSTANCE);
+		ThreatsPropagationPackageImpl theThreatsPropagationPackage = (ThreatsPropagationPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ThreatsPropagationPackage.eNS_URI) instanceof ThreatsPropagationPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ThreatsPropagationPackage.eNS_URI) : ThreatsPropagationPackage.eINSTANCE);
+		DataFlowCallGraphPackageImpl theDataFlowCallGraphPackage = (DataFlowCallGraphPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DataFlowCallGraphPackage.eNS_URI) instanceof DataFlowCallGraphPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DataFlowCallGraphPackage.eNS_URI) : DataFlowCallGraphPackage.eINSTANCE);
+		StateBasedDataTypesPackageImpl theStateBasedDataTypesPackage = (StateBasedDataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(StateBasedDataTypesPackage.eNS_URI) instanceof StateBasedDataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(StateBasedDataTypesPackage.eNS_URI) : StateBasedDataTypesPackage.eINSTANCE);
+		StateBasedComponentsPackageImpl theStateBasedComponentsPackage = (StateBasedComponentsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(StateBasedComponentsPackage.eNS_URI) instanceof StateBasedComponentsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(StateBasedComponentsPackage.eNS_URI) : StateBasedComponentsPackage.eINSTANCE);
+		FaultTolerancePackageImpl theFaultTolerancePackage = (FaultTolerancePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FaultTolerancePackage.eNS_URI) instanceof FaultTolerancePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FaultTolerancePackage.eNS_URI) : FaultTolerancePackage.eINSTANCE);
+		MaintenanceMonitoringPackageImpl theMaintenanceMonitoringPackage = (MaintenanceMonitoringPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(MaintenanceMonitoringPackage.eNS_URI) instanceof MaintenanceMonitoringPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(MaintenanceMonitoringPackage.eNS_URI) : MaintenanceMonitoringPackage.eINSTANCE);
+		StateBasedAnalysisPackageImpl theStateBasedAnalysisPackage = (StateBasedAnalysisPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(StateBasedAnalysisPackage.eNS_URI) instanceof StateBasedAnalysisPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(StateBasedAnalysisPackage.eNS_URI) : StateBasedAnalysisPackage.eINSTANCE);
+		FMEAPackageImpl theFMEAPackage = (FMEAPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FMEAPackage.eNS_URI) instanceof FMEAPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FMEAPackage.eNS_URI) : FMEAPackage.eINSTANCE);
+		FMEADataTypesPackageImpl theFMEADataTypesPackage = (FMEADataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FMEADataTypesPackage.eNS_URI) instanceof FMEADataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FMEADataTypesPackage.eNS_URI) : FMEADataTypesPackage.eINSTANCE);
+		MitigationMeansPackageImpl theMitigationMeansPackage = (MitigationMeansPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(MitigationMeansPackage.eNS_URI) instanceof MitigationMeansPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(MitigationMeansPackage.eNS_URI) : MitigationMeansPackage.eINSTANCE);
+		TimingAnalysisPackageImpl theTimingAnalysisPackage = (TimingAnalysisPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimingAnalysisPackage.eNS_URI) instanceof TimingAnalysisPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimingAnalysisPackage.eNS_URI) : TimingAnalysisPackage.eINSTANCE);
+		TimingConstraintsPackageImpl theTimingConstraintsPackage = (TimingConstraintsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimingConstraintsPackage.eNS_URI) instanceof TimingConstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimingConstraintsPackage.eNS_URI) : TimingConstraintsPackage.eINSTANCE);
+		HardwareBaselinePackageImpl theHardwareBaselinePackage = (HardwareBaselinePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HardwareBaselinePackage.eNS_URI) instanceof HardwareBaselinePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HardwareBaselinePackage.eNS_URI) : HardwareBaselinePackage.eINSTANCE);
+		DeploymentConfAnalysisPackageImpl theDeploymentConfAnalysisPackage = (DeploymentConfAnalysisPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DeploymentConfAnalysisPackage.eNS_URI) instanceof DeploymentConfAnalysisPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DeploymentConfAnalysisPackage.eNS_URI) : DeploymentConfAnalysisPackage.eINSTANCE);
+		RTDataTypesPackageImpl theRTDataTypesPackage = (RTDataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RTDataTypesPackage.eNS_URI) instanceof RTDataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RTDataTypesPackage.eNS_URI) : RTDataTypesPackage.eINSTANCE);
+		ComponentModelPackageImpl theComponentModelPackage = (ComponentModelPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ComponentModelPackage.eNS_URI) instanceof ComponentModelPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ComponentModelPackage.eNS_URI) : ComponentModelPackage.eINSTANCE);
+
+		// Create package meta-data objects
+		theRTComponentModelPackage.createPackageContents();
+		thechessmlprofilePackage.createPackageContents();
+		theCorePackage.createPackageContents();
+		theCHESSViewsPackage.createPackageContents();
+		theFailurePropagationPackage.createPackageContents();
+		theFailurePropagationDataTypesPackage.createPackageContents();
+		theDependableComponentPackage.createPackageContents();
+		theThreatsPropagationPackage.createPackageContents();
+		theDataFlowCallGraphPackage.createPackageContents();
+		theStateBasedDataTypesPackage.createPackageContents();
+		theStateBasedComponentsPackage.createPackageContents();
+		theFaultTolerancePackage.createPackageContents();
+		theMaintenanceMonitoringPackage.createPackageContents();
+		theStateBasedAnalysisPackage.createPackageContents();
+		theFMEAPackage.createPackageContents();
+		theFMEADataTypesPackage.createPackageContents();
+		theMitigationMeansPackage.createPackageContents();
+		theTimingAnalysisPackage.createPackageContents();
+		theTimingConstraintsPackage.createPackageContents();
+		theHardwareBaselinePackage.createPackageContents();
+		theDeploymentConfAnalysisPackage.createPackageContents();
+		theRTDataTypesPackage.createPackageContents();
+		theComponentModelPackage.createPackageContents();
+
+		// Initialize created meta-data
+		theRTComponentModelPackage.initializePackageContents();
+		thechessmlprofilePackage.initializePackageContents();
+		theCorePackage.initializePackageContents();
+		theCHESSViewsPackage.initializePackageContents();
+		theFailurePropagationPackage.initializePackageContents();
+		theFailurePropagationDataTypesPackage.initializePackageContents();
+		theDependableComponentPackage.initializePackageContents();
+		theThreatsPropagationPackage.initializePackageContents();
+		theDataFlowCallGraphPackage.initializePackageContents();
+		theStateBasedDataTypesPackage.initializePackageContents();
+		theStateBasedComponentsPackage.initializePackageContents();
+		theFaultTolerancePackage.initializePackageContents();
+		theMaintenanceMonitoringPackage.initializePackageContents();
+		theStateBasedAnalysisPackage.initializePackageContents();
+		theFMEAPackage.initializePackageContents();
+		theFMEADataTypesPackage.initializePackageContents();
+		theMitigationMeansPackage.initializePackageContents();
+		theTimingAnalysisPackage.initializePackageContents();
+		theTimingConstraintsPackage.initializePackageContents();
+		theHardwareBaselinePackage.initializePackageContents();
+		theDeploymentConfAnalysisPackage.initializePackageContents();
+		theRTDataTypesPackage.initializePackageContents();
+		theComponentModelPackage.initializePackageContents();
+
+		// Mark meta-data to indicate it can't be changed
+		theRTComponentModelPackage.freeze();
+
+  
+		// Update the registry and return the package
+		EPackage.Registry.INSTANCE.put(RTComponentModelPackage.eNS_URI, theRTComponentModelPackage);
+		return theRTComponentModelPackage;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getCHRtPortSlot() {
+		return chRtPortSlotEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getCHRtPortSlot_Base_Slot() {
+		return (EReference)chRtPortSlotEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getCHRtPortSlot_CH_RtSpecification() {
+		return (EReference)chRtPortSlotEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getCHRtSpecification() {
+		return chRtSpecificationEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getCHRtSpecification_PartWithPort() {
+		return (EReference)chRtSpecificationEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getCHRtSpecification_WCET() {
+		return (EAttribute)chRtSpecificationEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getCHRtSpecification_LocalWCET() {
+		return (EAttribute)chRtSpecificationEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getCHRtSpecification_RelativePriority() {
+		return (EAttribute)chRtSpecificationEClass.getEStructuralFeatures().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getCHRtSpecification_Ceiling() {
+		return (EAttribute)chRtSpecificationEClass.getEStructuralFeatures().get(4);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getCHRtSpecification_MemorySizeFootprint() {
+		return (EAttribute)chRtSpecificationEClass.getEStructuralFeatures().get(5);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getCHRtSpecification_StackSize() {
+		return (EAttribute)chRtSpecificationEClass.getEStructuralFeatures().get(6);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getCHRtSpecification_HeapSize() {
+		return (EAttribute)chRtSpecificationEClass.getEStructuralFeatures().get(7);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getCHRtSpecification_Slot() {
+		return (EReference)chRtSpecificationEClass.getEStructuralFeatures().get(8);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getCHRtSpecification_Base_Comment() {
+		return (EReference)chRtSpecificationEClass.getEStructuralFeatures().get(9);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getCHRtSpecification_OccKind() {
+		return (EAttribute)chRtSpecificationEClass.getEStructuralFeatures().get(10);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getCHRtSpecification_Protection() {
+		return (EAttribute)chRtSpecificationEClass.getEStructuralFeatures().get(11);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getCHRtSpecification_RlDl() {
+		return (EAttribute)chRtSpecificationEClass.getEStructuralFeatures().get(12);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getCHRtSpecification_Context() {
+		return (EReference)chRtSpecificationEClass.getEStructuralFeatures().get(13);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getCHRtSpecification_RespT() {
+		return (EAttribute)chRtSpecificationEClass.getEStructuralFeatures().get(14);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getCHRtSpecification_BlockT() {
+		return (EAttribute)chRtSpecificationEClass.getEStructuralFeatures().get(15);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public RTComponentModelFactory getRTComponentModelFactory() {
+		return (RTComponentModelFactory)getEFactoryInstance();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isCreated = false;
+
+	/**
+	 * Creates the meta-model objects for the package.  This method is
+	 * guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void createPackageContents() {
+		if (isCreated) return;
+		isCreated = true;
+
+		// Create classes and their features
+		chRtPortSlotEClass = createEClass(CH_RT_PORT_SLOT);
+		createEReference(chRtPortSlotEClass, CH_RT_PORT_SLOT__BASE_SLOT);
+		createEReference(chRtPortSlotEClass, CH_RT_PORT_SLOT__CH_RT_SPECIFICATION);
+
+		chRtSpecificationEClass = createEClass(CH_RT_SPECIFICATION);
+		createEReference(chRtSpecificationEClass, CH_RT_SPECIFICATION__PART_WITH_PORT);
+		createEAttribute(chRtSpecificationEClass, CH_RT_SPECIFICATION__WCET);
+		createEAttribute(chRtSpecificationEClass, CH_RT_SPECIFICATION__LOCAL_WCET);
+		createEAttribute(chRtSpecificationEClass, CH_RT_SPECIFICATION__RELATIVE_PRIORITY);
+		createEAttribute(chRtSpecificationEClass, CH_RT_SPECIFICATION__CEILING);
+		createEAttribute(chRtSpecificationEClass, CH_RT_SPECIFICATION__MEMORY_SIZE_FOOTPRINT);
+		createEAttribute(chRtSpecificationEClass, CH_RT_SPECIFICATION__STACK_SIZE);
+		createEAttribute(chRtSpecificationEClass, CH_RT_SPECIFICATION__HEAP_SIZE);
+		createEReference(chRtSpecificationEClass, CH_RT_SPECIFICATION__SLOT);
+		createEReference(chRtSpecificationEClass, CH_RT_SPECIFICATION__BASE_COMMENT);
+		createEAttribute(chRtSpecificationEClass, CH_RT_SPECIFICATION__OCC_KIND);
+		createEAttribute(chRtSpecificationEClass, CH_RT_SPECIFICATION__PROTECTION);
+		createEAttribute(chRtSpecificationEClass, CH_RT_SPECIFICATION__RL_DL);
+		createEReference(chRtSpecificationEClass, CH_RT_SPECIFICATION__CONTEXT);
+		createEAttribute(chRtSpecificationEClass, CH_RT_SPECIFICATION__RESP_T);
+		createEAttribute(chRtSpecificationEClass, CH_RT_SPECIFICATION__BLOCK_T);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isInitialized = false;
+
+	/**
+	 * Complete the initialization of the package and its meta-model.  This
+	 * method is guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void initializePackageContents() {
+		if (isInitialized) return;
+		isInitialized = true;
+
+		// Initialize package
+		setName(eNAME);
+		setNsPrefix(eNS_PREFIX);
+		setNsURI(eNS_URI);
+
+		// Obtain other dependent packages
+		RTDataTypesPackage theRTDataTypesPackage = (RTDataTypesPackage)EPackage.Registry.INSTANCE.getEPackage(RTDataTypesPackage.eNS_URI);
+		UMLPackage theUMLPackage = (UMLPackage)EPackage.Registry.INSTANCE.getEPackage(UMLPackage.eNS_URI);
+		BasicNFP_TypesPackage theBasicNFP_TypesPackage = (BasicNFP_TypesPackage)EPackage.Registry.INSTANCE.getEPackage(BasicNFP_TypesPackage.eNS_URI);
+		HLAMPackage theHLAMPackage = (HLAMPackage)EPackage.Registry.INSTANCE.getEPackage(HLAMPackage.eNS_URI);
+
+		// Add subpackages
+		getESubpackages().add(theRTDataTypesPackage);
+
+		// Create type parameters
+
+		// Set bounds for type parameters
+
+		// Add supertypes to classes
+
+		// Initialize classes and features; add operations and parameters
+		initEClass(chRtPortSlotEClass, CHRtPortSlot.class, "CHRtPortSlot", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getCHRtPortSlot_Base_Slot(), theUMLPackage.getSlot(), null, "base_Slot", null, 1, 1, CHRtPortSlot.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEReference(getCHRtPortSlot_CH_RtSpecification(), this.getCHRtSpecification(), null, "cH_RtSpecification", null, 0, -1, CHRtPortSlot.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+		initEClass(chRtSpecificationEClass, CHRtSpecification.class, "CHRtSpecification", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getCHRtSpecification_PartWithPort(), theUMLPackage.getProperty(), null, "partWithPort", null, 0, 1, CHRtSpecification.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getCHRtSpecification_WCET(), theBasicNFP_TypesPackage.getNFP_Duration(), "WCET", null, 1, 1, CHRtSpecification.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getCHRtSpecification_LocalWCET(), theBasicNFP_TypesPackage.getNFP_Duration(), "localWCET", null, 0, 1, CHRtSpecification.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getCHRtSpecification_RelativePriority(), theBasicNFP_TypesPackage.getNFP_Integer(), "relativePriority", null, 0, 1, CHRtSpecification.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getCHRtSpecification_Ceiling(), theBasicNFP_TypesPackage.getNFP_Integer(), "ceiling", null, 0, 1, CHRtSpecification.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getCHRtSpecification_MemorySizeFootprint(), theBasicNFP_TypesPackage.getNFP_DataSize(), "memorySizeFootprint", null, 0, 1, CHRtSpecification.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getCHRtSpecification_StackSize(), theBasicNFP_TypesPackage.getNFP_DataSize(), "stackSize", null, 0, 1, CHRtSpecification.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getCHRtSpecification_HeapSize(), theBasicNFP_TypesPackage.getNFP_DataSize(), "heapSize", null, 0, 1, CHRtSpecification.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEReference(getCHRtSpecification_Slot(), theUMLPackage.getSlot(), null, "slot", null, 0, 1, CHRtSpecification.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEReference(getCHRtSpecification_Base_Comment(), theUMLPackage.getComment(), null, "base_Comment", null, 1, 1, CHRtSpecification.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getCHRtSpecification_OccKind(), theBasicNFP_TypesPackage.getArrivalPattern(), "occKind", null, 0, 1, CHRtSpecification.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getCHRtSpecification_Protection(), theHLAMPackage.getCallConcurrencyKind(), "protection", null, 0, 1, CHRtSpecification.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getCHRtSpecification_RlDl(), theBasicNFP_TypesPackage.getNFP_Duration(), "rlDl", null, 0, 1, CHRtSpecification.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEReference(getCHRtSpecification_Context(), theUMLPackage.getBehavioralFeature(), null, "context", null, 1, 1, CHRtSpecification.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getCHRtSpecification_RespT(), theBasicNFP_TypesPackage.getNFP_Duration(), "respT", null, 0, -1, CHRtSpecification.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getCHRtSpecification_BlockT(), theBasicNFP_TypesPackage.getNFP_Duration(), "blockT", null, 0, -1, CHRtSpecification.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+	}
+
+} //RTComponentModelPackageImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/util/RTComponentModelAdapterFactory.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/util/RTComponentModelAdapterFactory.java
new file mode 100644
index 000000000..f8acdea01
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/util/RTComponentModelAdapterFactory.java
@@ -0,0 +1,144 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+import org.eclipse.emf.ecore.EObject;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTComponentModelPackage
+ * @generated
+ */
+public class RTComponentModelAdapterFactory extends AdapterFactoryImpl {
+	/**
+	 * The cached model package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static RTComponentModelPackage modelPackage;
+
+	/**
+	 * Creates an instance of the adapter factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public RTComponentModelAdapterFactory() {
+		if (modelPackage == null) {
+			modelPackage = RTComponentModelPackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Returns whether this factory is applicable for the type of the object.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+	 * <!-- end-user-doc -->
+	 * @return whether this factory is applicable for the type of the object.
+	 * @generated
+	 */
+	@Override
+	public boolean isFactoryForType(Object object) {
+		if (object == modelPackage) {
+			return true;
+		}
+		if (object instanceof EObject) {
+			return ((EObject)object).eClass().getEPackage() == modelPackage;
+		}
+		return false;
+	}
+
+	/**
+	 * The switch that delegates to the <code>createXXX</code> methods.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected RTComponentModelSwitch<Adapter> modelSwitch =
+		new RTComponentModelSwitch<Adapter>() {
+			@Override
+			public Adapter caseCHRtPortSlot(CHRtPortSlot object) {
+				return createCHRtPortSlotAdapter();
+			}
+			@Override
+			public Adapter caseCHRtSpecification(CHRtSpecification object) {
+				return createCHRtSpecificationAdapter();
+			}
+			@Override
+			public Adapter defaultCase(EObject object) {
+				return createEObjectAdapter();
+			}
+		};
+
+	/**
+	 * Creates an adapter for the <code>target</code>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param target the object to adapt.
+	 * @return the adapter for the <code>target</code>.
+	 * @generated
+	 */
+	@Override
+	public Adapter createAdapter(Notifier target) {
+		return modelSwitch.doSwitch((EObject)target);
+	}
+
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.CHRtPortSlot <em>CH Rt Port Slot</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.CHRtPortSlot
+	 * @generated
+	 */
+	public Adapter createCHRtPortSlotAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.CHRtSpecification <em>CH Rt Specification</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.CHRtSpecification
+	 * @generated
+	 */
+	public Adapter createCHRtSpecificationAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for the default case.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @generated
+	 */
+	public Adapter createEObjectAdapter() {
+		return null;
+	}
+
+} //RTComponentModelAdapterFactory
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/util/RTComponentModelResourceFactoryImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/util/RTComponentModelResourceFactoryImpl.java
new file mode 100644
index 000000000..113355b05
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/util/RTComponentModelResourceFactoryImpl.java
@@ -0,0 +1,61 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.util;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.resource.impl.ResourceFactoryImpl;
+
+import org.eclipse.emf.ecore.xmi.XMLResource;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource Factory</b> associated with the package.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.util.RTComponentModelResourceImpl
+ * @generated
+ */
+public class RTComponentModelResourceFactoryImpl extends ResourceFactoryImpl {
+	/**
+	 * Creates an instance of the resource factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public RTComponentModelResourceFactoryImpl() {
+		super();
+	}
+
+	/**
+	 * Creates an instance of the resource.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Resource createResource(URI uri) {
+		XMLResource result = new RTComponentModelResourceImpl(uri);
+		result.getDefaultSaveOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
+		result.getDefaultLoadOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
+
+		result.getDefaultSaveOptions().put(XMLResource.OPTION_SCHEMA_LOCATION, Boolean.TRUE);
+
+		result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+		result.getDefaultSaveOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+
+		result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_LEXICAL_HANDLER, Boolean.TRUE);
+		return result;
+	}
+
+} //RTComponentModelResourceFactoryImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/util/RTComponentModelResourceImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/util/RTComponentModelResourceImpl.java
new file mode 100644
index 000000000..81ae30c90
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/util/RTComponentModelResourceImpl.java
@@ -0,0 +1,37 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.util;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource </b> associated with the package.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.util.RTComponentModelResourceFactoryImpl
+ * @generated
+ */
+public class RTComponentModelResourceImpl extends XMLResourceImpl {
+	/**
+	 * Creates an instance of the resource.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param uri the URI of the new resource.
+	 * @generated
+	 */
+	public RTComponentModelResourceImpl(URI uri) {
+		super(uri);
+	}
+
+} //RTComponentModelResourceImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/util/RTComponentModelSwitch.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/util/RTComponentModelSwitch.java
new file mode 100644
index 000000000..a2cad5494
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/util/RTComponentModelSwitch.java
@@ -0,0 +1,138 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.util.Switch;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTComponentModelPackage
+ * @generated
+ */
+public class RTComponentModelSwitch<T> extends Switch<T> {
+	/**
+	 * The cached model package
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static RTComponentModelPackage modelPackage;
+
+	/**
+	 * Creates an instance of the switch.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public RTComponentModelSwitch() {
+		if (modelPackage == null) {
+			modelPackage = RTComponentModelPackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Checks whether this is a switch for the given package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @parameter ePackage the package in question.
+	 * @return whether this is a switch for the given package.
+	 * @generated
+	 */
+	@Override
+	protected boolean isSwitchFor(EPackage ePackage) {
+		return ePackage == modelPackage;
+	}
+
+	/**
+	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the first non-null result returned by a <code>caseXXX</code> call.
+	 * @generated
+	 */
+	@Override
+	protected T doSwitch(int classifierID, EObject theEObject) {
+		switch (classifierID) {
+			case RTComponentModelPackage.CH_RT_PORT_SLOT: {
+				CHRtPortSlot chRtPortSlot = (CHRtPortSlot)theEObject;
+				T result = caseCHRtPortSlot(chRtPortSlot);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case RTComponentModelPackage.CH_RT_SPECIFICATION: {
+				CHRtSpecification chRtSpecification = (CHRtSpecification)theEObject;
+				T result = caseCHRtSpecification(chRtSpecification);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			default: return defaultCase(theEObject);
+		}
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>CH Rt Port Slot</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>CH Rt Port Slot</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseCHRtPortSlot(CHRtPortSlot object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>CH Rt Specification</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>CH Rt Specification</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseCHRtSpecification(CHRtSpecification object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch, but this is the last case anyway.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+	 * @generated
+	 */
+	@Override
+	public T defaultCase(EObject object) {
+		return null;
+	}
+
+} //RTComponentModelSwitch
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/util/RTComponentModelXMLProcessor.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/util/RTComponentModelXMLProcessor.java
new file mode 100644
index 000000000..80231e474
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/RTComponentModel/util/RTComponentModelXMLProcessor.java
@@ -0,0 +1,56 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.util;
+
+import java.util.Map;
+
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.xmi.util.XMLProcessor;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTComponentModelPackage;
+
+/**
+ * This class contains helper methods to serialize and deserialize XML documents
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class RTComponentModelXMLProcessor extends XMLProcessor {
+
+	/**
+	 * Public constructor to instantiate the helper.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public RTComponentModelXMLProcessor() {
+		super((EPackage.Registry.INSTANCE));
+		RTComponentModelPackage.eINSTANCE.eClass();
+	}
+	
+	/**
+	 * Register for "*" and "xml" file extensions the RTComponentModelResourceFactoryImpl factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected Map<String, Resource.Factory> getRegistrations() {
+		if (registrations == null) {
+			super.getRegistrations();
+			registrations.put(XML_EXTENSION, new RTComponentModelResourceFactoryImpl());
+			registrations.put(STAR_EXTENSION, new RTComponentModelResourceFactoryImpl());
+		}
+		return registrations;
+	}
+
+} //RTComponentModelXMLProcessor
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/AgeTimingConstraint.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/AgeTimingConstraint.java
new file mode 100644
index 000000000..197f0805a
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/AgeTimingConstraint.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis;
+
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.GQAM.GaLatencyObs;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Age Timing Constraint</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingAnalysisPackage#getAgeTimingConstraint()
+ * @model
+ * @generated
+ */
+public interface AgeTimingConstraint extends GaLatencyObs {
+} // AgeTimingConstraint
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/InputSynchronizationConstraint.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/InputSynchronizationConstraint.java
new file mode 100644
index 000000000..2c9bf3af8
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/InputSynchronizationConstraint.java
@@ -0,0 +1,59 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis;
+
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.GQAM.GaLatencyObs;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Input Synchronization Constraint</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.InputSynchronizationConstraint#getWidth <em>Width</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingAnalysisPackage#getInputSynchronizationConstraint()
+ * @model
+ * @generated
+ */
+public interface InputSynchronizationConstraint extends GaLatencyObs {
+	/**
+	 * Returns the value of the '<em><b>Width</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Width</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Width</em>' attribute.
+	 * @see #setWidth(String)
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingAnalysisPackage#getInputSynchronizationConstraint_Width()
+	 * @model dataType="org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.NFP_Duration" required="true" ordered="false"
+	 * @generated
+	 */
+	String getWidth();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.InputSynchronizationConstraint#getWidth <em>Width</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Width</em>' attribute.
+	 * @see #getWidth()
+	 * @generated
+	 */
+	void setWidth(String value);
+
+} // InputSynchronizationConstraint
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/OutputSynchronizationConstraint.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/OutputSynchronizationConstraint.java
new file mode 100644
index 000000000..4816647d4
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/OutputSynchronizationConstraint.java
@@ -0,0 +1,59 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis;
+
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.GQAM.GaLatencyObs;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Output Synchronization Constraint</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.OutputSynchronizationConstraint#getWidth <em>Width</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingAnalysisPackage#getOutputSynchronizationConstraint()
+ * @model
+ * @generated
+ */
+public interface OutputSynchronizationConstraint extends GaLatencyObs {
+	/**
+	 * Returns the value of the '<em><b>Width</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Width</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Width</em>' attribute.
+	 * @see #setWidth(String)
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingAnalysisPackage#getOutputSynchronizationConstraint_Width()
+	 * @model dataType="org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.NFP_Duration" required="true" ordered="false"
+	 * @generated
+	 */
+	String getWidth();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.OutputSynchronizationConstraint#getWidth <em>Width</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Width</em>' attribute.
+	 * @see #getWidth()
+	 * @generated
+	 */
+	void setWidth(String value);
+
+} // OutputSynchronizationConstraint
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/ReactionConstraint.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/ReactionConstraint.java
new file mode 100644
index 000000000..6b5a33630
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/ReactionConstraint.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis;
+
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.GQAM.GaLatencyObs;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Reaction Constraint</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingAnalysisPackage#getReactionConstraint()
+ * @model
+ * @generated
+ */
+public interface ReactionConstraint extends GaLatencyObs {
+} // ReactionConstraint
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/SimulationBasedTimingAnalysis.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/SimulationBasedTimingAnalysis.java
new file mode 100644
index 000000000..49b53cc04
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/SimulationBasedTimingAnalysis.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis;
+
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.GQAM.GaAnalysisContext;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Simulation Based Timing Analysis</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingAnalysisPackage#getSimulationBasedTimingAnalysis()
+ * @model
+ * @generated
+ */
+public interface SimulationBasedTimingAnalysis extends GaAnalysisContext {
+} // SimulationBasedTimingAnalysis
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/TimingAnalysisFactory.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/TimingAnalysisFactory.java
new file mode 100644
index 000000000..77ccf2de6
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/TimingAnalysisFactory.java
@@ -0,0 +1,87 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingAnalysisPackage
+ * @generated
+ */
+public interface TimingAnalysisFactory extends EFactory {
+	/**
+	 * The singleton instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	TimingAnalysisFactory eINSTANCE = org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.impl.TimingAnalysisFactoryImpl.init();
+
+	/**
+	 * Returns a new object of class '<em>Simulation Based Timing Analysis</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Simulation Based Timing Analysis</em>'.
+	 * @generated
+	 */
+	SimulationBasedTimingAnalysis createSimulationBasedTimingAnalysis();
+
+	/**
+	 * Returns a new object of class '<em>Age Timing Constraint</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Age Timing Constraint</em>'.
+	 * @generated
+	 */
+	AgeTimingConstraint createAgeTimingConstraint();
+
+	/**
+	 * Returns a new object of class '<em>Reaction Constraint</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Reaction Constraint</em>'.
+	 * @generated
+	 */
+	ReactionConstraint createReactionConstraint();
+
+	/**
+	 * Returns a new object of class '<em>Output Synchronization Constraint</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Output Synchronization Constraint</em>'.
+	 * @generated
+	 */
+	OutputSynchronizationConstraint createOutputSynchronizationConstraint();
+
+	/**
+	 * Returns a new object of class '<em>Input Synchronization Constraint</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Input Synchronization Constraint</em>'.
+	 * @generated
+	 */
+	InputSynchronizationConstraint createInputSynchronizationConstraint();
+
+	/**
+	 * Returns the package supported by this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the package supported by this factory.
+	 * @generated
+	 */
+	TimingAnalysisPackage getTimingAnalysisPackage();
+
+} //TimingAnalysisFactory
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/TimingAnalysisPackage.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/TimingAnalysisPackage.java
new file mode 100644
index 000000000..47e0fb7e1
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/TimingAnalysisPackage.java
@@ -0,0 +1,767 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.GQAM.GQAMPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ *   <li>each class,</li>
+ *   <li>each feature of each class,</li>
+ *   <li>each enum,</li>
+ *   <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingAnalysisFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface TimingAnalysisPackage extends EPackage {
+	/**
+	 * The package name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNAME = "TimingAnalysis";
+
+	/**
+	 * The package namespace URI.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_URI = "http://CHESS.Predictability/schemas/TimingAnaylsis/_SGMOYMe6Ed-7etIj5eTw0Q/8";
+
+	/**
+	 * The package namespace name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_PREFIX = "TimingAnalysis";
+
+	/**
+	 * The singleton instance of the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	TimingAnalysisPackage eINSTANCE = org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.impl.TimingAnalysisPackageImpl.init();
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.impl.SimulationBasedTimingAnalysisImpl <em>Simulation Based Timing Analysis</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.impl.SimulationBasedTimingAnalysisImpl
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.impl.TimingAnalysisPackageImpl#getSimulationBasedTimingAnalysis()
+	 * @generated
+	 */
+	int SIMULATION_BASED_TIMING_ANALYSIS = 0;
+
+	/**
+	 * The feature id for the '<em><b>Base Structured Classifier</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SIMULATION_BASED_TIMING_ANALYSIS__BASE_STRUCTURED_CLASSIFIER = GQAMPackage.GA_ANALYSIS_CONTEXT__BASE_STRUCTURED_CLASSIFIER;
+
+	/**
+	 * The feature id for the '<em><b>Base Package</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SIMULATION_BASED_TIMING_ANALYSIS__BASE_PACKAGE = GQAMPackage.GA_ANALYSIS_CONTEXT__BASE_PACKAGE;
+
+	/**
+	 * The feature id for the '<em><b>Mode</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SIMULATION_BASED_TIMING_ANALYSIS__MODE = GQAMPackage.GA_ANALYSIS_CONTEXT__MODE;
+
+	/**
+	 * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SIMULATION_BASED_TIMING_ANALYSIS__BASE_NAMED_ELEMENT = GQAMPackage.GA_ANALYSIS_CONTEXT__BASE_NAMED_ELEMENT;
+
+	/**
+	 * The feature id for the '<em><b>Context</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SIMULATION_BASED_TIMING_ANALYSIS__CONTEXT = GQAMPackage.GA_ANALYSIS_CONTEXT__CONTEXT;
+
+	/**
+	 * The feature id for the '<em><b>Workload</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SIMULATION_BASED_TIMING_ANALYSIS__WORKLOAD = GQAMPackage.GA_ANALYSIS_CONTEXT__WORKLOAD;
+
+	/**
+	 * The feature id for the '<em><b>Platform</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SIMULATION_BASED_TIMING_ANALYSIS__PLATFORM = GQAMPackage.GA_ANALYSIS_CONTEXT__PLATFORM;
+
+	/**
+	 * The number of structural features of the '<em>Simulation Based Timing Analysis</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SIMULATION_BASED_TIMING_ANALYSIS_FEATURE_COUNT = GQAMPackage.GA_ANALYSIS_CONTEXT_FEATURE_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.impl.AgeTimingConstraintImpl <em>Age Timing Constraint</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.impl.AgeTimingConstraintImpl
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.impl.TimingAnalysisPackageImpl#getAgeTimingConstraint()
+	 * @generated
+	 */
+	int AGE_TIMING_CONSTRAINT = 1;
+
+	/**
+	 * The feature id for the '<em><b>Kind</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int AGE_TIMING_CONSTRAINT__KIND = GQAMPackage.GA_LATENCY_OBS__KIND;
+
+	/**
+	 * The feature id for the '<em><b>Base Constraint</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int AGE_TIMING_CONSTRAINT__BASE_CONSTRAINT = GQAMPackage.GA_LATENCY_OBS__BASE_CONSTRAINT;
+
+	/**
+	 * The feature id for the '<em><b>Mode</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int AGE_TIMING_CONSTRAINT__MODE = GQAMPackage.GA_LATENCY_OBS__MODE;
+
+	/**
+	 * The feature id for the '<em><b>Laxity</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int AGE_TIMING_CONSTRAINT__LAXITY = GQAMPackage.GA_LATENCY_OBS__LAXITY;
+
+	/**
+	 * The feature id for the '<em><b>Start Obs</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int AGE_TIMING_CONSTRAINT__START_OBS = GQAMPackage.GA_LATENCY_OBS__START_OBS;
+
+	/**
+	 * The feature id for the '<em><b>End Obs</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int AGE_TIMING_CONSTRAINT__END_OBS = GQAMPackage.GA_LATENCY_OBS__END_OBS;
+
+	/**
+	 * The feature id for the '<em><b>Latency</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int AGE_TIMING_CONSTRAINT__LATENCY = GQAMPackage.GA_LATENCY_OBS__LATENCY;
+
+	/**
+	 * The feature id for the '<em><b>Miss</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int AGE_TIMING_CONSTRAINT__MISS = GQAMPackage.GA_LATENCY_OBS__MISS;
+
+	/**
+	 * The feature id for the '<em><b>Utility</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int AGE_TIMING_CONSTRAINT__UTILITY = GQAMPackage.GA_LATENCY_OBS__UTILITY;
+
+	/**
+	 * The feature id for the '<em><b>Max Jitter</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int AGE_TIMING_CONSTRAINT__MAX_JITTER = GQAMPackage.GA_LATENCY_OBS__MAX_JITTER;
+
+	/**
+	 * The number of structural features of the '<em>Age Timing Constraint</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int AGE_TIMING_CONSTRAINT_FEATURE_COUNT = GQAMPackage.GA_LATENCY_OBS_FEATURE_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.impl.ReactionConstraintImpl <em>Reaction Constraint</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.impl.ReactionConstraintImpl
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.impl.TimingAnalysisPackageImpl#getReactionConstraint()
+	 * @generated
+	 */
+	int REACTION_CONSTRAINT = 2;
+
+	/**
+	 * The feature id for the '<em><b>Kind</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REACTION_CONSTRAINT__KIND = GQAMPackage.GA_LATENCY_OBS__KIND;
+
+	/**
+	 * The feature id for the '<em><b>Base Constraint</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REACTION_CONSTRAINT__BASE_CONSTRAINT = GQAMPackage.GA_LATENCY_OBS__BASE_CONSTRAINT;
+
+	/**
+	 * The feature id for the '<em><b>Mode</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REACTION_CONSTRAINT__MODE = GQAMPackage.GA_LATENCY_OBS__MODE;
+
+	/**
+	 * The feature id for the '<em><b>Laxity</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REACTION_CONSTRAINT__LAXITY = GQAMPackage.GA_LATENCY_OBS__LAXITY;
+
+	/**
+	 * The feature id for the '<em><b>Start Obs</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REACTION_CONSTRAINT__START_OBS = GQAMPackage.GA_LATENCY_OBS__START_OBS;
+
+	/**
+	 * The feature id for the '<em><b>End Obs</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REACTION_CONSTRAINT__END_OBS = GQAMPackage.GA_LATENCY_OBS__END_OBS;
+
+	/**
+	 * The feature id for the '<em><b>Latency</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REACTION_CONSTRAINT__LATENCY = GQAMPackage.GA_LATENCY_OBS__LATENCY;
+
+	/**
+	 * The feature id for the '<em><b>Miss</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REACTION_CONSTRAINT__MISS = GQAMPackage.GA_LATENCY_OBS__MISS;
+
+	/**
+	 * The feature id for the '<em><b>Utility</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REACTION_CONSTRAINT__UTILITY = GQAMPackage.GA_LATENCY_OBS__UTILITY;
+
+	/**
+	 * The feature id for the '<em><b>Max Jitter</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REACTION_CONSTRAINT__MAX_JITTER = GQAMPackage.GA_LATENCY_OBS__MAX_JITTER;
+
+	/**
+	 * The number of structural features of the '<em>Reaction Constraint</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REACTION_CONSTRAINT_FEATURE_COUNT = GQAMPackage.GA_LATENCY_OBS_FEATURE_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.impl.OutputSynchronizationConstraintImpl <em>Output Synchronization Constraint</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.impl.OutputSynchronizationConstraintImpl
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.impl.TimingAnalysisPackageImpl#getOutputSynchronizationConstraint()
+	 * @generated
+	 */
+	int OUTPUT_SYNCHRONIZATION_CONSTRAINT = 3;
+
+	/**
+	 * The feature id for the '<em><b>Kind</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int OUTPUT_SYNCHRONIZATION_CONSTRAINT__KIND = GQAMPackage.GA_LATENCY_OBS__KIND;
+
+	/**
+	 * The feature id for the '<em><b>Base Constraint</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int OUTPUT_SYNCHRONIZATION_CONSTRAINT__BASE_CONSTRAINT = GQAMPackage.GA_LATENCY_OBS__BASE_CONSTRAINT;
+
+	/**
+	 * The feature id for the '<em><b>Mode</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int OUTPUT_SYNCHRONIZATION_CONSTRAINT__MODE = GQAMPackage.GA_LATENCY_OBS__MODE;
+
+	/**
+	 * The feature id for the '<em><b>Laxity</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int OUTPUT_SYNCHRONIZATION_CONSTRAINT__LAXITY = GQAMPackage.GA_LATENCY_OBS__LAXITY;
+
+	/**
+	 * The feature id for the '<em><b>Start Obs</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int OUTPUT_SYNCHRONIZATION_CONSTRAINT__START_OBS = GQAMPackage.GA_LATENCY_OBS__START_OBS;
+
+	/**
+	 * The feature id for the '<em><b>End Obs</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int OUTPUT_SYNCHRONIZATION_CONSTRAINT__END_OBS = GQAMPackage.GA_LATENCY_OBS__END_OBS;
+
+	/**
+	 * The feature id for the '<em><b>Latency</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int OUTPUT_SYNCHRONIZATION_CONSTRAINT__LATENCY = GQAMPackage.GA_LATENCY_OBS__LATENCY;
+
+	/**
+	 * The feature id for the '<em><b>Miss</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int OUTPUT_SYNCHRONIZATION_CONSTRAINT__MISS = GQAMPackage.GA_LATENCY_OBS__MISS;
+
+	/**
+	 * The feature id for the '<em><b>Utility</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int OUTPUT_SYNCHRONIZATION_CONSTRAINT__UTILITY = GQAMPackage.GA_LATENCY_OBS__UTILITY;
+
+	/**
+	 * The feature id for the '<em><b>Max Jitter</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int OUTPUT_SYNCHRONIZATION_CONSTRAINT__MAX_JITTER = GQAMPackage.GA_LATENCY_OBS__MAX_JITTER;
+
+	/**
+	 * The feature id for the '<em><b>Width</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int OUTPUT_SYNCHRONIZATION_CONSTRAINT__WIDTH = GQAMPackage.GA_LATENCY_OBS_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of structural features of the '<em>Output Synchronization Constraint</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int OUTPUT_SYNCHRONIZATION_CONSTRAINT_FEATURE_COUNT = GQAMPackage.GA_LATENCY_OBS_FEATURE_COUNT + 1;
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.impl.InputSynchronizationConstraintImpl <em>Input Synchronization Constraint</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.impl.InputSynchronizationConstraintImpl
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.impl.TimingAnalysisPackageImpl#getInputSynchronizationConstraint()
+	 * @generated
+	 */
+	int INPUT_SYNCHRONIZATION_CONSTRAINT = 4;
+
+	/**
+	 * The feature id for the '<em><b>Kind</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INPUT_SYNCHRONIZATION_CONSTRAINT__KIND = GQAMPackage.GA_LATENCY_OBS__KIND;
+
+	/**
+	 * The feature id for the '<em><b>Base Constraint</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INPUT_SYNCHRONIZATION_CONSTRAINT__BASE_CONSTRAINT = GQAMPackage.GA_LATENCY_OBS__BASE_CONSTRAINT;
+
+	/**
+	 * The feature id for the '<em><b>Mode</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INPUT_SYNCHRONIZATION_CONSTRAINT__MODE = GQAMPackage.GA_LATENCY_OBS__MODE;
+
+	/**
+	 * The feature id for the '<em><b>Laxity</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INPUT_SYNCHRONIZATION_CONSTRAINT__LAXITY = GQAMPackage.GA_LATENCY_OBS__LAXITY;
+
+	/**
+	 * The feature id for the '<em><b>Start Obs</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INPUT_SYNCHRONIZATION_CONSTRAINT__START_OBS = GQAMPackage.GA_LATENCY_OBS__START_OBS;
+
+	/**
+	 * The feature id for the '<em><b>End Obs</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INPUT_SYNCHRONIZATION_CONSTRAINT__END_OBS = GQAMPackage.GA_LATENCY_OBS__END_OBS;
+
+	/**
+	 * The feature id for the '<em><b>Latency</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INPUT_SYNCHRONIZATION_CONSTRAINT__LATENCY = GQAMPackage.GA_LATENCY_OBS__LATENCY;
+
+	/**
+	 * The feature id for the '<em><b>Miss</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INPUT_SYNCHRONIZATION_CONSTRAINT__MISS = GQAMPackage.GA_LATENCY_OBS__MISS;
+
+	/**
+	 * The feature id for the '<em><b>Utility</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INPUT_SYNCHRONIZATION_CONSTRAINT__UTILITY = GQAMPackage.GA_LATENCY_OBS__UTILITY;
+
+	/**
+	 * The feature id for the '<em><b>Max Jitter</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INPUT_SYNCHRONIZATION_CONSTRAINT__MAX_JITTER = GQAMPackage.GA_LATENCY_OBS__MAX_JITTER;
+
+	/**
+	 * The feature id for the '<em><b>Width</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INPUT_SYNCHRONIZATION_CONSTRAINT__WIDTH = GQAMPackage.GA_LATENCY_OBS_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of structural features of the '<em>Input Synchronization Constraint</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INPUT_SYNCHRONIZATION_CONSTRAINT_FEATURE_COUNT = GQAMPackage.GA_LATENCY_OBS_FEATURE_COUNT + 1;
+
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.SimulationBasedTimingAnalysis <em>Simulation Based Timing Analysis</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Simulation Based Timing Analysis</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.SimulationBasedTimingAnalysis
+	 * @generated
+	 */
+	EClass getSimulationBasedTimingAnalysis();
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.AgeTimingConstraint <em>Age Timing Constraint</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Age Timing Constraint</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.AgeTimingConstraint
+	 * @generated
+	 */
+	EClass getAgeTimingConstraint();
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.ReactionConstraint <em>Reaction Constraint</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Reaction Constraint</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.ReactionConstraint
+	 * @generated
+	 */
+	EClass getReactionConstraint();
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.OutputSynchronizationConstraint <em>Output Synchronization Constraint</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Output Synchronization Constraint</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.OutputSynchronizationConstraint
+	 * @generated
+	 */
+	EClass getOutputSynchronizationConstraint();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.OutputSynchronizationConstraint#getWidth <em>Width</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Width</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.OutputSynchronizationConstraint#getWidth()
+	 * @see #getOutputSynchronizationConstraint()
+	 * @generated
+	 */
+	EAttribute getOutputSynchronizationConstraint_Width();
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.InputSynchronizationConstraint <em>Input Synchronization Constraint</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Input Synchronization Constraint</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.InputSynchronizationConstraint
+	 * @generated
+	 */
+	EClass getInputSynchronizationConstraint();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.InputSynchronizationConstraint#getWidth <em>Width</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Width</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.InputSynchronizationConstraint#getWidth()
+	 * @see #getInputSynchronizationConstraint()
+	 * @generated
+	 */
+	EAttribute getInputSynchronizationConstraint_Width();
+
+	/**
+	 * Returns the factory that creates the instances of the model.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the factory that creates the instances of the model.
+	 * @generated
+	 */
+	TimingAnalysisFactory getTimingAnalysisFactory();
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * Defines literals for the meta objects that represent
+	 * <ul>
+	 *   <li>each class,</li>
+	 *   <li>each feature of each class,</li>
+	 *   <li>each enum,</li>
+	 *   <li>and each data type</li>
+	 * </ul>
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	interface Literals {
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.impl.SimulationBasedTimingAnalysisImpl <em>Simulation Based Timing Analysis</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.impl.SimulationBasedTimingAnalysisImpl
+		 * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.impl.TimingAnalysisPackageImpl#getSimulationBasedTimingAnalysis()
+		 * @generated
+		 */
+		EClass SIMULATION_BASED_TIMING_ANALYSIS = eINSTANCE.getSimulationBasedTimingAnalysis();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.impl.AgeTimingConstraintImpl <em>Age Timing Constraint</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.impl.AgeTimingConstraintImpl
+		 * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.impl.TimingAnalysisPackageImpl#getAgeTimingConstraint()
+		 * @generated
+		 */
+		EClass AGE_TIMING_CONSTRAINT = eINSTANCE.getAgeTimingConstraint();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.impl.ReactionConstraintImpl <em>Reaction Constraint</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.impl.ReactionConstraintImpl
+		 * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.impl.TimingAnalysisPackageImpl#getReactionConstraint()
+		 * @generated
+		 */
+		EClass REACTION_CONSTRAINT = eINSTANCE.getReactionConstraint();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.impl.OutputSynchronizationConstraintImpl <em>Output Synchronization Constraint</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.impl.OutputSynchronizationConstraintImpl
+		 * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.impl.TimingAnalysisPackageImpl#getOutputSynchronizationConstraint()
+		 * @generated
+		 */
+		EClass OUTPUT_SYNCHRONIZATION_CONSTRAINT = eINSTANCE.getOutputSynchronizationConstraint();
+
+		/**
+		 * The meta object literal for the '<em><b>Width</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute OUTPUT_SYNCHRONIZATION_CONSTRAINT__WIDTH = eINSTANCE.getOutputSynchronizationConstraint_Width();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.impl.InputSynchronizationConstraintImpl <em>Input Synchronization Constraint</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.impl.InputSynchronizationConstraintImpl
+		 * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.impl.TimingAnalysisPackageImpl#getInputSynchronizationConstraint()
+		 * @generated
+		 */
+		EClass INPUT_SYNCHRONIZATION_CONSTRAINT = eINSTANCE.getInputSynchronizationConstraint();
+
+		/**
+		 * The meta object literal for the '<em><b>Width</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute INPUT_SYNCHRONIZATION_CONSTRAINT__WIDTH = eINSTANCE.getInputSynchronizationConstraint_Width();
+
+	}
+
+} //TimingAnalysisPackage
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/TimingConstraints/ArbitraryEventConstraint.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/TimingConstraints/ArbitraryEventConstraint.java
new file mode 100644
index 000000000..1c630f781
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/TimingConstraints/ArbitraryEventConstraint.java
@@ -0,0 +1,95 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.NFPs.NfpConstraint;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Arbitrary Event Constraint</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.ArbitraryEventConstraint#getOffset <em>Offset</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.ArbitraryEventConstraint#getMaximumInterarrivalTime <em>Maximum Interarrival Time</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.ArbitraryEventConstraint#getMinimumInterarrivalTime <em>Minimum Interarrival Time</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.TimingConstraintsPackage#getArbitraryEventConstraint()
+ * @model
+ * @generated
+ */
+public interface ArbitraryEventConstraint extends NfpConstraint {
+	/**
+	 * Returns the value of the '<em><b>Offset</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Offset</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Offset</em>' attribute.
+	 * @see #setOffset(String)
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.TimingConstraintsPackage#getArbitraryEventConstraint_Offset()
+	 * @model dataType="org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.NFP_Duration" required="true" ordered="false"
+	 * @generated
+	 */
+	String getOffset();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.ArbitraryEventConstraint#getOffset <em>Offset</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Offset</em>' attribute.
+	 * @see #getOffset()
+	 * @generated
+	 */
+	void setOffset(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Maximum Interarrival Time</b></em>' attribute list.
+	 * The list contents are of type {@link java.lang.String}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Maximum Interarrival Time</em>' attribute list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Maximum Interarrival Time</em>' attribute list.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.TimingConstraintsPackage#getArbitraryEventConstraint_MaximumInterarrivalTime()
+	 * @model dataType="org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.NFP_Duration" ordered="false"
+	 * @generated
+	 */
+	EList<String> getMaximumInterarrivalTime();
+
+	/**
+	 * Returns the value of the '<em><b>Minimum Interarrival Time</b></em>' attribute list.
+	 * The list contents are of type {@link java.lang.String}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Minimum Interarrival Time</em>' attribute list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Minimum Interarrival Time</em>' attribute list.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.TimingConstraintsPackage#getArbitraryEventConstraint_MinimumInterarrivalTime()
+	 * @model dataType="org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.NFP_Duration" ordered="false"
+	 * @generated
+	 */
+	EList<String> getMinimumInterarrivalTime();
+
+} // ArbitraryEventConstraint
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/TimingConstraints/PatternEventConstraint.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/TimingConstraints/PatternEventConstraint.java
new file mode 100644
index 000000000..d959f4def
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/TimingConstraints/PatternEventConstraint.java
@@ -0,0 +1,167 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.NFPs.NfpConstraint;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Pattern Event Constraint</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.PatternEventConstraint#getOffset <em>Offset</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.PatternEventConstraint#getJitter <em>Jitter</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.PatternEventConstraint#getMinimumInterarrivalTime <em>Minimum Interarrival Time</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.PatternEventConstraint#getOccurrence <em>Occurrence</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.PatternEventConstraint#getPeriod <em>Period</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.TimingConstraintsPackage#getPatternEventConstraint()
+ * @model
+ * @generated
+ */
+public interface PatternEventConstraint extends NfpConstraint {
+	/**
+	 * Returns the value of the '<em><b>Offset</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Offset</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Offset</em>' attribute.
+	 * @see #setOffset(String)
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.TimingConstraintsPackage#getPatternEventConstraint_Offset()
+	 * @model dataType="org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.NFP_Duration" required="true" ordered="false"
+	 * @generated
+	 */
+	String getOffset();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.PatternEventConstraint#getOffset <em>Offset</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Offset</em>' attribute.
+	 * @see #getOffset()
+	 * @generated
+	 */
+	void setOffset(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Jitter</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Jitter</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Jitter</em>' attribute.
+	 * @see #setJitter(String)
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.TimingConstraintsPackage#getPatternEventConstraint_Jitter()
+	 * @model dataType="org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.NFP_Duration" required="true" ordered="false"
+	 * @generated
+	 */
+	String getJitter();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.PatternEventConstraint#getJitter <em>Jitter</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Jitter</em>' attribute.
+	 * @see #getJitter()
+	 * @generated
+	 */
+	void setJitter(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Minimum Interarrival Time</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Minimum Interarrival Time</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Minimum Interarrival Time</em>' attribute.
+	 * @see #setMinimumInterarrivalTime(String)
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.TimingConstraintsPackage#getPatternEventConstraint_MinimumInterarrivalTime()
+	 * @model dataType="org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.NFP_Duration" required="true" ordered="false"
+	 * @generated
+	 */
+	String getMinimumInterarrivalTime();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.PatternEventConstraint#getMinimumInterarrivalTime <em>Minimum Interarrival Time</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Minimum Interarrival Time</em>' attribute.
+	 * @see #getMinimumInterarrivalTime()
+	 * @generated
+	 */
+	void setMinimumInterarrivalTime(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Occurrence</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Occurrence</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Occurrence</em>' attribute.
+	 * @see #setOccurrence(String)
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.TimingConstraintsPackage#getPatternEventConstraint_Occurrence()
+	 * @model dataType="org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.NFP_Duration" required="true" ordered="false"
+	 * @generated
+	 */
+	String getOccurrence();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.PatternEventConstraint#getOccurrence <em>Occurrence</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Occurrence</em>' attribute.
+	 * @see #getOccurrence()
+	 * @generated
+	 */
+	void setOccurrence(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Period</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Period</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Period</em>' attribute.
+	 * @see #setPeriod(String)
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.TimingConstraintsPackage#getPatternEventConstraint_Period()
+	 * @model dataType="org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.NFP_Duration" required="true" ordered="false"
+	 * @generated
+	 */
+	String getPeriod();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.PatternEventConstraint#getPeriod <em>Period</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Period</em>' attribute.
+	 * @see #getPeriod()
+	 * @generated
+	 */
+	void setPeriod(String value);
+
+} // PatternEventConstraint
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/TimingConstraints/PeriodicEventConstraint.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/TimingConstraints/PeriodicEventConstraint.java
new file mode 100644
index 000000000..5b7cb3957
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/TimingConstraints/PeriodicEventConstraint.java
@@ -0,0 +1,140 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.NFPs.NfpConstraint;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Periodic Event Constraint</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.PeriodicEventConstraint#getOffset <em>Offset</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.PeriodicEventConstraint#getJitter <em>Jitter</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.PeriodicEventConstraint#getMinimumInterarrivalTime <em>Minimum Interarrival Time</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.PeriodicEventConstraint#getPeriod <em>Period</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.TimingConstraintsPackage#getPeriodicEventConstraint()
+ * @model
+ * @generated
+ */
+public interface PeriodicEventConstraint extends NfpConstraint {
+	/**
+	 * Returns the value of the '<em><b>Offset</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Offset</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Offset</em>' attribute.
+	 * @see #setOffset(String)
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.TimingConstraintsPackage#getPeriodicEventConstraint_Offset()
+	 * @model dataType="org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.NFP_Duration" required="true" ordered="false"
+	 * @generated
+	 */
+	String getOffset();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.PeriodicEventConstraint#getOffset <em>Offset</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Offset</em>' attribute.
+	 * @see #getOffset()
+	 * @generated
+	 */
+	void setOffset(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Jitter</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Jitter</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Jitter</em>' attribute.
+	 * @see #setJitter(String)
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.TimingConstraintsPackage#getPeriodicEventConstraint_Jitter()
+	 * @model dataType="org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.NFP_Duration" required="true" ordered="false"
+	 * @generated
+	 */
+	String getJitter();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.PeriodicEventConstraint#getJitter <em>Jitter</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Jitter</em>' attribute.
+	 * @see #getJitter()
+	 * @generated
+	 */
+	void setJitter(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Minimum Interarrival Time</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Minimum Interarrival Time</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Minimum Interarrival Time</em>' attribute.
+	 * @see #setMinimumInterarrivalTime(String)
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.TimingConstraintsPackage#getPeriodicEventConstraint_MinimumInterarrivalTime()
+	 * @model dataType="org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.NFP_Duration" required="true" ordered="false"
+	 * @generated
+	 */
+	String getMinimumInterarrivalTime();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.PeriodicEventConstraint#getMinimumInterarrivalTime <em>Minimum Interarrival Time</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Minimum Interarrival Time</em>' attribute.
+	 * @see #getMinimumInterarrivalTime()
+	 * @generated
+	 */
+	void setMinimumInterarrivalTime(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Period</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Period</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Period</em>' attribute.
+	 * @see #setPeriod(String)
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.TimingConstraintsPackage#getPeriodicEventConstraint_Period()
+	 * @model dataType="org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.NFP_Duration" required="true" ordered="false"
+	 * @generated
+	 */
+	String getPeriod();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.PeriodicEventConstraint#getPeriod <em>Period</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Period</em>' attribute.
+	 * @see #getPeriod()
+	 * @generated
+	 */
+	void setPeriod(String value);
+
+} // PeriodicEventConstraint
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/TimingConstraints/SporadicEventConstraint.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/TimingConstraints/SporadicEventConstraint.java
new file mode 100644
index 000000000..252b9018a
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/TimingConstraints/SporadicEventConstraint.java
@@ -0,0 +1,167 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.NFPs.NfpConstraint;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Sporadic Event Constraint</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.SporadicEventConstraint#getOffset <em>Offset</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.SporadicEventConstraint#getJitter <em>Jitter</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.SporadicEventConstraint#getMaximumInterarrivalTime <em>Maximum Interarrival Time</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.SporadicEventConstraint#getMinimumInterarrivalTime <em>Minimum Interarrival Time</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.SporadicEventConstraint#getPeriod <em>Period</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.TimingConstraintsPackage#getSporadicEventConstraint()
+ * @model
+ * @generated
+ */
+public interface SporadicEventConstraint extends NfpConstraint {
+	/**
+	 * Returns the value of the '<em><b>Offset</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Offset</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Offset</em>' attribute.
+	 * @see #setOffset(String)
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.TimingConstraintsPackage#getSporadicEventConstraint_Offset()
+	 * @model dataType="org.eclipse.papyrus.MARTE_Library.MARTE_PrimitivesTypes.Real" required="true" ordered="false"
+	 * @generated
+	 */
+	String getOffset();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.SporadicEventConstraint#getOffset <em>Offset</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Offset</em>' attribute.
+	 * @see #getOffset()
+	 * @generated
+	 */
+	void setOffset(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Jitter</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Jitter</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Jitter</em>' attribute.
+	 * @see #setJitter(String)
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.TimingConstraintsPackage#getSporadicEventConstraint_Jitter()
+	 * @model dataType="org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.NFP_Duration" ordered="false"
+	 * @generated
+	 */
+	String getJitter();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.SporadicEventConstraint#getJitter <em>Jitter</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Jitter</em>' attribute.
+	 * @see #getJitter()
+	 * @generated
+	 */
+	void setJitter(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Maximum Interarrival Time</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Maximum Interarrival Time</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Maximum Interarrival Time</em>' attribute.
+	 * @see #setMaximumInterarrivalTime(String)
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.TimingConstraintsPackage#getSporadicEventConstraint_MaximumInterarrivalTime()
+	 * @model dataType="org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.NFP_Duration" ordered="false"
+	 * @generated
+	 */
+	String getMaximumInterarrivalTime();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.SporadicEventConstraint#getMaximumInterarrivalTime <em>Maximum Interarrival Time</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Maximum Interarrival Time</em>' attribute.
+	 * @see #getMaximumInterarrivalTime()
+	 * @generated
+	 */
+	void setMaximumInterarrivalTime(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Minimum Interarrival Time</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Minimum Interarrival Time</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Minimum Interarrival Time</em>' attribute.
+	 * @see #setMinimumInterarrivalTime(String)
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.TimingConstraintsPackage#getSporadicEventConstraint_MinimumInterarrivalTime()
+	 * @model dataType="org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.NFP_Duration" required="true" ordered="false"
+	 * @generated
+	 */
+	String getMinimumInterarrivalTime();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.SporadicEventConstraint#getMinimumInterarrivalTime <em>Minimum Interarrival Time</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Minimum Interarrival Time</em>' attribute.
+	 * @see #getMinimumInterarrivalTime()
+	 * @generated
+	 */
+	void setMinimumInterarrivalTime(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Period</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Period</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Period</em>' attribute.
+	 * @see #setPeriod(String)
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.TimingConstraintsPackage#getSporadicEventConstraint_Period()
+	 * @model dataType="org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.NFP_Duration" required="true" ordered="false"
+	 * @generated
+	 */
+	String getPeriod();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.SporadicEventConstraint#getPeriod <em>Period</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Period</em>' attribute.
+	 * @see #getPeriod()
+	 * @generated
+	 */
+	void setPeriod(String value);
+
+} // SporadicEventConstraint
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/TimingConstraints/TimingConstraintsFactory.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/TimingConstraints/TimingConstraintsFactory.java
new file mode 100644
index 000000000..7d17c5a00
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/TimingConstraints/TimingConstraintsFactory.java
@@ -0,0 +1,78 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.TimingConstraintsPackage
+ * @generated
+ */
+public interface TimingConstraintsFactory extends EFactory {
+	/**
+	 * The singleton instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	TimingConstraintsFactory eINSTANCE = org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.impl.TimingConstraintsFactoryImpl.init();
+
+	/**
+	 * Returns a new object of class '<em>Arbitrary Event Constraint</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Arbitrary Event Constraint</em>'.
+	 * @generated
+	 */
+	ArbitraryEventConstraint createArbitraryEventConstraint();
+
+	/**
+	 * Returns a new object of class '<em>Pattern Event Constraint</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Pattern Event Constraint</em>'.
+	 * @generated
+	 */
+	PatternEventConstraint createPatternEventConstraint();
+
+	/**
+	 * Returns a new object of class '<em>Periodic Event Constraint</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Periodic Event Constraint</em>'.
+	 * @generated
+	 */
+	PeriodicEventConstraint createPeriodicEventConstraint();
+
+	/**
+	 * Returns a new object of class '<em>Sporadic Event Constraint</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Sporadic Event Constraint</em>'.
+	 * @generated
+	 */
+	SporadicEventConstraint createSporadicEventConstraint();
+
+	/**
+	 * Returns the package supported by this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the package supported by this factory.
+	 * @generated
+	 */
+	TimingConstraintsPackage getTimingConstraintsPackage();
+
+} //TimingConstraintsFactory
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/TimingConstraints/TimingConstraintsPackage.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/TimingConstraints/TimingConstraintsPackage.java
new file mode 100644
index 000000000..108e0ad76
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/TimingConstraints/TimingConstraintsPackage.java
@@ -0,0 +1,833 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.NFPs.NFPsPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ *   <li>each class,</li>
+ *   <li>each feature of each class,</li>
+ *   <li>each enum,</li>
+ *   <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.TimingConstraintsFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface TimingConstraintsPackage extends EPackage {
+	/**
+	 * The package name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNAME = "TimingConstraints";
+
+	/**
+	 * The package namespace URI.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_URI = "http://CHESS.Predictability.TimingAnaylsis/schemas/TimingConstraints/_ShUEIMe6Ed-7etIj5eTw0Q/8";
+
+	/**
+	 * The package namespace name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_PREFIX = "TimingConstraints";
+
+	/**
+	 * The singleton instance of the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	TimingConstraintsPackage eINSTANCE = org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.impl.TimingConstraintsPackageImpl.init();
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.impl.ArbitraryEventConstraintImpl <em>Arbitrary Event Constraint</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.impl.ArbitraryEventConstraintImpl
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.impl.TimingConstraintsPackageImpl#getArbitraryEventConstraint()
+	 * @generated
+	 */
+	int ARBITRARY_EVENT_CONSTRAINT = 0;
+
+	/**
+	 * The feature id for the '<em><b>Kind</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ARBITRARY_EVENT_CONSTRAINT__KIND = NFPsPackage.NFP_CONSTRAINT__KIND;
+
+	/**
+	 * The feature id for the '<em><b>Base Constraint</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ARBITRARY_EVENT_CONSTRAINT__BASE_CONSTRAINT = NFPsPackage.NFP_CONSTRAINT__BASE_CONSTRAINT;
+
+	/**
+	 * The feature id for the '<em><b>Mode</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ARBITRARY_EVENT_CONSTRAINT__MODE = NFPsPackage.NFP_CONSTRAINT__MODE;
+
+	/**
+	 * The feature id for the '<em><b>Offset</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ARBITRARY_EVENT_CONSTRAINT__OFFSET = NFPsPackage.NFP_CONSTRAINT_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Maximum Interarrival Time</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ARBITRARY_EVENT_CONSTRAINT__MAXIMUM_INTERARRIVAL_TIME = NFPsPackage.NFP_CONSTRAINT_FEATURE_COUNT + 1;
+
+	/**
+	 * The feature id for the '<em><b>Minimum Interarrival Time</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ARBITRARY_EVENT_CONSTRAINT__MINIMUM_INTERARRIVAL_TIME = NFPsPackage.NFP_CONSTRAINT_FEATURE_COUNT + 2;
+
+	/**
+	 * The number of structural features of the '<em>Arbitrary Event Constraint</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ARBITRARY_EVENT_CONSTRAINT_FEATURE_COUNT = NFPsPackage.NFP_CONSTRAINT_FEATURE_COUNT + 3;
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.impl.PatternEventConstraintImpl <em>Pattern Event Constraint</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.impl.PatternEventConstraintImpl
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.impl.TimingConstraintsPackageImpl#getPatternEventConstraint()
+	 * @generated
+	 */
+	int PATTERN_EVENT_CONSTRAINT = 1;
+
+	/**
+	 * The feature id for the '<em><b>Kind</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PATTERN_EVENT_CONSTRAINT__KIND = NFPsPackage.NFP_CONSTRAINT__KIND;
+
+	/**
+	 * The feature id for the '<em><b>Base Constraint</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PATTERN_EVENT_CONSTRAINT__BASE_CONSTRAINT = NFPsPackage.NFP_CONSTRAINT__BASE_CONSTRAINT;
+
+	/**
+	 * The feature id for the '<em><b>Mode</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PATTERN_EVENT_CONSTRAINT__MODE = NFPsPackage.NFP_CONSTRAINT__MODE;
+
+	/**
+	 * The feature id for the '<em><b>Offset</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PATTERN_EVENT_CONSTRAINT__OFFSET = NFPsPackage.NFP_CONSTRAINT_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Jitter</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PATTERN_EVENT_CONSTRAINT__JITTER = NFPsPackage.NFP_CONSTRAINT_FEATURE_COUNT + 1;
+
+	/**
+	 * The feature id for the '<em><b>Minimum Interarrival Time</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PATTERN_EVENT_CONSTRAINT__MINIMUM_INTERARRIVAL_TIME = NFPsPackage.NFP_CONSTRAINT_FEATURE_COUNT + 2;
+
+	/**
+	 * The feature id for the '<em><b>Occurrence</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PATTERN_EVENT_CONSTRAINT__OCCURRENCE = NFPsPackage.NFP_CONSTRAINT_FEATURE_COUNT + 3;
+
+	/**
+	 * The feature id for the '<em><b>Period</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PATTERN_EVENT_CONSTRAINT__PERIOD = NFPsPackage.NFP_CONSTRAINT_FEATURE_COUNT + 4;
+
+	/**
+	 * The number of structural features of the '<em>Pattern Event Constraint</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PATTERN_EVENT_CONSTRAINT_FEATURE_COUNT = NFPsPackage.NFP_CONSTRAINT_FEATURE_COUNT + 5;
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.impl.PeriodicEventConstraintImpl <em>Periodic Event Constraint</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.impl.PeriodicEventConstraintImpl
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.impl.TimingConstraintsPackageImpl#getPeriodicEventConstraint()
+	 * @generated
+	 */
+	int PERIODIC_EVENT_CONSTRAINT = 2;
+
+	/**
+	 * The feature id for the '<em><b>Kind</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PERIODIC_EVENT_CONSTRAINT__KIND = NFPsPackage.NFP_CONSTRAINT__KIND;
+
+	/**
+	 * The feature id for the '<em><b>Base Constraint</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PERIODIC_EVENT_CONSTRAINT__BASE_CONSTRAINT = NFPsPackage.NFP_CONSTRAINT__BASE_CONSTRAINT;
+
+	/**
+	 * The feature id for the '<em><b>Mode</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PERIODIC_EVENT_CONSTRAINT__MODE = NFPsPackage.NFP_CONSTRAINT__MODE;
+
+	/**
+	 * The feature id for the '<em><b>Offset</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PERIODIC_EVENT_CONSTRAINT__OFFSET = NFPsPackage.NFP_CONSTRAINT_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Jitter</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PERIODIC_EVENT_CONSTRAINT__JITTER = NFPsPackage.NFP_CONSTRAINT_FEATURE_COUNT + 1;
+
+	/**
+	 * The feature id for the '<em><b>Minimum Interarrival Time</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PERIODIC_EVENT_CONSTRAINT__MINIMUM_INTERARRIVAL_TIME = NFPsPackage.NFP_CONSTRAINT_FEATURE_COUNT + 2;
+
+	/**
+	 * The feature id for the '<em><b>Period</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PERIODIC_EVENT_CONSTRAINT__PERIOD = NFPsPackage.NFP_CONSTRAINT_FEATURE_COUNT + 3;
+
+	/**
+	 * The number of structural features of the '<em>Periodic Event Constraint</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PERIODIC_EVENT_CONSTRAINT_FEATURE_COUNT = NFPsPackage.NFP_CONSTRAINT_FEATURE_COUNT + 4;
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.impl.SporadicEventConstraintImpl <em>Sporadic Event Constraint</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.impl.SporadicEventConstraintImpl
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.impl.TimingConstraintsPackageImpl#getSporadicEventConstraint()
+	 * @generated
+	 */
+	int SPORADIC_EVENT_CONSTRAINT = 3;
+
+	/**
+	 * The feature id for the '<em><b>Kind</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SPORADIC_EVENT_CONSTRAINT__KIND = NFPsPackage.NFP_CONSTRAINT__KIND;
+
+	/**
+	 * The feature id for the '<em><b>Base Constraint</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SPORADIC_EVENT_CONSTRAINT__BASE_CONSTRAINT = NFPsPackage.NFP_CONSTRAINT__BASE_CONSTRAINT;
+
+	/**
+	 * The feature id for the '<em><b>Mode</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SPORADIC_EVENT_CONSTRAINT__MODE = NFPsPackage.NFP_CONSTRAINT__MODE;
+
+	/**
+	 * The feature id for the '<em><b>Offset</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SPORADIC_EVENT_CONSTRAINT__OFFSET = NFPsPackage.NFP_CONSTRAINT_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Jitter</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SPORADIC_EVENT_CONSTRAINT__JITTER = NFPsPackage.NFP_CONSTRAINT_FEATURE_COUNT + 1;
+
+	/**
+	 * The feature id for the '<em><b>Maximum Interarrival Time</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SPORADIC_EVENT_CONSTRAINT__MAXIMUM_INTERARRIVAL_TIME = NFPsPackage.NFP_CONSTRAINT_FEATURE_COUNT + 2;
+
+	/**
+	 * The feature id for the '<em><b>Minimum Interarrival Time</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SPORADIC_EVENT_CONSTRAINT__MINIMUM_INTERARRIVAL_TIME = NFPsPackage.NFP_CONSTRAINT_FEATURE_COUNT + 3;
+
+	/**
+	 * The feature id for the '<em><b>Period</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SPORADIC_EVENT_CONSTRAINT__PERIOD = NFPsPackage.NFP_CONSTRAINT_FEATURE_COUNT + 4;
+
+	/**
+	 * The number of structural features of the '<em>Sporadic Event Constraint</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SPORADIC_EVENT_CONSTRAINT_FEATURE_COUNT = NFPsPackage.NFP_CONSTRAINT_FEATURE_COUNT + 5;
+
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.ArbitraryEventConstraint <em>Arbitrary Event Constraint</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Arbitrary Event Constraint</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.ArbitraryEventConstraint
+	 * @generated
+	 */
+	EClass getArbitraryEventConstraint();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.ArbitraryEventConstraint#getOffset <em>Offset</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Offset</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.ArbitraryEventConstraint#getOffset()
+	 * @see #getArbitraryEventConstraint()
+	 * @generated
+	 */
+	EAttribute getArbitraryEventConstraint_Offset();
+
+	/**
+	 * Returns the meta object for the attribute list '{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.ArbitraryEventConstraint#getMaximumInterarrivalTime <em>Maximum Interarrival Time</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute list '<em>Maximum Interarrival Time</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.ArbitraryEventConstraint#getMaximumInterarrivalTime()
+	 * @see #getArbitraryEventConstraint()
+	 * @generated
+	 */
+	EAttribute getArbitraryEventConstraint_MaximumInterarrivalTime();
+
+	/**
+	 * Returns the meta object for the attribute list '{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.ArbitraryEventConstraint#getMinimumInterarrivalTime <em>Minimum Interarrival Time</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute list '<em>Minimum Interarrival Time</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.ArbitraryEventConstraint#getMinimumInterarrivalTime()
+	 * @see #getArbitraryEventConstraint()
+	 * @generated
+	 */
+	EAttribute getArbitraryEventConstraint_MinimumInterarrivalTime();
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.PatternEventConstraint <em>Pattern Event Constraint</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Pattern Event Constraint</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.PatternEventConstraint
+	 * @generated
+	 */
+	EClass getPatternEventConstraint();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.PatternEventConstraint#getOffset <em>Offset</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Offset</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.PatternEventConstraint#getOffset()
+	 * @see #getPatternEventConstraint()
+	 * @generated
+	 */
+	EAttribute getPatternEventConstraint_Offset();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.PatternEventConstraint#getJitter <em>Jitter</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Jitter</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.PatternEventConstraint#getJitter()
+	 * @see #getPatternEventConstraint()
+	 * @generated
+	 */
+	EAttribute getPatternEventConstraint_Jitter();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.PatternEventConstraint#getMinimumInterarrivalTime <em>Minimum Interarrival Time</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Minimum Interarrival Time</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.PatternEventConstraint#getMinimumInterarrivalTime()
+	 * @see #getPatternEventConstraint()
+	 * @generated
+	 */
+	EAttribute getPatternEventConstraint_MinimumInterarrivalTime();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.PatternEventConstraint#getOccurrence <em>Occurrence</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Occurrence</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.PatternEventConstraint#getOccurrence()
+	 * @see #getPatternEventConstraint()
+	 * @generated
+	 */
+	EAttribute getPatternEventConstraint_Occurrence();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.PatternEventConstraint#getPeriod <em>Period</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Period</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.PatternEventConstraint#getPeriod()
+	 * @see #getPatternEventConstraint()
+	 * @generated
+	 */
+	EAttribute getPatternEventConstraint_Period();
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.PeriodicEventConstraint <em>Periodic Event Constraint</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Periodic Event Constraint</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.PeriodicEventConstraint
+	 * @generated
+	 */
+	EClass getPeriodicEventConstraint();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.PeriodicEventConstraint#getOffset <em>Offset</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Offset</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.PeriodicEventConstraint#getOffset()
+	 * @see #getPeriodicEventConstraint()
+	 * @generated
+	 */
+	EAttribute getPeriodicEventConstraint_Offset();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.PeriodicEventConstraint#getJitter <em>Jitter</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Jitter</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.PeriodicEventConstraint#getJitter()
+	 * @see #getPeriodicEventConstraint()
+	 * @generated
+	 */
+	EAttribute getPeriodicEventConstraint_Jitter();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.PeriodicEventConstraint#getMinimumInterarrivalTime <em>Minimum Interarrival Time</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Minimum Interarrival Time</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.PeriodicEventConstraint#getMinimumInterarrivalTime()
+	 * @see #getPeriodicEventConstraint()
+	 * @generated
+	 */
+	EAttribute getPeriodicEventConstraint_MinimumInterarrivalTime();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.PeriodicEventConstraint#getPeriod <em>Period</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Period</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.PeriodicEventConstraint#getPeriod()
+	 * @see #getPeriodicEventConstraint()
+	 * @generated
+	 */
+	EAttribute getPeriodicEventConstraint_Period();
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.SporadicEventConstraint <em>Sporadic Event Constraint</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Sporadic Event Constraint</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.SporadicEventConstraint
+	 * @generated
+	 */
+	EClass getSporadicEventConstraint();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.SporadicEventConstraint#getOffset <em>Offset</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Offset</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.SporadicEventConstraint#getOffset()
+	 * @see #getSporadicEventConstraint()
+	 * @generated
+	 */
+	EAttribute getSporadicEventConstraint_Offset();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.SporadicEventConstraint#getJitter <em>Jitter</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Jitter</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.SporadicEventConstraint#getJitter()
+	 * @see #getSporadicEventConstraint()
+	 * @generated
+	 */
+	EAttribute getSporadicEventConstraint_Jitter();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.SporadicEventConstraint#getMaximumInterarrivalTime <em>Maximum Interarrival Time</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Maximum Interarrival Time</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.SporadicEventConstraint#getMaximumInterarrivalTime()
+	 * @see #getSporadicEventConstraint()
+	 * @generated
+	 */
+	EAttribute getSporadicEventConstraint_MaximumInterarrivalTime();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.SporadicEventConstraint#getMinimumInterarrivalTime <em>Minimum Interarrival Time</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Minimum Interarrival Time</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.SporadicEventConstraint#getMinimumInterarrivalTime()
+	 * @see #getSporadicEventConstraint()
+	 * @generated
+	 */
+	EAttribute getSporadicEventConstraint_MinimumInterarrivalTime();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.SporadicEventConstraint#getPeriod <em>Period</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Period</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.SporadicEventConstraint#getPeriod()
+	 * @see #getSporadicEventConstraint()
+	 * @generated
+	 */
+	EAttribute getSporadicEventConstraint_Period();
+
+	/**
+	 * Returns the factory that creates the instances of the model.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the factory that creates the instances of the model.
+	 * @generated
+	 */
+	TimingConstraintsFactory getTimingConstraintsFactory();
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * Defines literals for the meta objects that represent
+	 * <ul>
+	 *   <li>each class,</li>
+	 *   <li>each feature of each class,</li>
+	 *   <li>each enum,</li>
+	 *   <li>and each data type</li>
+	 * </ul>
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	interface Literals {
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.impl.ArbitraryEventConstraintImpl <em>Arbitrary Event Constraint</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.impl.ArbitraryEventConstraintImpl
+		 * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.impl.TimingConstraintsPackageImpl#getArbitraryEventConstraint()
+		 * @generated
+		 */
+		EClass ARBITRARY_EVENT_CONSTRAINT = eINSTANCE.getArbitraryEventConstraint();
+
+		/**
+		 * The meta object literal for the '<em><b>Offset</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute ARBITRARY_EVENT_CONSTRAINT__OFFSET = eINSTANCE.getArbitraryEventConstraint_Offset();
+
+		/**
+		 * The meta object literal for the '<em><b>Maximum Interarrival Time</b></em>' attribute list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute ARBITRARY_EVENT_CONSTRAINT__MAXIMUM_INTERARRIVAL_TIME = eINSTANCE.getArbitraryEventConstraint_MaximumInterarrivalTime();
+
+		/**
+		 * The meta object literal for the '<em><b>Minimum Interarrival Time</b></em>' attribute list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute ARBITRARY_EVENT_CONSTRAINT__MINIMUM_INTERARRIVAL_TIME = eINSTANCE.getArbitraryEventConstraint_MinimumInterarrivalTime();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.impl.PatternEventConstraintImpl <em>Pattern Event Constraint</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.impl.PatternEventConstraintImpl
+		 * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.impl.TimingConstraintsPackageImpl#getPatternEventConstraint()
+		 * @generated
+		 */
+		EClass PATTERN_EVENT_CONSTRAINT = eINSTANCE.getPatternEventConstraint();
+
+		/**
+		 * The meta object literal for the '<em><b>Offset</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute PATTERN_EVENT_CONSTRAINT__OFFSET = eINSTANCE.getPatternEventConstraint_Offset();
+
+		/**
+		 * The meta object literal for the '<em><b>Jitter</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute PATTERN_EVENT_CONSTRAINT__JITTER = eINSTANCE.getPatternEventConstraint_Jitter();
+
+		/**
+		 * The meta object literal for the '<em><b>Minimum Interarrival Time</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute PATTERN_EVENT_CONSTRAINT__MINIMUM_INTERARRIVAL_TIME = eINSTANCE.getPatternEventConstraint_MinimumInterarrivalTime();
+
+		/**
+		 * The meta object literal for the '<em><b>Occurrence</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute PATTERN_EVENT_CONSTRAINT__OCCURRENCE = eINSTANCE.getPatternEventConstraint_Occurrence();
+
+		/**
+		 * The meta object literal for the '<em><b>Period</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute PATTERN_EVENT_CONSTRAINT__PERIOD = eINSTANCE.getPatternEventConstraint_Period();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.impl.PeriodicEventConstraintImpl <em>Periodic Event Constraint</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.impl.PeriodicEventConstraintImpl
+		 * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.impl.TimingConstraintsPackageImpl#getPeriodicEventConstraint()
+		 * @generated
+		 */
+		EClass PERIODIC_EVENT_CONSTRAINT = eINSTANCE.getPeriodicEventConstraint();
+
+		/**
+		 * The meta object literal for the '<em><b>Offset</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute PERIODIC_EVENT_CONSTRAINT__OFFSET = eINSTANCE.getPeriodicEventConstraint_Offset();
+
+		/**
+		 * The meta object literal for the '<em><b>Jitter</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute PERIODIC_EVENT_CONSTRAINT__JITTER = eINSTANCE.getPeriodicEventConstraint_Jitter();
+
+		/**
+		 * The meta object literal for the '<em><b>Minimum Interarrival Time</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute PERIODIC_EVENT_CONSTRAINT__MINIMUM_INTERARRIVAL_TIME = eINSTANCE.getPeriodicEventConstraint_MinimumInterarrivalTime();
+
+		/**
+		 * The meta object literal for the '<em><b>Period</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute PERIODIC_EVENT_CONSTRAINT__PERIOD = eINSTANCE.getPeriodicEventConstraint_Period();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.impl.SporadicEventConstraintImpl <em>Sporadic Event Constraint</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.impl.SporadicEventConstraintImpl
+		 * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.impl.TimingConstraintsPackageImpl#getSporadicEventConstraint()
+		 * @generated
+		 */
+		EClass SPORADIC_EVENT_CONSTRAINT = eINSTANCE.getSporadicEventConstraint();
+
+		/**
+		 * The meta object literal for the '<em><b>Offset</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute SPORADIC_EVENT_CONSTRAINT__OFFSET = eINSTANCE.getSporadicEventConstraint_Offset();
+
+		/**
+		 * The meta object literal for the '<em><b>Jitter</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute SPORADIC_EVENT_CONSTRAINT__JITTER = eINSTANCE.getSporadicEventConstraint_Jitter();
+
+		/**
+		 * The meta object literal for the '<em><b>Maximum Interarrival Time</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute SPORADIC_EVENT_CONSTRAINT__MAXIMUM_INTERARRIVAL_TIME = eINSTANCE.getSporadicEventConstraint_MaximumInterarrivalTime();
+
+		/**
+		 * The meta object literal for the '<em><b>Minimum Interarrival Time</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute SPORADIC_EVENT_CONSTRAINT__MINIMUM_INTERARRIVAL_TIME = eINSTANCE.getSporadicEventConstraint_MinimumInterarrivalTime();
+
+		/**
+		 * The meta object literal for the '<em><b>Period</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute SPORADIC_EVENT_CONSTRAINT__PERIOD = eINSTANCE.getSporadicEventConstraint_Period();
+
+	}
+
+} //TimingConstraintsPackage
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/TimingConstraints/impl/ArbitraryEventConstraintImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/TimingConstraints/impl/ArbitraryEventConstraintImpl.java
new file mode 100644
index 000000000..b9a5ac346
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/TimingConstraints/impl/ArbitraryEventConstraintImpl.java
@@ -0,0 +1,246 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EDataTypeUniqueEList;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.NFPs.impl.NfpConstraintImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.ArbitraryEventConstraint;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.TimingConstraintsPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Arbitrary Event Constraint</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.impl.ArbitraryEventConstraintImpl#getOffset <em>Offset</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.impl.ArbitraryEventConstraintImpl#getMaximumInterarrivalTime <em>Maximum Interarrival Time</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.impl.ArbitraryEventConstraintImpl#getMinimumInterarrivalTime <em>Minimum Interarrival Time</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ArbitraryEventConstraintImpl extends NfpConstraintImpl implements ArbitraryEventConstraint {
+	/**
+	 * The default value of the '{@link #getOffset() <em>Offset</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getOffset()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String OFFSET_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getOffset() <em>Offset</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getOffset()
+	 * @generated
+	 * @ordered
+	 */
+	protected String offset = OFFSET_EDEFAULT;
+
+	/**
+	 * The cached value of the '{@link #getMaximumInterarrivalTime() <em>Maximum Interarrival Time</em>}' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getMaximumInterarrivalTime()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<String> maximumInterarrivalTime;
+
+	/**
+	 * The cached value of the '{@link #getMinimumInterarrivalTime() <em>Minimum Interarrival Time</em>}' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getMinimumInterarrivalTime()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<String> minimumInterarrivalTime;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ArbitraryEventConstraintImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return TimingConstraintsPackage.Literals.ARBITRARY_EVENT_CONSTRAINT;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getOffset() {
+		return offset;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setOffset(String newOffset) {
+		String oldOffset = offset;
+		offset = newOffset;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, TimingConstraintsPackage.ARBITRARY_EVENT_CONSTRAINT__OFFSET, oldOffset, offset));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<String> getMaximumInterarrivalTime() {
+		if (maximumInterarrivalTime == null) {
+			maximumInterarrivalTime = new EDataTypeUniqueEList<String>(String.class, this, TimingConstraintsPackage.ARBITRARY_EVENT_CONSTRAINT__MAXIMUM_INTERARRIVAL_TIME);
+		}
+		return maximumInterarrivalTime;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<String> getMinimumInterarrivalTime() {
+		if (minimumInterarrivalTime == null) {
+			minimumInterarrivalTime = new EDataTypeUniqueEList<String>(String.class, this, TimingConstraintsPackage.ARBITRARY_EVENT_CONSTRAINT__MINIMUM_INTERARRIVAL_TIME);
+		}
+		return minimumInterarrivalTime;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case TimingConstraintsPackage.ARBITRARY_EVENT_CONSTRAINT__OFFSET:
+				return getOffset();
+			case TimingConstraintsPackage.ARBITRARY_EVENT_CONSTRAINT__MAXIMUM_INTERARRIVAL_TIME:
+				return getMaximumInterarrivalTime();
+			case TimingConstraintsPackage.ARBITRARY_EVENT_CONSTRAINT__MINIMUM_INTERARRIVAL_TIME:
+				return getMinimumInterarrivalTime();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case TimingConstraintsPackage.ARBITRARY_EVENT_CONSTRAINT__OFFSET:
+				setOffset((String)newValue);
+				return;
+			case TimingConstraintsPackage.ARBITRARY_EVENT_CONSTRAINT__MAXIMUM_INTERARRIVAL_TIME:
+				getMaximumInterarrivalTime().clear();
+				getMaximumInterarrivalTime().addAll((Collection<? extends String>)newValue);
+				return;
+			case TimingConstraintsPackage.ARBITRARY_EVENT_CONSTRAINT__MINIMUM_INTERARRIVAL_TIME:
+				getMinimumInterarrivalTime().clear();
+				getMinimumInterarrivalTime().addAll((Collection<? extends String>)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case TimingConstraintsPackage.ARBITRARY_EVENT_CONSTRAINT__OFFSET:
+				setOffset(OFFSET_EDEFAULT);
+				return;
+			case TimingConstraintsPackage.ARBITRARY_EVENT_CONSTRAINT__MAXIMUM_INTERARRIVAL_TIME:
+				getMaximumInterarrivalTime().clear();
+				return;
+			case TimingConstraintsPackage.ARBITRARY_EVENT_CONSTRAINT__MINIMUM_INTERARRIVAL_TIME:
+				getMinimumInterarrivalTime().clear();
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case TimingConstraintsPackage.ARBITRARY_EVENT_CONSTRAINT__OFFSET:
+				return OFFSET_EDEFAULT == null ? offset != null : !OFFSET_EDEFAULT.equals(offset);
+			case TimingConstraintsPackage.ARBITRARY_EVENT_CONSTRAINT__MAXIMUM_INTERARRIVAL_TIME:
+				return maximumInterarrivalTime != null && !maximumInterarrivalTime.isEmpty();
+			case TimingConstraintsPackage.ARBITRARY_EVENT_CONSTRAINT__MINIMUM_INTERARRIVAL_TIME:
+				return minimumInterarrivalTime != null && !minimumInterarrivalTime.isEmpty();
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (offset: ");
+		result.append(offset);
+		result.append(", maximumInterarrivalTime: ");
+		result.append(maximumInterarrivalTime);
+		result.append(", minimumInterarrivalTime: ");
+		result.append(minimumInterarrivalTime);
+		result.append(')');
+		return result.toString();
+	}
+
+} //ArbitraryEventConstraintImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/TimingConstraints/impl/PatternEventConstraintImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/TimingConstraints/impl/PatternEventConstraintImpl.java
new file mode 100644
index 000000000..188fb394f
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/TimingConstraints/impl/PatternEventConstraintImpl.java
@@ -0,0 +1,385 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.NFPs.impl.NfpConstraintImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.PatternEventConstraint;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.TimingConstraintsPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Pattern Event Constraint</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.impl.PatternEventConstraintImpl#getOffset <em>Offset</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.impl.PatternEventConstraintImpl#getJitter <em>Jitter</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.impl.PatternEventConstraintImpl#getMinimumInterarrivalTime <em>Minimum Interarrival Time</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.impl.PatternEventConstraintImpl#getOccurrence <em>Occurrence</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.impl.PatternEventConstraintImpl#getPeriod <em>Period</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class PatternEventConstraintImpl extends NfpConstraintImpl implements PatternEventConstraint {
+	/**
+	 * The default value of the '{@link #getOffset() <em>Offset</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getOffset()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String OFFSET_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getOffset() <em>Offset</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getOffset()
+	 * @generated
+	 * @ordered
+	 */
+	protected String offset = OFFSET_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getJitter() <em>Jitter</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getJitter()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String JITTER_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getJitter() <em>Jitter</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getJitter()
+	 * @generated
+	 * @ordered
+	 */
+	protected String jitter = JITTER_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getMinimumInterarrivalTime() <em>Minimum Interarrival Time</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getMinimumInterarrivalTime()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String MINIMUM_INTERARRIVAL_TIME_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getMinimumInterarrivalTime() <em>Minimum Interarrival Time</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getMinimumInterarrivalTime()
+	 * @generated
+	 * @ordered
+	 */
+	protected String minimumInterarrivalTime = MINIMUM_INTERARRIVAL_TIME_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getOccurrence() <em>Occurrence</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getOccurrence()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String OCCURRENCE_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getOccurrence() <em>Occurrence</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getOccurrence()
+	 * @generated
+	 * @ordered
+	 */
+	protected String occurrence = OCCURRENCE_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getPeriod() <em>Period</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getPeriod()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String PERIOD_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getPeriod() <em>Period</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getPeriod()
+	 * @generated
+	 * @ordered
+	 */
+	protected String period = PERIOD_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected PatternEventConstraintImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return TimingConstraintsPackage.Literals.PATTERN_EVENT_CONSTRAINT;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getOffset() {
+		return offset;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setOffset(String newOffset) {
+		String oldOffset = offset;
+		offset = newOffset;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, TimingConstraintsPackage.PATTERN_EVENT_CONSTRAINT__OFFSET, oldOffset, offset));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getJitter() {
+		return jitter;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setJitter(String newJitter) {
+		String oldJitter = jitter;
+		jitter = newJitter;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, TimingConstraintsPackage.PATTERN_EVENT_CONSTRAINT__JITTER, oldJitter, jitter));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getMinimumInterarrivalTime() {
+		return minimumInterarrivalTime;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setMinimumInterarrivalTime(String newMinimumInterarrivalTime) {
+		String oldMinimumInterarrivalTime = minimumInterarrivalTime;
+		minimumInterarrivalTime = newMinimumInterarrivalTime;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, TimingConstraintsPackage.PATTERN_EVENT_CONSTRAINT__MINIMUM_INTERARRIVAL_TIME, oldMinimumInterarrivalTime, minimumInterarrivalTime));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getOccurrence() {
+		return occurrence;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setOccurrence(String newOccurrence) {
+		String oldOccurrence = occurrence;
+		occurrence = newOccurrence;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, TimingConstraintsPackage.PATTERN_EVENT_CONSTRAINT__OCCURRENCE, oldOccurrence, occurrence));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getPeriod() {
+		return period;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setPeriod(String newPeriod) {
+		String oldPeriod = period;
+		period = newPeriod;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, TimingConstraintsPackage.PATTERN_EVENT_CONSTRAINT__PERIOD, oldPeriod, period));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case TimingConstraintsPackage.PATTERN_EVENT_CONSTRAINT__OFFSET:
+				return getOffset();
+			case TimingConstraintsPackage.PATTERN_EVENT_CONSTRAINT__JITTER:
+				return getJitter();
+			case TimingConstraintsPackage.PATTERN_EVENT_CONSTRAINT__MINIMUM_INTERARRIVAL_TIME:
+				return getMinimumInterarrivalTime();
+			case TimingConstraintsPackage.PATTERN_EVENT_CONSTRAINT__OCCURRENCE:
+				return getOccurrence();
+			case TimingConstraintsPackage.PATTERN_EVENT_CONSTRAINT__PERIOD:
+				return getPeriod();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case TimingConstraintsPackage.PATTERN_EVENT_CONSTRAINT__OFFSET:
+				setOffset((String)newValue);
+				return;
+			case TimingConstraintsPackage.PATTERN_EVENT_CONSTRAINT__JITTER:
+				setJitter((String)newValue);
+				return;
+			case TimingConstraintsPackage.PATTERN_EVENT_CONSTRAINT__MINIMUM_INTERARRIVAL_TIME:
+				setMinimumInterarrivalTime((String)newValue);
+				return;
+			case TimingConstraintsPackage.PATTERN_EVENT_CONSTRAINT__OCCURRENCE:
+				setOccurrence((String)newValue);
+				return;
+			case TimingConstraintsPackage.PATTERN_EVENT_CONSTRAINT__PERIOD:
+				setPeriod((String)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case TimingConstraintsPackage.PATTERN_EVENT_CONSTRAINT__OFFSET:
+				setOffset(OFFSET_EDEFAULT);
+				return;
+			case TimingConstraintsPackage.PATTERN_EVENT_CONSTRAINT__JITTER:
+				setJitter(JITTER_EDEFAULT);
+				return;
+			case TimingConstraintsPackage.PATTERN_EVENT_CONSTRAINT__MINIMUM_INTERARRIVAL_TIME:
+				setMinimumInterarrivalTime(MINIMUM_INTERARRIVAL_TIME_EDEFAULT);
+				return;
+			case TimingConstraintsPackage.PATTERN_EVENT_CONSTRAINT__OCCURRENCE:
+				setOccurrence(OCCURRENCE_EDEFAULT);
+				return;
+			case TimingConstraintsPackage.PATTERN_EVENT_CONSTRAINT__PERIOD:
+				setPeriod(PERIOD_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case TimingConstraintsPackage.PATTERN_EVENT_CONSTRAINT__OFFSET:
+				return OFFSET_EDEFAULT == null ? offset != null : !OFFSET_EDEFAULT.equals(offset);
+			case TimingConstraintsPackage.PATTERN_EVENT_CONSTRAINT__JITTER:
+				return JITTER_EDEFAULT == null ? jitter != null : !JITTER_EDEFAULT.equals(jitter);
+			case TimingConstraintsPackage.PATTERN_EVENT_CONSTRAINT__MINIMUM_INTERARRIVAL_TIME:
+				return MINIMUM_INTERARRIVAL_TIME_EDEFAULT == null ? minimumInterarrivalTime != null : !MINIMUM_INTERARRIVAL_TIME_EDEFAULT.equals(minimumInterarrivalTime);
+			case TimingConstraintsPackage.PATTERN_EVENT_CONSTRAINT__OCCURRENCE:
+				return OCCURRENCE_EDEFAULT == null ? occurrence != null : !OCCURRENCE_EDEFAULT.equals(occurrence);
+			case TimingConstraintsPackage.PATTERN_EVENT_CONSTRAINT__PERIOD:
+				return PERIOD_EDEFAULT == null ? period != null : !PERIOD_EDEFAULT.equals(period);
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (offset: ");
+		result.append(offset);
+		result.append(", jitter: ");
+		result.append(jitter);
+		result.append(", minimumInterarrivalTime: ");
+		result.append(minimumInterarrivalTime);
+		result.append(", occurrence: ");
+		result.append(occurrence);
+		result.append(", period: ");
+		result.append(period);
+		result.append(')');
+		return result.toString();
+	}
+
+} //PatternEventConstraintImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/TimingConstraints/impl/PeriodicEventConstraintImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/TimingConstraints/impl/PeriodicEventConstraintImpl.java
new file mode 100644
index 000000000..855f150aa
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/TimingConstraints/impl/PeriodicEventConstraintImpl.java
@@ -0,0 +1,331 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.NFPs.impl.NfpConstraintImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.PeriodicEventConstraint;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.TimingConstraintsPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Periodic Event Constraint</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.impl.PeriodicEventConstraintImpl#getOffset <em>Offset</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.impl.PeriodicEventConstraintImpl#getJitter <em>Jitter</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.impl.PeriodicEventConstraintImpl#getMinimumInterarrivalTime <em>Minimum Interarrival Time</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.impl.PeriodicEventConstraintImpl#getPeriod <em>Period</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class PeriodicEventConstraintImpl extends NfpConstraintImpl implements PeriodicEventConstraint {
+	/**
+	 * The default value of the '{@link #getOffset() <em>Offset</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getOffset()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String OFFSET_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getOffset() <em>Offset</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getOffset()
+	 * @generated
+	 * @ordered
+	 */
+	protected String offset = OFFSET_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getJitter() <em>Jitter</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getJitter()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String JITTER_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getJitter() <em>Jitter</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getJitter()
+	 * @generated
+	 * @ordered
+	 */
+	protected String jitter = JITTER_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getMinimumInterarrivalTime() <em>Minimum Interarrival Time</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getMinimumInterarrivalTime()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String MINIMUM_INTERARRIVAL_TIME_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getMinimumInterarrivalTime() <em>Minimum Interarrival Time</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getMinimumInterarrivalTime()
+	 * @generated
+	 * @ordered
+	 */
+	protected String minimumInterarrivalTime = MINIMUM_INTERARRIVAL_TIME_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getPeriod() <em>Period</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getPeriod()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String PERIOD_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getPeriod() <em>Period</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getPeriod()
+	 * @generated
+	 * @ordered
+	 */
+	protected String period = PERIOD_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected PeriodicEventConstraintImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return TimingConstraintsPackage.Literals.PERIODIC_EVENT_CONSTRAINT;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getOffset() {
+		return offset;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setOffset(String newOffset) {
+		String oldOffset = offset;
+		offset = newOffset;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, TimingConstraintsPackage.PERIODIC_EVENT_CONSTRAINT__OFFSET, oldOffset, offset));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getJitter() {
+		return jitter;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setJitter(String newJitter) {
+		String oldJitter = jitter;
+		jitter = newJitter;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, TimingConstraintsPackage.PERIODIC_EVENT_CONSTRAINT__JITTER, oldJitter, jitter));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getMinimumInterarrivalTime() {
+		return minimumInterarrivalTime;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setMinimumInterarrivalTime(String newMinimumInterarrivalTime) {
+		String oldMinimumInterarrivalTime = minimumInterarrivalTime;
+		minimumInterarrivalTime = newMinimumInterarrivalTime;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, TimingConstraintsPackage.PERIODIC_EVENT_CONSTRAINT__MINIMUM_INTERARRIVAL_TIME, oldMinimumInterarrivalTime, minimumInterarrivalTime));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getPeriod() {
+		return period;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setPeriod(String newPeriod) {
+		String oldPeriod = period;
+		period = newPeriod;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, TimingConstraintsPackage.PERIODIC_EVENT_CONSTRAINT__PERIOD, oldPeriod, period));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case TimingConstraintsPackage.PERIODIC_EVENT_CONSTRAINT__OFFSET:
+				return getOffset();
+			case TimingConstraintsPackage.PERIODIC_EVENT_CONSTRAINT__JITTER:
+				return getJitter();
+			case TimingConstraintsPackage.PERIODIC_EVENT_CONSTRAINT__MINIMUM_INTERARRIVAL_TIME:
+				return getMinimumInterarrivalTime();
+			case TimingConstraintsPackage.PERIODIC_EVENT_CONSTRAINT__PERIOD:
+				return getPeriod();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case TimingConstraintsPackage.PERIODIC_EVENT_CONSTRAINT__OFFSET:
+				setOffset((String)newValue);
+				return;
+			case TimingConstraintsPackage.PERIODIC_EVENT_CONSTRAINT__JITTER:
+				setJitter((String)newValue);
+				return;
+			case TimingConstraintsPackage.PERIODIC_EVENT_CONSTRAINT__MINIMUM_INTERARRIVAL_TIME:
+				setMinimumInterarrivalTime((String)newValue);
+				return;
+			case TimingConstraintsPackage.PERIODIC_EVENT_CONSTRAINT__PERIOD:
+				setPeriod((String)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case TimingConstraintsPackage.PERIODIC_EVENT_CONSTRAINT__OFFSET:
+				setOffset(OFFSET_EDEFAULT);
+				return;
+			case TimingConstraintsPackage.PERIODIC_EVENT_CONSTRAINT__JITTER:
+				setJitter(JITTER_EDEFAULT);
+				return;
+			case TimingConstraintsPackage.PERIODIC_EVENT_CONSTRAINT__MINIMUM_INTERARRIVAL_TIME:
+				setMinimumInterarrivalTime(MINIMUM_INTERARRIVAL_TIME_EDEFAULT);
+				return;
+			case TimingConstraintsPackage.PERIODIC_EVENT_CONSTRAINT__PERIOD:
+				setPeriod(PERIOD_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case TimingConstraintsPackage.PERIODIC_EVENT_CONSTRAINT__OFFSET:
+				return OFFSET_EDEFAULT == null ? offset != null : !OFFSET_EDEFAULT.equals(offset);
+			case TimingConstraintsPackage.PERIODIC_EVENT_CONSTRAINT__JITTER:
+				return JITTER_EDEFAULT == null ? jitter != null : !JITTER_EDEFAULT.equals(jitter);
+			case TimingConstraintsPackage.PERIODIC_EVENT_CONSTRAINT__MINIMUM_INTERARRIVAL_TIME:
+				return MINIMUM_INTERARRIVAL_TIME_EDEFAULT == null ? minimumInterarrivalTime != null : !MINIMUM_INTERARRIVAL_TIME_EDEFAULT.equals(minimumInterarrivalTime);
+			case TimingConstraintsPackage.PERIODIC_EVENT_CONSTRAINT__PERIOD:
+				return PERIOD_EDEFAULT == null ? period != null : !PERIOD_EDEFAULT.equals(period);
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (offset: ");
+		result.append(offset);
+		result.append(", jitter: ");
+		result.append(jitter);
+		result.append(", minimumInterarrivalTime: ");
+		result.append(minimumInterarrivalTime);
+		result.append(", period: ");
+		result.append(period);
+		result.append(')');
+		return result.toString();
+	}
+
+} //PeriodicEventConstraintImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/TimingConstraints/impl/SporadicEventConstraintImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/TimingConstraints/impl/SporadicEventConstraintImpl.java
new file mode 100644
index 000000000..56900651e
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/TimingConstraints/impl/SporadicEventConstraintImpl.java
@@ -0,0 +1,385 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.NFPs.impl.NfpConstraintImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.SporadicEventConstraint;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.TimingConstraintsPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Sporadic Event Constraint</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.impl.SporadicEventConstraintImpl#getOffset <em>Offset</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.impl.SporadicEventConstraintImpl#getJitter <em>Jitter</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.impl.SporadicEventConstraintImpl#getMaximumInterarrivalTime <em>Maximum Interarrival Time</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.impl.SporadicEventConstraintImpl#getMinimumInterarrivalTime <em>Minimum Interarrival Time</em>}</li>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.impl.SporadicEventConstraintImpl#getPeriod <em>Period</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class SporadicEventConstraintImpl extends NfpConstraintImpl implements SporadicEventConstraint {
+	/**
+	 * The default value of the '{@link #getOffset() <em>Offset</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getOffset()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String OFFSET_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getOffset() <em>Offset</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getOffset()
+	 * @generated
+	 * @ordered
+	 */
+	protected String offset = OFFSET_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getJitter() <em>Jitter</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getJitter()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String JITTER_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getJitter() <em>Jitter</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getJitter()
+	 * @generated
+	 * @ordered
+	 */
+	protected String jitter = JITTER_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getMaximumInterarrivalTime() <em>Maximum Interarrival Time</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getMaximumInterarrivalTime()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String MAXIMUM_INTERARRIVAL_TIME_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getMaximumInterarrivalTime() <em>Maximum Interarrival Time</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getMaximumInterarrivalTime()
+	 * @generated
+	 * @ordered
+	 */
+	protected String maximumInterarrivalTime = MAXIMUM_INTERARRIVAL_TIME_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getMinimumInterarrivalTime() <em>Minimum Interarrival Time</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getMinimumInterarrivalTime()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String MINIMUM_INTERARRIVAL_TIME_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getMinimumInterarrivalTime() <em>Minimum Interarrival Time</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getMinimumInterarrivalTime()
+	 * @generated
+	 * @ordered
+	 */
+	protected String minimumInterarrivalTime = MINIMUM_INTERARRIVAL_TIME_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getPeriod() <em>Period</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getPeriod()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String PERIOD_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getPeriod() <em>Period</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getPeriod()
+	 * @generated
+	 * @ordered
+	 */
+	protected String period = PERIOD_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected SporadicEventConstraintImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return TimingConstraintsPackage.Literals.SPORADIC_EVENT_CONSTRAINT;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getOffset() {
+		return offset;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setOffset(String newOffset) {
+		String oldOffset = offset;
+		offset = newOffset;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, TimingConstraintsPackage.SPORADIC_EVENT_CONSTRAINT__OFFSET, oldOffset, offset));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getJitter() {
+		return jitter;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setJitter(String newJitter) {
+		String oldJitter = jitter;
+		jitter = newJitter;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, TimingConstraintsPackage.SPORADIC_EVENT_CONSTRAINT__JITTER, oldJitter, jitter));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getMaximumInterarrivalTime() {
+		return maximumInterarrivalTime;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setMaximumInterarrivalTime(String newMaximumInterarrivalTime) {
+		String oldMaximumInterarrivalTime = maximumInterarrivalTime;
+		maximumInterarrivalTime = newMaximumInterarrivalTime;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, TimingConstraintsPackage.SPORADIC_EVENT_CONSTRAINT__MAXIMUM_INTERARRIVAL_TIME, oldMaximumInterarrivalTime, maximumInterarrivalTime));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getMinimumInterarrivalTime() {
+		return minimumInterarrivalTime;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setMinimumInterarrivalTime(String newMinimumInterarrivalTime) {
+		String oldMinimumInterarrivalTime = minimumInterarrivalTime;
+		minimumInterarrivalTime = newMinimumInterarrivalTime;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, TimingConstraintsPackage.SPORADIC_EVENT_CONSTRAINT__MINIMUM_INTERARRIVAL_TIME, oldMinimumInterarrivalTime, minimumInterarrivalTime));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getPeriod() {
+		return period;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setPeriod(String newPeriod) {
+		String oldPeriod = period;
+		period = newPeriod;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, TimingConstraintsPackage.SPORADIC_EVENT_CONSTRAINT__PERIOD, oldPeriod, period));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case TimingConstraintsPackage.SPORADIC_EVENT_CONSTRAINT__OFFSET:
+				return getOffset();
+			case TimingConstraintsPackage.SPORADIC_EVENT_CONSTRAINT__JITTER:
+				return getJitter();
+			case TimingConstraintsPackage.SPORADIC_EVENT_CONSTRAINT__MAXIMUM_INTERARRIVAL_TIME:
+				return getMaximumInterarrivalTime();
+			case TimingConstraintsPackage.SPORADIC_EVENT_CONSTRAINT__MINIMUM_INTERARRIVAL_TIME:
+				return getMinimumInterarrivalTime();
+			case TimingConstraintsPackage.SPORADIC_EVENT_CONSTRAINT__PERIOD:
+				return getPeriod();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case TimingConstraintsPackage.SPORADIC_EVENT_CONSTRAINT__OFFSET:
+				setOffset((String)newValue);
+				return;
+			case TimingConstraintsPackage.SPORADIC_EVENT_CONSTRAINT__JITTER:
+				setJitter((String)newValue);
+				return;
+			case TimingConstraintsPackage.SPORADIC_EVENT_CONSTRAINT__MAXIMUM_INTERARRIVAL_TIME:
+				setMaximumInterarrivalTime((String)newValue);
+				return;
+			case TimingConstraintsPackage.SPORADIC_EVENT_CONSTRAINT__MINIMUM_INTERARRIVAL_TIME:
+				setMinimumInterarrivalTime((String)newValue);
+				return;
+			case TimingConstraintsPackage.SPORADIC_EVENT_CONSTRAINT__PERIOD:
+				setPeriod((String)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case TimingConstraintsPackage.SPORADIC_EVENT_CONSTRAINT__OFFSET:
+				setOffset(OFFSET_EDEFAULT);
+				return;
+			case TimingConstraintsPackage.SPORADIC_EVENT_CONSTRAINT__JITTER:
+				setJitter(JITTER_EDEFAULT);
+				return;
+			case TimingConstraintsPackage.SPORADIC_EVENT_CONSTRAINT__MAXIMUM_INTERARRIVAL_TIME:
+				setMaximumInterarrivalTime(MAXIMUM_INTERARRIVAL_TIME_EDEFAULT);
+				return;
+			case TimingConstraintsPackage.SPORADIC_EVENT_CONSTRAINT__MINIMUM_INTERARRIVAL_TIME:
+				setMinimumInterarrivalTime(MINIMUM_INTERARRIVAL_TIME_EDEFAULT);
+				return;
+			case TimingConstraintsPackage.SPORADIC_EVENT_CONSTRAINT__PERIOD:
+				setPeriod(PERIOD_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case TimingConstraintsPackage.SPORADIC_EVENT_CONSTRAINT__OFFSET:
+				return OFFSET_EDEFAULT == null ? offset != null : !OFFSET_EDEFAULT.equals(offset);
+			case TimingConstraintsPackage.SPORADIC_EVENT_CONSTRAINT__JITTER:
+				return JITTER_EDEFAULT == null ? jitter != null : !JITTER_EDEFAULT.equals(jitter);
+			case TimingConstraintsPackage.SPORADIC_EVENT_CONSTRAINT__MAXIMUM_INTERARRIVAL_TIME:
+				return MAXIMUM_INTERARRIVAL_TIME_EDEFAULT == null ? maximumInterarrivalTime != null : !MAXIMUM_INTERARRIVAL_TIME_EDEFAULT.equals(maximumInterarrivalTime);
+			case TimingConstraintsPackage.SPORADIC_EVENT_CONSTRAINT__MINIMUM_INTERARRIVAL_TIME:
+				return MINIMUM_INTERARRIVAL_TIME_EDEFAULT == null ? minimumInterarrivalTime != null : !MINIMUM_INTERARRIVAL_TIME_EDEFAULT.equals(minimumInterarrivalTime);
+			case TimingConstraintsPackage.SPORADIC_EVENT_CONSTRAINT__PERIOD:
+				return PERIOD_EDEFAULT == null ? period != null : !PERIOD_EDEFAULT.equals(period);
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (offset: ");
+		result.append(offset);
+		result.append(", jitter: ");
+		result.append(jitter);
+		result.append(", maximumInterarrivalTime: ");
+		result.append(maximumInterarrivalTime);
+		result.append(", minimumInterarrivalTime: ");
+		result.append(minimumInterarrivalTime);
+		result.append(", period: ");
+		result.append(period);
+		result.append(')');
+		return result.toString();
+	}
+
+} //SporadicEventConstraintImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/TimingConstraints/impl/TimingConstraintsFactoryImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/TimingConstraints/impl/TimingConstraintsFactoryImpl.java
new file mode 100644
index 000000000..2db7d4070
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/TimingConstraints/impl/TimingConstraintsFactoryImpl.java
@@ -0,0 +1,134 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class TimingConstraintsFactoryImpl extends EFactoryImpl implements TimingConstraintsFactory {
+	/**
+	 * Creates the default factory implementation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static TimingConstraintsFactory init() {
+		try {
+			TimingConstraintsFactory theTimingConstraintsFactory = (TimingConstraintsFactory)EPackage.Registry.INSTANCE.getEFactory(TimingConstraintsPackage.eNS_URI);
+			if (theTimingConstraintsFactory != null) {
+				return theTimingConstraintsFactory;
+			}
+		}
+		catch (Exception exception) {
+			EcorePlugin.INSTANCE.log(exception);
+		}
+		return new TimingConstraintsFactoryImpl();
+	}
+
+	/**
+	 * Creates an instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public TimingConstraintsFactoryImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EObject create(EClass eClass) {
+		switch (eClass.getClassifierID()) {
+			case TimingConstraintsPackage.ARBITRARY_EVENT_CONSTRAINT: return createArbitraryEventConstraint();
+			case TimingConstraintsPackage.PATTERN_EVENT_CONSTRAINT: return createPatternEventConstraint();
+			case TimingConstraintsPackage.PERIODIC_EVENT_CONSTRAINT: return createPeriodicEventConstraint();
+			case TimingConstraintsPackage.SPORADIC_EVENT_CONSTRAINT: return createSporadicEventConstraint();
+			default:
+				throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ArbitraryEventConstraint createArbitraryEventConstraint() {
+		ArbitraryEventConstraintImpl arbitraryEventConstraint = new ArbitraryEventConstraintImpl();
+		return arbitraryEventConstraint;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public PatternEventConstraint createPatternEventConstraint() {
+		PatternEventConstraintImpl patternEventConstraint = new PatternEventConstraintImpl();
+		return patternEventConstraint;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public PeriodicEventConstraint createPeriodicEventConstraint() {
+		PeriodicEventConstraintImpl periodicEventConstraint = new PeriodicEventConstraintImpl();
+		return periodicEventConstraint;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public SporadicEventConstraint createSporadicEventConstraint() {
+		SporadicEventConstraintImpl sporadicEventConstraint = new SporadicEventConstraintImpl();
+		return sporadicEventConstraint;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public TimingConstraintsPackage getTimingConstraintsPackage() {
+		return (TimingConstraintsPackage)getEPackage();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @deprecated
+	 * @generated
+	 */
+	@Deprecated
+	public static TimingConstraintsPackage getPackage() {
+		return TimingConstraintsPackage.eINSTANCE;
+	}
+
+} //TimingConstraintsFactoryImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/TimingConstraints/impl/TimingConstraintsPackageImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/TimingConstraints/impl/TimingConstraintsPackageImpl.java
new file mode 100644
index 000000000..9ee013195
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/TimingConstraints/impl/TimingConstraintsPackageImpl.java
@@ -0,0 +1,563 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+import org.eclipse.papyrus.MARTE.MARTEPackage;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.NFPs.NFPsPackage;
+import org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.BasicNFP_TypesPackage;
+import org.eclipse.papyrus.MARTE_Library.GRM_BasicTypes.GRM_BasicTypesPackage;
+import org.eclipse.papyrus.MARTE_Library.MARTE_DataTypes.MARTE_DataTypesPackage;
+import org.eclipse.papyrus.MARTE_Library.MARTE_PrimitivesTypes.MARTE_PrimitivesTypesPackage;
+import org.eclipse.papyrus.MARTE_Library.MeasurementUnits.MeasurementUnitsPackage;
+import org.eclipse.papyrus.MARTE_Library.RS_Library.RS_LibraryPackage;
+import org.eclipse.papyrus.MARTE_Library.TimeLibrary.TimeLibraryPackage;
+import org.eclipse.papyrus.MARTE_Library.TimeTypesLibrary.TimeTypesLibraryPackage;
+import org.polarsys.chess.chessmlprofile.chessmlprofilePackage;
+import org.polarsys.chess.chessmlprofile.ComponentModel.ComponentModelPackage;
+import org.polarsys.chess.chessmlprofile.ComponentModel.impl.ComponentModelPackageImpl;
+import org.polarsys.chess.chessmlprofile.Core.CorePackage;
+import org.polarsys.chess.chessmlprofile.Core.CHESSViews.CHESSViewsPackage;
+import org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl.CHESSViewsPackageImpl;
+import org.polarsys.chess.chessmlprofile.Core.impl.CorePackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.DataFlowCallGraph.DataFlowCallGraphPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.DataFlowCallGraph.impl.DataFlowCallGraphPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.DependableComponentPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.impl.DependableComponentPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEAPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEADataTypes.FMEADataTypesPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEADataTypes.impl.FMEADataTypesPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.impl.FMEAPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.FailurePropagationDataTypesPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.impl.FailurePropagationDataTypesPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl.FailurePropagationPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans.MitigationMeansPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans.impl.MitigationMeansPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.FaultTolerancePackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.impl.FaultTolerancePackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.MaintenanceMonitoringPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.impl.MaintenanceMonitoringPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.StateBasedAnalysisPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.impl.StateBasedAnalysisPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StateBasedComponentsPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.impl.StateBasedComponentsPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.StateBasedDataTypesPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.impl.StateBasedDataTypesPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatsPropagationPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.ThreatsPropagationPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.DeploymentConfAnalysisPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.impl.DeploymentConfAnalysisPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HardwareBaselinePackage;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.HardwareBaselinePackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTComponentModelPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.RTDataTypesPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.impl.RTDataTypesPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.impl.RTComponentModelPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingAnalysisPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.ArbitraryEventConstraint;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.PatternEventConstraint;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.PeriodicEventConstraint;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.SporadicEventConstraint;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.TimingConstraintsFactory;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.TimingConstraintsPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.impl.TimingAnalysisPackageImpl;
+import org.polarsys.chess.chessmlprofile.impl.chessmlprofilePackageImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class TimingConstraintsPackageImpl extends EPackageImpl implements TimingConstraintsPackage {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass arbitraryEventConstraintEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass patternEventConstraintEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass periodicEventConstraintEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass sporadicEventConstraintEClass = null;
+
+	/**
+	 * Creates an instance of the model <b>Package</b>, registered with
+	 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+	 * package URI value.
+	 * <p>Note: the correct way to create the package is via the static
+	 * factory method {@link #init init()}, which also performs
+	 * initialization of the package, or returns the registered package,
+	 * if one already exists.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.emf.ecore.EPackage.Registry
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.TimingConstraintsPackage#eNS_URI
+	 * @see #init()
+	 * @generated
+	 */
+	private TimingConstraintsPackageImpl() {
+		super(eNS_URI, TimingConstraintsFactory.eINSTANCE);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static boolean isInited = false;
+
+	/**
+	 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+	 * 
+	 * <p>This method is used to initialize {@link TimingConstraintsPackage#eINSTANCE} when that field is accessed.
+	 * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #eNS_URI
+	 * @see #createPackageContents()
+	 * @see #initializePackageContents()
+	 * @generated
+	 */
+	public static TimingConstraintsPackage init() {
+		if (isInited) return (TimingConstraintsPackage)EPackage.Registry.INSTANCE.getEPackage(TimingConstraintsPackage.eNS_URI);
+
+		// Obtain or create and register package
+		TimingConstraintsPackageImpl theTimingConstraintsPackage = (TimingConstraintsPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof TimingConstraintsPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new TimingConstraintsPackageImpl());
+
+		isInited = true;
+
+		// Initialize simple dependencies
+		MARTEPackage.eINSTANCE.eClass();
+		MeasurementUnitsPackage.eINSTANCE.eClass();
+		GRM_BasicTypesPackage.eINSTANCE.eClass();
+		MARTE_DataTypesPackage.eINSTANCE.eClass();
+		BasicNFP_TypesPackage.eINSTANCE.eClass();
+		TimeTypesLibraryPackage.eINSTANCE.eClass();
+		TimeLibraryPackage.eINSTANCE.eClass();
+		RS_LibraryPackage.eINSTANCE.eClass();
+		MARTE_PrimitivesTypesPackage.eINSTANCE.eClass();
+		BasicNFP_TypesPackage.eINSTANCE.eClass();
+
+		// Obtain or create and register interdependencies
+		chessmlprofilePackageImpl thechessmlprofilePackage = (chessmlprofilePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(chessmlprofilePackage.eNS_URI) instanceof chessmlprofilePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(chessmlprofilePackage.eNS_URI) : chessmlprofilePackage.eINSTANCE);
+		CorePackageImpl theCorePackage = (CorePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(CorePackage.eNS_URI) instanceof CorePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(CorePackage.eNS_URI) : CorePackage.eINSTANCE);
+		CHESSViewsPackageImpl theCHESSViewsPackage = (CHESSViewsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(CHESSViewsPackage.eNS_URI) instanceof CHESSViewsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(CHESSViewsPackage.eNS_URI) : CHESSViewsPackage.eINSTANCE);
+		FailurePropagationPackageImpl theFailurePropagationPackage = (FailurePropagationPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FailurePropagationPackage.eNS_URI) instanceof FailurePropagationPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FailurePropagationPackage.eNS_URI) : FailurePropagationPackage.eINSTANCE);
+		FailurePropagationDataTypesPackageImpl theFailurePropagationDataTypesPackage = (FailurePropagationDataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FailurePropagationDataTypesPackage.eNS_URI) instanceof FailurePropagationDataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FailurePropagationDataTypesPackage.eNS_URI) : FailurePropagationDataTypesPackage.eINSTANCE);
+		DependableComponentPackageImpl theDependableComponentPackage = (DependableComponentPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DependableComponentPackage.eNS_URI) instanceof DependableComponentPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DependableComponentPackage.eNS_URI) : DependableComponentPackage.eINSTANCE);
+		ThreatsPropagationPackageImpl theThreatsPropagationPackage = (ThreatsPropagationPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ThreatsPropagationPackage.eNS_URI) instanceof ThreatsPropagationPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ThreatsPropagationPackage.eNS_URI) : ThreatsPropagationPackage.eINSTANCE);
+		DataFlowCallGraphPackageImpl theDataFlowCallGraphPackage = (DataFlowCallGraphPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DataFlowCallGraphPackage.eNS_URI) instanceof DataFlowCallGraphPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DataFlowCallGraphPackage.eNS_URI) : DataFlowCallGraphPackage.eINSTANCE);
+		StateBasedDataTypesPackageImpl theStateBasedDataTypesPackage = (StateBasedDataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(StateBasedDataTypesPackage.eNS_URI) instanceof StateBasedDataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(StateBasedDataTypesPackage.eNS_URI) : StateBasedDataTypesPackage.eINSTANCE);
+		StateBasedComponentsPackageImpl theStateBasedComponentsPackage = (StateBasedComponentsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(StateBasedComponentsPackage.eNS_URI) instanceof StateBasedComponentsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(StateBasedComponentsPackage.eNS_URI) : StateBasedComponentsPackage.eINSTANCE);
+		FaultTolerancePackageImpl theFaultTolerancePackage = (FaultTolerancePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FaultTolerancePackage.eNS_URI) instanceof FaultTolerancePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FaultTolerancePackage.eNS_URI) : FaultTolerancePackage.eINSTANCE);
+		MaintenanceMonitoringPackageImpl theMaintenanceMonitoringPackage = (MaintenanceMonitoringPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(MaintenanceMonitoringPackage.eNS_URI) instanceof MaintenanceMonitoringPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(MaintenanceMonitoringPackage.eNS_URI) : MaintenanceMonitoringPackage.eINSTANCE);
+		StateBasedAnalysisPackageImpl theStateBasedAnalysisPackage = (StateBasedAnalysisPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(StateBasedAnalysisPackage.eNS_URI) instanceof StateBasedAnalysisPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(StateBasedAnalysisPackage.eNS_URI) : StateBasedAnalysisPackage.eINSTANCE);
+		FMEAPackageImpl theFMEAPackage = (FMEAPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FMEAPackage.eNS_URI) instanceof FMEAPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FMEAPackage.eNS_URI) : FMEAPackage.eINSTANCE);
+		FMEADataTypesPackageImpl theFMEADataTypesPackage = (FMEADataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FMEADataTypesPackage.eNS_URI) instanceof FMEADataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FMEADataTypesPackage.eNS_URI) : FMEADataTypesPackage.eINSTANCE);
+		MitigationMeansPackageImpl theMitigationMeansPackage = (MitigationMeansPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(MitigationMeansPackage.eNS_URI) instanceof MitigationMeansPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(MitigationMeansPackage.eNS_URI) : MitigationMeansPackage.eINSTANCE);
+		TimingAnalysisPackageImpl theTimingAnalysisPackage = (TimingAnalysisPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimingAnalysisPackage.eNS_URI) instanceof TimingAnalysisPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimingAnalysisPackage.eNS_URI) : TimingAnalysisPackage.eINSTANCE);
+		HardwareBaselinePackageImpl theHardwareBaselinePackage = (HardwareBaselinePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HardwareBaselinePackage.eNS_URI) instanceof HardwareBaselinePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HardwareBaselinePackage.eNS_URI) : HardwareBaselinePackage.eINSTANCE);
+		DeploymentConfAnalysisPackageImpl theDeploymentConfAnalysisPackage = (DeploymentConfAnalysisPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DeploymentConfAnalysisPackage.eNS_URI) instanceof DeploymentConfAnalysisPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DeploymentConfAnalysisPackage.eNS_URI) : DeploymentConfAnalysisPackage.eINSTANCE);
+		RTComponentModelPackageImpl theRTComponentModelPackage = (RTComponentModelPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RTComponentModelPackage.eNS_URI) instanceof RTComponentModelPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RTComponentModelPackage.eNS_URI) : RTComponentModelPackage.eINSTANCE);
+		RTDataTypesPackageImpl theRTDataTypesPackage = (RTDataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RTDataTypesPackage.eNS_URI) instanceof RTDataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RTDataTypesPackage.eNS_URI) : RTDataTypesPackage.eINSTANCE);
+		ComponentModelPackageImpl theComponentModelPackage = (ComponentModelPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ComponentModelPackage.eNS_URI) instanceof ComponentModelPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ComponentModelPackage.eNS_URI) : ComponentModelPackage.eINSTANCE);
+
+		// Create package meta-data objects
+		theTimingConstraintsPackage.createPackageContents();
+		thechessmlprofilePackage.createPackageContents();
+		theCorePackage.createPackageContents();
+		theCHESSViewsPackage.createPackageContents();
+		theFailurePropagationPackage.createPackageContents();
+		theFailurePropagationDataTypesPackage.createPackageContents();
+		theDependableComponentPackage.createPackageContents();
+		theThreatsPropagationPackage.createPackageContents();
+		theDataFlowCallGraphPackage.createPackageContents();
+		theStateBasedDataTypesPackage.createPackageContents();
+		theStateBasedComponentsPackage.createPackageContents();
+		theFaultTolerancePackage.createPackageContents();
+		theMaintenanceMonitoringPackage.createPackageContents();
+		theStateBasedAnalysisPackage.createPackageContents();
+		theFMEAPackage.createPackageContents();
+		theFMEADataTypesPackage.createPackageContents();
+		theMitigationMeansPackage.createPackageContents();
+		theTimingAnalysisPackage.createPackageContents();
+		theHardwareBaselinePackage.createPackageContents();
+		theDeploymentConfAnalysisPackage.createPackageContents();
+		theRTComponentModelPackage.createPackageContents();
+		theRTDataTypesPackage.createPackageContents();
+		theComponentModelPackage.createPackageContents();
+
+		// Initialize created meta-data
+		theTimingConstraintsPackage.initializePackageContents();
+		thechessmlprofilePackage.initializePackageContents();
+		theCorePackage.initializePackageContents();
+		theCHESSViewsPackage.initializePackageContents();
+		theFailurePropagationPackage.initializePackageContents();
+		theFailurePropagationDataTypesPackage.initializePackageContents();
+		theDependableComponentPackage.initializePackageContents();
+		theThreatsPropagationPackage.initializePackageContents();
+		theDataFlowCallGraphPackage.initializePackageContents();
+		theStateBasedDataTypesPackage.initializePackageContents();
+		theStateBasedComponentsPackage.initializePackageContents();
+		theFaultTolerancePackage.initializePackageContents();
+		theMaintenanceMonitoringPackage.initializePackageContents();
+		theStateBasedAnalysisPackage.initializePackageContents();
+		theFMEAPackage.initializePackageContents();
+		theFMEADataTypesPackage.initializePackageContents();
+		theMitigationMeansPackage.initializePackageContents();
+		theTimingAnalysisPackage.initializePackageContents();
+		theHardwareBaselinePackage.initializePackageContents();
+		theDeploymentConfAnalysisPackage.initializePackageContents();
+		theRTComponentModelPackage.initializePackageContents();
+		theRTDataTypesPackage.initializePackageContents();
+		theComponentModelPackage.initializePackageContents();
+
+		// Mark meta-data to indicate it can't be changed
+		theTimingConstraintsPackage.freeze();
+
+  
+		// Update the registry and return the package
+		EPackage.Registry.INSTANCE.put(TimingConstraintsPackage.eNS_URI, theTimingConstraintsPackage);
+		return theTimingConstraintsPackage;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getArbitraryEventConstraint() {
+		return arbitraryEventConstraintEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getArbitraryEventConstraint_Offset() {
+		return (EAttribute)arbitraryEventConstraintEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getArbitraryEventConstraint_MaximumInterarrivalTime() {
+		return (EAttribute)arbitraryEventConstraintEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getArbitraryEventConstraint_MinimumInterarrivalTime() {
+		return (EAttribute)arbitraryEventConstraintEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getPatternEventConstraint() {
+		return patternEventConstraintEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getPatternEventConstraint_Offset() {
+		return (EAttribute)patternEventConstraintEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getPatternEventConstraint_Jitter() {
+		return (EAttribute)patternEventConstraintEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getPatternEventConstraint_MinimumInterarrivalTime() {
+		return (EAttribute)patternEventConstraintEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getPatternEventConstraint_Occurrence() {
+		return (EAttribute)patternEventConstraintEClass.getEStructuralFeatures().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getPatternEventConstraint_Period() {
+		return (EAttribute)patternEventConstraintEClass.getEStructuralFeatures().get(4);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getPeriodicEventConstraint() {
+		return periodicEventConstraintEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getPeriodicEventConstraint_Offset() {
+		return (EAttribute)periodicEventConstraintEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getPeriodicEventConstraint_Jitter() {
+		return (EAttribute)periodicEventConstraintEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getPeriodicEventConstraint_MinimumInterarrivalTime() {
+		return (EAttribute)periodicEventConstraintEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getPeriodicEventConstraint_Period() {
+		return (EAttribute)periodicEventConstraintEClass.getEStructuralFeatures().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getSporadicEventConstraint() {
+		return sporadicEventConstraintEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getSporadicEventConstraint_Offset() {
+		return (EAttribute)sporadicEventConstraintEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getSporadicEventConstraint_Jitter() {
+		return (EAttribute)sporadicEventConstraintEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getSporadicEventConstraint_MaximumInterarrivalTime() {
+		return (EAttribute)sporadicEventConstraintEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getSporadicEventConstraint_MinimumInterarrivalTime() {
+		return (EAttribute)sporadicEventConstraintEClass.getEStructuralFeatures().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getSporadicEventConstraint_Period() {
+		return (EAttribute)sporadicEventConstraintEClass.getEStructuralFeatures().get(4);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public TimingConstraintsFactory getTimingConstraintsFactory() {
+		return (TimingConstraintsFactory)getEFactoryInstance();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isCreated = false;
+
+	/**
+	 * Creates the meta-model objects for the package.  This method is
+	 * guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void createPackageContents() {
+		if (isCreated) return;
+		isCreated = true;
+
+		// Create classes and their features
+		arbitraryEventConstraintEClass = createEClass(ARBITRARY_EVENT_CONSTRAINT);
+		createEAttribute(arbitraryEventConstraintEClass, ARBITRARY_EVENT_CONSTRAINT__OFFSET);
+		createEAttribute(arbitraryEventConstraintEClass, ARBITRARY_EVENT_CONSTRAINT__MAXIMUM_INTERARRIVAL_TIME);
+		createEAttribute(arbitraryEventConstraintEClass, ARBITRARY_EVENT_CONSTRAINT__MINIMUM_INTERARRIVAL_TIME);
+
+		patternEventConstraintEClass = createEClass(PATTERN_EVENT_CONSTRAINT);
+		createEAttribute(patternEventConstraintEClass, PATTERN_EVENT_CONSTRAINT__OFFSET);
+		createEAttribute(patternEventConstraintEClass, PATTERN_EVENT_CONSTRAINT__JITTER);
+		createEAttribute(patternEventConstraintEClass, PATTERN_EVENT_CONSTRAINT__MINIMUM_INTERARRIVAL_TIME);
+		createEAttribute(patternEventConstraintEClass, PATTERN_EVENT_CONSTRAINT__OCCURRENCE);
+		createEAttribute(patternEventConstraintEClass, PATTERN_EVENT_CONSTRAINT__PERIOD);
+
+		periodicEventConstraintEClass = createEClass(PERIODIC_EVENT_CONSTRAINT);
+		createEAttribute(periodicEventConstraintEClass, PERIODIC_EVENT_CONSTRAINT__OFFSET);
+		createEAttribute(periodicEventConstraintEClass, PERIODIC_EVENT_CONSTRAINT__JITTER);
+		createEAttribute(periodicEventConstraintEClass, PERIODIC_EVENT_CONSTRAINT__MINIMUM_INTERARRIVAL_TIME);
+		createEAttribute(periodicEventConstraintEClass, PERIODIC_EVENT_CONSTRAINT__PERIOD);
+
+		sporadicEventConstraintEClass = createEClass(SPORADIC_EVENT_CONSTRAINT);
+		createEAttribute(sporadicEventConstraintEClass, SPORADIC_EVENT_CONSTRAINT__OFFSET);
+		createEAttribute(sporadicEventConstraintEClass, SPORADIC_EVENT_CONSTRAINT__JITTER);
+		createEAttribute(sporadicEventConstraintEClass, SPORADIC_EVENT_CONSTRAINT__MAXIMUM_INTERARRIVAL_TIME);
+		createEAttribute(sporadicEventConstraintEClass, SPORADIC_EVENT_CONSTRAINT__MINIMUM_INTERARRIVAL_TIME);
+		createEAttribute(sporadicEventConstraintEClass, SPORADIC_EVENT_CONSTRAINT__PERIOD);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isInitialized = false;
+
+	/**
+	 * Complete the initialization of the package and its meta-model.  This
+	 * method is guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void initializePackageContents() {
+		if (isInitialized) return;
+		isInitialized = true;
+
+		// Initialize package
+		setName(eNAME);
+		setNsPrefix(eNS_PREFIX);
+		setNsURI(eNS_URI);
+
+		// Obtain other dependent packages
+		NFPsPackage theNFPsPackage = (NFPsPackage)EPackage.Registry.INSTANCE.getEPackage(NFPsPackage.eNS_URI);
+		BasicNFP_TypesPackage theBasicNFP_TypesPackage = (BasicNFP_TypesPackage)EPackage.Registry.INSTANCE.getEPackage(BasicNFP_TypesPackage.eNS_URI);
+		MARTE_PrimitivesTypesPackage theMARTE_PrimitivesTypesPackage = (MARTE_PrimitivesTypesPackage)EPackage.Registry.INSTANCE.getEPackage(MARTE_PrimitivesTypesPackage.eNS_URI);
+
+		// Create type parameters
+
+		// Set bounds for type parameters
+
+		// Add supertypes to classes
+		arbitraryEventConstraintEClass.getESuperTypes().add(theNFPsPackage.getNfpConstraint());
+		patternEventConstraintEClass.getESuperTypes().add(theNFPsPackage.getNfpConstraint());
+		periodicEventConstraintEClass.getESuperTypes().add(theNFPsPackage.getNfpConstraint());
+		sporadicEventConstraintEClass.getESuperTypes().add(theNFPsPackage.getNfpConstraint());
+
+		// Initialize classes and features; add operations and parameters
+		initEClass(arbitraryEventConstraintEClass, ArbitraryEventConstraint.class, "ArbitraryEventConstraint", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getArbitraryEventConstraint_Offset(), theBasicNFP_TypesPackage.getNFP_Duration(), "offset", null, 1, 1, ArbitraryEventConstraint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getArbitraryEventConstraint_MaximumInterarrivalTime(), theBasicNFP_TypesPackage.getNFP_Duration(), "maximumInterarrivalTime", null, 0, -1, ArbitraryEventConstraint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getArbitraryEventConstraint_MinimumInterarrivalTime(), theBasicNFP_TypesPackage.getNFP_Duration(), "minimumInterarrivalTime", null, 0, -1, ArbitraryEventConstraint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+		initEClass(patternEventConstraintEClass, PatternEventConstraint.class, "PatternEventConstraint", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getPatternEventConstraint_Offset(), theBasicNFP_TypesPackage.getNFP_Duration(), "offset", null, 1, 1, PatternEventConstraint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getPatternEventConstraint_Jitter(), theBasicNFP_TypesPackage.getNFP_Duration(), "jitter", null, 1, 1, PatternEventConstraint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getPatternEventConstraint_MinimumInterarrivalTime(), theBasicNFP_TypesPackage.getNFP_Duration(), "minimumInterarrivalTime", null, 1, 1, PatternEventConstraint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getPatternEventConstraint_Occurrence(), theBasicNFP_TypesPackage.getNFP_Duration(), "occurrence", null, 1, 1, PatternEventConstraint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getPatternEventConstraint_Period(), theBasicNFP_TypesPackage.getNFP_Duration(), "period", null, 1, 1, PatternEventConstraint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+		initEClass(periodicEventConstraintEClass, PeriodicEventConstraint.class, "PeriodicEventConstraint", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getPeriodicEventConstraint_Offset(), theBasicNFP_TypesPackage.getNFP_Duration(), "offset", null, 1, 1, PeriodicEventConstraint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getPeriodicEventConstraint_Jitter(), theBasicNFP_TypesPackage.getNFP_Duration(), "jitter", null, 1, 1, PeriodicEventConstraint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getPeriodicEventConstraint_MinimumInterarrivalTime(), theBasicNFP_TypesPackage.getNFP_Duration(), "minimumInterarrivalTime", null, 1, 1, PeriodicEventConstraint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getPeriodicEventConstraint_Period(), theBasicNFP_TypesPackage.getNFP_Duration(), "period", null, 1, 1, PeriodicEventConstraint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+		initEClass(sporadicEventConstraintEClass, SporadicEventConstraint.class, "SporadicEventConstraint", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getSporadicEventConstraint_Offset(), theMARTE_PrimitivesTypesPackage.getReal(), "offset", null, 1, 1, SporadicEventConstraint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getSporadicEventConstraint_Jitter(), theBasicNFP_TypesPackage.getNFP_Duration(), "jitter", null, 0, 1, SporadicEventConstraint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getSporadicEventConstraint_MaximumInterarrivalTime(), theBasicNFP_TypesPackage.getNFP_Duration(), "maximumInterarrivalTime", null, 0, 1, SporadicEventConstraint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getSporadicEventConstraint_MinimumInterarrivalTime(), theBasicNFP_TypesPackage.getNFP_Duration(), "minimumInterarrivalTime", null, 1, 1, SporadicEventConstraint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getSporadicEventConstraint_Period(), theBasicNFP_TypesPackage.getNFP_Duration(), "period", null, 1, 1, SporadicEventConstraint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+	}
+
+} //TimingConstraintsPackageImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/TimingConstraints/util/TimingConstraintsAdapterFactory.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/TimingConstraints/util/TimingConstraintsAdapterFactory.java
new file mode 100644
index 000000000..097890b73
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/TimingConstraints/util/TimingConstraintsAdapterFactory.java
@@ -0,0 +1,199 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.NFPs.NfpConstraint;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.TimingConstraintsPackage
+ * @generated
+ */
+public class TimingConstraintsAdapterFactory extends AdapterFactoryImpl {
+	/**
+	 * The cached model package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static TimingConstraintsPackage modelPackage;
+
+	/**
+	 * Creates an instance of the adapter factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public TimingConstraintsAdapterFactory() {
+		if (modelPackage == null) {
+			modelPackage = TimingConstraintsPackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Returns whether this factory is applicable for the type of the object.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+	 * <!-- end-user-doc -->
+	 * @return whether this factory is applicable for the type of the object.
+	 * @generated
+	 */
+	@Override
+	public boolean isFactoryForType(Object object) {
+		if (object == modelPackage) {
+			return true;
+		}
+		if (object instanceof EObject) {
+			return ((EObject)object).eClass().getEPackage() == modelPackage;
+		}
+		return false;
+	}
+
+	/**
+	 * The switch that delegates to the <code>createXXX</code> methods.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected TimingConstraintsSwitch<Adapter> modelSwitch =
+		new TimingConstraintsSwitch<Adapter>() {
+			@Override
+			public Adapter caseArbitraryEventConstraint(ArbitraryEventConstraint object) {
+				return createArbitraryEventConstraintAdapter();
+			}
+			@Override
+			public Adapter casePatternEventConstraint(PatternEventConstraint object) {
+				return createPatternEventConstraintAdapter();
+			}
+			@Override
+			public Adapter casePeriodicEventConstraint(PeriodicEventConstraint object) {
+				return createPeriodicEventConstraintAdapter();
+			}
+			@Override
+			public Adapter caseSporadicEventConstraint(SporadicEventConstraint object) {
+				return createSporadicEventConstraintAdapter();
+			}
+			@Override
+			public Adapter caseNfpConstraint(NfpConstraint object) {
+				return createNfpConstraintAdapter();
+			}
+			@Override
+			public Adapter defaultCase(EObject object) {
+				return createEObjectAdapter();
+			}
+		};
+
+	/**
+	 * Creates an adapter for the <code>target</code>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param target the object to adapt.
+	 * @return the adapter for the <code>target</code>.
+	 * @generated
+	 */
+	@Override
+	public Adapter createAdapter(Notifier target) {
+		return modelSwitch.doSwitch((EObject)target);
+	}
+
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.ArbitraryEventConstraint <em>Arbitrary Event Constraint</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.ArbitraryEventConstraint
+	 * @generated
+	 */
+	public Adapter createArbitraryEventConstraintAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.PatternEventConstraint <em>Pattern Event Constraint</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.PatternEventConstraint
+	 * @generated
+	 */
+	public Adapter createPatternEventConstraintAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.PeriodicEventConstraint <em>Periodic Event Constraint</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.PeriodicEventConstraint
+	 * @generated
+	 */
+	public Adapter createPeriodicEventConstraintAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.SporadicEventConstraint <em>Sporadic Event Constraint</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.SporadicEventConstraint
+	 * @generated
+	 */
+	public Adapter createSporadicEventConstraintAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_Foundations.NFPs.NfpConstraint <em>Nfp Constraint</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.papyrus.MARTE.MARTE_Foundations.NFPs.NfpConstraint
+	 * @generated
+	 */
+	public Adapter createNfpConstraintAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for the default case.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @generated
+	 */
+	public Adapter createEObjectAdapter() {
+		return null;
+	}
+
+} //TimingConstraintsAdapterFactory
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/TimingConstraints/util/TimingConstraintsResourceFactoryImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/TimingConstraints/util/TimingConstraintsResourceFactoryImpl.java
new file mode 100644
index 000000000..1bf653cf5
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/TimingConstraints/util/TimingConstraintsResourceFactoryImpl.java
@@ -0,0 +1,61 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.util;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.resource.impl.ResourceFactoryImpl;
+
+import org.eclipse.emf.ecore.xmi.XMLResource;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource Factory</b> associated with the package.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.util.TimingConstraintsResourceImpl
+ * @generated
+ */
+public class TimingConstraintsResourceFactoryImpl extends ResourceFactoryImpl {
+	/**
+	 * Creates an instance of the resource factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public TimingConstraintsResourceFactoryImpl() {
+		super();
+	}
+
+	/**
+	 * Creates an instance of the resource.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Resource createResource(URI uri) {
+		XMLResource result = new TimingConstraintsResourceImpl(uri);
+		result.getDefaultSaveOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
+		result.getDefaultLoadOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
+
+		result.getDefaultSaveOptions().put(XMLResource.OPTION_SCHEMA_LOCATION, Boolean.TRUE);
+
+		result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+		result.getDefaultSaveOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+
+		result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_LEXICAL_HANDLER, Boolean.TRUE);
+		return result;
+	}
+
+} //TimingConstraintsResourceFactoryImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/TimingConstraints/util/TimingConstraintsResourceImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/TimingConstraints/util/TimingConstraintsResourceImpl.java
new file mode 100644
index 000000000..8358f6f02
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/TimingConstraints/util/TimingConstraintsResourceImpl.java
@@ -0,0 +1,37 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.util;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource </b> associated with the package.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.util.TimingConstraintsResourceFactoryImpl
+ * @generated
+ */
+public class TimingConstraintsResourceImpl extends XMLResourceImpl {
+	/**
+	 * Creates an instance of the resource.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param uri the URI of the new resource.
+	 * @generated
+	 */
+	public TimingConstraintsResourceImpl(URI uri) {
+		super(uri);
+	}
+
+} //TimingConstraintsResourceImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/TimingConstraints/util/TimingConstraintsSwitch.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/TimingConstraints/util/TimingConstraintsSwitch.java
new file mode 100644
index 000000000..a315243a3
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/TimingConstraints/util/TimingConstraintsSwitch.java
@@ -0,0 +1,200 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.util.Switch;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.NFPs.NfpConstraint;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.TimingConstraintsPackage
+ * @generated
+ */
+public class TimingConstraintsSwitch<T> extends Switch<T> {
+	/**
+	 * The cached model package
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static TimingConstraintsPackage modelPackage;
+
+	/**
+	 * Creates an instance of the switch.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public TimingConstraintsSwitch() {
+		if (modelPackage == null) {
+			modelPackage = TimingConstraintsPackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Checks whether this is a switch for the given package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @parameter ePackage the package in question.
+	 * @return whether this is a switch for the given package.
+	 * @generated
+	 */
+	@Override
+	protected boolean isSwitchFor(EPackage ePackage) {
+		return ePackage == modelPackage;
+	}
+
+	/**
+	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the first non-null result returned by a <code>caseXXX</code> call.
+	 * @generated
+	 */
+	@Override
+	protected T doSwitch(int classifierID, EObject theEObject) {
+		switch (classifierID) {
+			case TimingConstraintsPackage.ARBITRARY_EVENT_CONSTRAINT: {
+				ArbitraryEventConstraint arbitraryEventConstraint = (ArbitraryEventConstraint)theEObject;
+				T result = caseArbitraryEventConstraint(arbitraryEventConstraint);
+				if (result == null) result = caseNfpConstraint(arbitraryEventConstraint);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case TimingConstraintsPackage.PATTERN_EVENT_CONSTRAINT: {
+				PatternEventConstraint patternEventConstraint = (PatternEventConstraint)theEObject;
+				T result = casePatternEventConstraint(patternEventConstraint);
+				if (result == null) result = caseNfpConstraint(patternEventConstraint);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case TimingConstraintsPackage.PERIODIC_EVENT_CONSTRAINT: {
+				PeriodicEventConstraint periodicEventConstraint = (PeriodicEventConstraint)theEObject;
+				T result = casePeriodicEventConstraint(periodicEventConstraint);
+				if (result == null) result = caseNfpConstraint(periodicEventConstraint);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case TimingConstraintsPackage.SPORADIC_EVENT_CONSTRAINT: {
+				SporadicEventConstraint sporadicEventConstraint = (SporadicEventConstraint)theEObject;
+				T result = caseSporadicEventConstraint(sporadicEventConstraint);
+				if (result == null) result = caseNfpConstraint(sporadicEventConstraint);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			default: return defaultCase(theEObject);
+		}
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Arbitrary Event Constraint</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Arbitrary Event Constraint</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseArbitraryEventConstraint(ArbitraryEventConstraint object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Pattern Event Constraint</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Pattern Event Constraint</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T casePatternEventConstraint(PatternEventConstraint object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Periodic Event Constraint</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Periodic Event Constraint</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T casePeriodicEventConstraint(PeriodicEventConstraint object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Sporadic Event Constraint</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Sporadic Event Constraint</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseSporadicEventConstraint(SporadicEventConstraint object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Nfp Constraint</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Nfp Constraint</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseNfpConstraint(NfpConstraint object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch, but this is the last case anyway.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+	 * @generated
+	 */
+	@Override
+	public T defaultCase(EObject object) {
+		return null;
+	}
+
+} //TimingConstraintsSwitch
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/TimingConstraints/util/TimingConstraintsXMLProcessor.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/TimingConstraints/util/TimingConstraintsXMLProcessor.java
new file mode 100644
index 000000000..f89cf659d
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/TimingConstraints/util/TimingConstraintsXMLProcessor.java
@@ -0,0 +1,56 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.util;
+
+import java.util.Map;
+
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.xmi.util.XMLProcessor;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.TimingConstraintsPackage;
+
+/**
+ * This class contains helper methods to serialize and deserialize XML documents
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class TimingConstraintsXMLProcessor extends XMLProcessor {
+
+	/**
+	 * Public constructor to instantiate the helper.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public TimingConstraintsXMLProcessor() {
+		super((EPackage.Registry.INSTANCE));
+		TimingConstraintsPackage.eINSTANCE.eClass();
+	}
+	
+	/**
+	 * Register for "*" and "xml" file extensions the TimingConstraintsResourceFactoryImpl factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected Map<String, Resource.Factory> getRegistrations() {
+		if (registrations == null) {
+			super.getRegistrations();
+			registrations.put(XML_EXTENSION, new TimingConstraintsResourceFactoryImpl());
+			registrations.put(STAR_EXTENSION, new TimingConstraintsResourceFactoryImpl());
+		}
+		return registrations;
+	}
+
+} //TimingConstraintsXMLProcessor
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/impl/AgeTimingConstraintImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/impl/AgeTimingConstraintImpl.java
new file mode 100644
index 000000000..3d4dd54d0
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/impl/AgeTimingConstraintImpl.java
@@ -0,0 +1,48 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.GQAM.impl.GaLatencyObsImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.AgeTimingConstraint;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingAnalysisPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Age Timing Constraint</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class AgeTimingConstraintImpl extends GaLatencyObsImpl implements AgeTimingConstraint {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected AgeTimingConstraintImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return TimingAnalysisPackage.Literals.AGE_TIMING_CONSTRAINT;
+	}
+
+} //AgeTimingConstraintImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/impl/InputSynchronizationConstraintImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/impl/InputSynchronizationConstraintImpl.java
new file mode 100644
index 000000000..2949b2a64
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/impl/InputSynchronizationConstraintImpl.java
@@ -0,0 +1,169 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.GQAM.impl.GaLatencyObsImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.InputSynchronizationConstraint;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingAnalysisPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Input Synchronization Constraint</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.impl.InputSynchronizationConstraintImpl#getWidth <em>Width</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class InputSynchronizationConstraintImpl extends GaLatencyObsImpl implements InputSynchronizationConstraint {
+	/**
+	 * The default value of the '{@link #getWidth() <em>Width</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getWidth()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String WIDTH_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getWidth() <em>Width</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getWidth()
+	 * @generated
+	 * @ordered
+	 */
+	protected String width = WIDTH_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected InputSynchronizationConstraintImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return TimingAnalysisPackage.Literals.INPUT_SYNCHRONIZATION_CONSTRAINT;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getWidth() {
+		return width;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setWidth(String newWidth) {
+		String oldWidth = width;
+		width = newWidth;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, TimingAnalysisPackage.INPUT_SYNCHRONIZATION_CONSTRAINT__WIDTH, oldWidth, width));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case TimingAnalysisPackage.INPUT_SYNCHRONIZATION_CONSTRAINT__WIDTH:
+				return getWidth();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case TimingAnalysisPackage.INPUT_SYNCHRONIZATION_CONSTRAINT__WIDTH:
+				setWidth((String)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case TimingAnalysisPackage.INPUT_SYNCHRONIZATION_CONSTRAINT__WIDTH:
+				setWidth(WIDTH_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case TimingAnalysisPackage.INPUT_SYNCHRONIZATION_CONSTRAINT__WIDTH:
+				return WIDTH_EDEFAULT == null ? width != null : !WIDTH_EDEFAULT.equals(width);
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (width: ");
+		result.append(width);
+		result.append(')');
+		return result.toString();
+	}
+
+} //InputSynchronizationConstraintImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/impl/OutputSynchronizationConstraintImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/impl/OutputSynchronizationConstraintImpl.java
new file mode 100644
index 000000000..b47dac94f
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/impl/OutputSynchronizationConstraintImpl.java
@@ -0,0 +1,169 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.GQAM.impl.GaLatencyObsImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.OutputSynchronizationConstraint;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingAnalysisPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Output Synchronization Constraint</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.impl.OutputSynchronizationConstraintImpl#getWidth <em>Width</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class OutputSynchronizationConstraintImpl extends GaLatencyObsImpl implements OutputSynchronizationConstraint {
+	/**
+	 * The default value of the '{@link #getWidth() <em>Width</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getWidth()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String WIDTH_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getWidth() <em>Width</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getWidth()
+	 * @generated
+	 * @ordered
+	 */
+	protected String width = WIDTH_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected OutputSynchronizationConstraintImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return TimingAnalysisPackage.Literals.OUTPUT_SYNCHRONIZATION_CONSTRAINT;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getWidth() {
+		return width;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setWidth(String newWidth) {
+		String oldWidth = width;
+		width = newWidth;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, TimingAnalysisPackage.OUTPUT_SYNCHRONIZATION_CONSTRAINT__WIDTH, oldWidth, width));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case TimingAnalysisPackage.OUTPUT_SYNCHRONIZATION_CONSTRAINT__WIDTH:
+				return getWidth();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case TimingAnalysisPackage.OUTPUT_SYNCHRONIZATION_CONSTRAINT__WIDTH:
+				setWidth((String)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case TimingAnalysisPackage.OUTPUT_SYNCHRONIZATION_CONSTRAINT__WIDTH:
+				setWidth(WIDTH_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case TimingAnalysisPackage.OUTPUT_SYNCHRONIZATION_CONSTRAINT__WIDTH:
+				return WIDTH_EDEFAULT == null ? width != null : !WIDTH_EDEFAULT.equals(width);
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (width: ");
+		result.append(width);
+		result.append(')');
+		return result.toString();
+	}
+
+} //OutputSynchronizationConstraintImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/impl/ReactionConstraintImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/impl/ReactionConstraintImpl.java
new file mode 100644
index 000000000..646e0fc0d
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/impl/ReactionConstraintImpl.java
@@ -0,0 +1,48 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.GQAM.impl.GaLatencyObsImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.ReactionConstraint;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingAnalysisPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Reaction Constraint</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class ReactionConstraintImpl extends GaLatencyObsImpl implements ReactionConstraint {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ReactionConstraintImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return TimingAnalysisPackage.Literals.REACTION_CONSTRAINT;
+	}
+
+} //ReactionConstraintImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/impl/SimulationBasedTimingAnalysisImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/impl/SimulationBasedTimingAnalysisImpl.java
new file mode 100644
index 000000000..32e9af95d
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/impl/SimulationBasedTimingAnalysisImpl.java
@@ -0,0 +1,48 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.GQAM.impl.GaAnalysisContextImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.SimulationBasedTimingAnalysis;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingAnalysisPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Simulation Based Timing Analysis</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class SimulationBasedTimingAnalysisImpl extends GaAnalysisContextImpl implements SimulationBasedTimingAnalysis {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected SimulationBasedTimingAnalysisImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return TimingAnalysisPackage.Literals.SIMULATION_BASED_TIMING_ANALYSIS;
+	}
+
+} //SimulationBasedTimingAnalysisImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/impl/TimingAnalysisFactoryImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/impl/TimingAnalysisFactoryImpl.java
new file mode 100644
index 000000000..edb6288ff
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/impl/TimingAnalysisFactoryImpl.java
@@ -0,0 +1,145 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class TimingAnalysisFactoryImpl extends EFactoryImpl implements TimingAnalysisFactory {
+	/**
+	 * Creates the default factory implementation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static TimingAnalysisFactory init() {
+		try {
+			TimingAnalysisFactory theTimingAnalysisFactory = (TimingAnalysisFactory)EPackage.Registry.INSTANCE.getEFactory(TimingAnalysisPackage.eNS_URI);
+			if (theTimingAnalysisFactory != null) {
+				return theTimingAnalysisFactory;
+			}
+		}
+		catch (Exception exception) {
+			EcorePlugin.INSTANCE.log(exception);
+		}
+		return new TimingAnalysisFactoryImpl();
+	}
+
+	/**
+	 * Creates an instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public TimingAnalysisFactoryImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EObject create(EClass eClass) {
+		switch (eClass.getClassifierID()) {
+			case TimingAnalysisPackage.SIMULATION_BASED_TIMING_ANALYSIS: return createSimulationBasedTimingAnalysis();
+			case TimingAnalysisPackage.AGE_TIMING_CONSTRAINT: return createAgeTimingConstraint();
+			case TimingAnalysisPackage.REACTION_CONSTRAINT: return createReactionConstraint();
+			case TimingAnalysisPackage.OUTPUT_SYNCHRONIZATION_CONSTRAINT: return createOutputSynchronizationConstraint();
+			case TimingAnalysisPackage.INPUT_SYNCHRONIZATION_CONSTRAINT: return createInputSynchronizationConstraint();
+			default:
+				throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public SimulationBasedTimingAnalysis createSimulationBasedTimingAnalysis() {
+		SimulationBasedTimingAnalysisImpl simulationBasedTimingAnalysis = new SimulationBasedTimingAnalysisImpl();
+		return simulationBasedTimingAnalysis;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public AgeTimingConstraint createAgeTimingConstraint() {
+		AgeTimingConstraintImpl ageTimingConstraint = new AgeTimingConstraintImpl();
+		return ageTimingConstraint;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ReactionConstraint createReactionConstraint() {
+		ReactionConstraintImpl reactionConstraint = new ReactionConstraintImpl();
+		return reactionConstraint;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public OutputSynchronizationConstraint createOutputSynchronizationConstraint() {
+		OutputSynchronizationConstraintImpl outputSynchronizationConstraint = new OutputSynchronizationConstraintImpl();
+		return outputSynchronizationConstraint;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public InputSynchronizationConstraint createInputSynchronizationConstraint() {
+		InputSynchronizationConstraintImpl inputSynchronizationConstraint = new InputSynchronizationConstraintImpl();
+		return inputSynchronizationConstraint;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public TimingAnalysisPackage getTimingAnalysisPackage() {
+		return (TimingAnalysisPackage)getEPackage();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @deprecated
+	 * @generated
+	 */
+	@Deprecated
+	public static TimingAnalysisPackage getPackage() {
+		return TimingAnalysisPackage.eINSTANCE;
+	}
+
+} //TimingAnalysisFactoryImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/impl/TimingAnalysisPackageImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/impl/TimingAnalysisPackageImpl.java
new file mode 100644
index 000000000..0a79bc886
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/impl/TimingAnalysisPackageImpl.java
@@ -0,0 +1,423 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+import org.eclipse.papyrus.MARTE.MARTEPackage;
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.GQAM.GQAMPackage;
+import org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.BasicNFP_TypesPackage;
+import org.eclipse.papyrus.MARTE_Library.GRM_BasicTypes.GRM_BasicTypesPackage;
+import org.eclipse.papyrus.MARTE_Library.MARTE_DataTypes.MARTE_DataTypesPackage;
+import org.eclipse.papyrus.MARTE_Library.MARTE_PrimitivesTypes.MARTE_PrimitivesTypesPackage;
+import org.eclipse.papyrus.MARTE_Library.MeasurementUnits.MeasurementUnitsPackage;
+import org.eclipse.papyrus.MARTE_Library.RS_Library.RS_LibraryPackage;
+import org.eclipse.papyrus.MARTE_Library.TimeLibrary.TimeLibraryPackage;
+import org.eclipse.papyrus.MARTE_Library.TimeTypesLibrary.TimeTypesLibraryPackage;
+import org.polarsys.chess.chessmlprofile.chessmlprofilePackage;
+import org.polarsys.chess.chessmlprofile.ComponentModel.ComponentModelPackage;
+import org.polarsys.chess.chessmlprofile.ComponentModel.impl.ComponentModelPackageImpl;
+import org.polarsys.chess.chessmlprofile.Core.CorePackage;
+import org.polarsys.chess.chessmlprofile.Core.CHESSViews.CHESSViewsPackage;
+import org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl.CHESSViewsPackageImpl;
+import org.polarsys.chess.chessmlprofile.Core.impl.CorePackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.DataFlowCallGraph.DataFlowCallGraphPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.DataFlowCallGraph.impl.DataFlowCallGraphPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.DependableComponentPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.impl.DependableComponentPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEAPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEADataTypes.FMEADataTypesPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEADataTypes.impl.FMEADataTypesPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.impl.FMEAPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.FailurePropagationDataTypesPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.impl.FailurePropagationDataTypesPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl.FailurePropagationPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans.MitigationMeansPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans.impl.MitigationMeansPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.FaultTolerancePackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.impl.FaultTolerancePackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.MaintenanceMonitoringPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.impl.MaintenanceMonitoringPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.StateBasedAnalysisPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.impl.StateBasedAnalysisPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StateBasedComponentsPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.impl.StateBasedComponentsPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.StateBasedDataTypesPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.impl.StateBasedDataTypesPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatsPropagationPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.ThreatsPropagationPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.DeploymentConfAnalysisPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.impl.DeploymentConfAnalysisPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HardwareBaselinePackage;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.HardwareBaselinePackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTComponentModelPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.RTDataTypesPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.impl.RTDataTypesPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.impl.RTComponentModelPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.AgeTimingConstraint;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.InputSynchronizationConstraint;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.OutputSynchronizationConstraint;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.ReactionConstraint;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.SimulationBasedTimingAnalysis;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingAnalysisFactory;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingAnalysisPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.TimingConstraintsPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.impl.TimingConstraintsPackageImpl;
+import org.polarsys.chess.chessmlprofile.impl.chessmlprofilePackageImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class TimingAnalysisPackageImpl extends EPackageImpl implements TimingAnalysisPackage {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass simulationBasedTimingAnalysisEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass ageTimingConstraintEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass reactionConstraintEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass outputSynchronizationConstraintEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass inputSynchronizationConstraintEClass = null;
+
+	/**
+	 * Creates an instance of the model <b>Package</b>, registered with
+	 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+	 * package URI value.
+	 * <p>Note: the correct way to create the package is via the static
+	 * factory method {@link #init init()}, which also performs
+	 * initialization of the package, or returns the registered package,
+	 * if one already exists.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.emf.ecore.EPackage.Registry
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingAnalysisPackage#eNS_URI
+	 * @see #init()
+	 * @generated
+	 */
+	private TimingAnalysisPackageImpl() {
+		super(eNS_URI, TimingAnalysisFactory.eINSTANCE);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static boolean isInited = false;
+
+	/**
+	 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+	 * 
+	 * <p>This method is used to initialize {@link TimingAnalysisPackage#eINSTANCE} when that field is accessed.
+	 * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #eNS_URI
+	 * @see #createPackageContents()
+	 * @see #initializePackageContents()
+	 * @generated
+	 */
+	public static TimingAnalysisPackage init() {
+		if (isInited) return (TimingAnalysisPackage)EPackage.Registry.INSTANCE.getEPackage(TimingAnalysisPackage.eNS_URI);
+
+		// Obtain or create and register package
+		TimingAnalysisPackageImpl theTimingAnalysisPackage = (TimingAnalysisPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof TimingAnalysisPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new TimingAnalysisPackageImpl());
+
+		isInited = true;
+
+		// Initialize simple dependencies
+		MARTEPackage.eINSTANCE.eClass();
+		MeasurementUnitsPackage.eINSTANCE.eClass();
+		GRM_BasicTypesPackage.eINSTANCE.eClass();
+		MARTE_DataTypesPackage.eINSTANCE.eClass();
+		BasicNFP_TypesPackage.eINSTANCE.eClass();
+		TimeTypesLibraryPackage.eINSTANCE.eClass();
+		TimeLibraryPackage.eINSTANCE.eClass();
+		RS_LibraryPackage.eINSTANCE.eClass();
+		MARTE_PrimitivesTypesPackage.eINSTANCE.eClass();
+		BasicNFP_TypesPackage.eINSTANCE.eClass();
+
+		// Obtain or create and register interdependencies
+		chessmlprofilePackageImpl thechessmlprofilePackage = (chessmlprofilePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(chessmlprofilePackage.eNS_URI) instanceof chessmlprofilePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(chessmlprofilePackage.eNS_URI) : chessmlprofilePackage.eINSTANCE);
+		CorePackageImpl theCorePackage = (CorePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(CorePackage.eNS_URI) instanceof CorePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(CorePackage.eNS_URI) : CorePackage.eINSTANCE);
+		CHESSViewsPackageImpl theCHESSViewsPackage = (CHESSViewsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(CHESSViewsPackage.eNS_URI) instanceof CHESSViewsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(CHESSViewsPackage.eNS_URI) : CHESSViewsPackage.eINSTANCE);
+		FailurePropagationPackageImpl theFailurePropagationPackage = (FailurePropagationPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FailurePropagationPackage.eNS_URI) instanceof FailurePropagationPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FailurePropagationPackage.eNS_URI) : FailurePropagationPackage.eINSTANCE);
+		FailurePropagationDataTypesPackageImpl theFailurePropagationDataTypesPackage = (FailurePropagationDataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FailurePropagationDataTypesPackage.eNS_URI) instanceof FailurePropagationDataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FailurePropagationDataTypesPackage.eNS_URI) : FailurePropagationDataTypesPackage.eINSTANCE);
+		DependableComponentPackageImpl theDependableComponentPackage = (DependableComponentPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DependableComponentPackage.eNS_URI) instanceof DependableComponentPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DependableComponentPackage.eNS_URI) : DependableComponentPackage.eINSTANCE);
+		ThreatsPropagationPackageImpl theThreatsPropagationPackage = (ThreatsPropagationPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ThreatsPropagationPackage.eNS_URI) instanceof ThreatsPropagationPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ThreatsPropagationPackage.eNS_URI) : ThreatsPropagationPackage.eINSTANCE);
+		DataFlowCallGraphPackageImpl theDataFlowCallGraphPackage = (DataFlowCallGraphPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DataFlowCallGraphPackage.eNS_URI) instanceof DataFlowCallGraphPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DataFlowCallGraphPackage.eNS_URI) : DataFlowCallGraphPackage.eINSTANCE);
+		StateBasedDataTypesPackageImpl theStateBasedDataTypesPackage = (StateBasedDataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(StateBasedDataTypesPackage.eNS_URI) instanceof StateBasedDataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(StateBasedDataTypesPackage.eNS_URI) : StateBasedDataTypesPackage.eINSTANCE);
+		StateBasedComponentsPackageImpl theStateBasedComponentsPackage = (StateBasedComponentsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(StateBasedComponentsPackage.eNS_URI) instanceof StateBasedComponentsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(StateBasedComponentsPackage.eNS_URI) : StateBasedComponentsPackage.eINSTANCE);
+		FaultTolerancePackageImpl theFaultTolerancePackage = (FaultTolerancePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FaultTolerancePackage.eNS_URI) instanceof FaultTolerancePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FaultTolerancePackage.eNS_URI) : FaultTolerancePackage.eINSTANCE);
+		MaintenanceMonitoringPackageImpl theMaintenanceMonitoringPackage = (MaintenanceMonitoringPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(MaintenanceMonitoringPackage.eNS_URI) instanceof MaintenanceMonitoringPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(MaintenanceMonitoringPackage.eNS_URI) : MaintenanceMonitoringPackage.eINSTANCE);
+		StateBasedAnalysisPackageImpl theStateBasedAnalysisPackage = (StateBasedAnalysisPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(StateBasedAnalysisPackage.eNS_URI) instanceof StateBasedAnalysisPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(StateBasedAnalysisPackage.eNS_URI) : StateBasedAnalysisPackage.eINSTANCE);
+		FMEAPackageImpl theFMEAPackage = (FMEAPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FMEAPackage.eNS_URI) instanceof FMEAPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FMEAPackage.eNS_URI) : FMEAPackage.eINSTANCE);
+		FMEADataTypesPackageImpl theFMEADataTypesPackage = (FMEADataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FMEADataTypesPackage.eNS_URI) instanceof FMEADataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FMEADataTypesPackage.eNS_URI) : FMEADataTypesPackage.eINSTANCE);
+		MitigationMeansPackageImpl theMitigationMeansPackage = (MitigationMeansPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(MitigationMeansPackage.eNS_URI) instanceof MitigationMeansPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(MitigationMeansPackage.eNS_URI) : MitigationMeansPackage.eINSTANCE);
+		TimingConstraintsPackageImpl theTimingConstraintsPackage = (TimingConstraintsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimingConstraintsPackage.eNS_URI) instanceof TimingConstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimingConstraintsPackage.eNS_URI) : TimingConstraintsPackage.eINSTANCE);
+		HardwareBaselinePackageImpl theHardwareBaselinePackage = (HardwareBaselinePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HardwareBaselinePackage.eNS_URI) instanceof HardwareBaselinePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HardwareBaselinePackage.eNS_URI) : HardwareBaselinePackage.eINSTANCE);
+		DeploymentConfAnalysisPackageImpl theDeploymentConfAnalysisPackage = (DeploymentConfAnalysisPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DeploymentConfAnalysisPackage.eNS_URI) instanceof DeploymentConfAnalysisPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DeploymentConfAnalysisPackage.eNS_URI) : DeploymentConfAnalysisPackage.eINSTANCE);
+		RTComponentModelPackageImpl theRTComponentModelPackage = (RTComponentModelPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RTComponentModelPackage.eNS_URI) instanceof RTComponentModelPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RTComponentModelPackage.eNS_URI) : RTComponentModelPackage.eINSTANCE);
+		RTDataTypesPackageImpl theRTDataTypesPackage = (RTDataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RTDataTypesPackage.eNS_URI) instanceof RTDataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RTDataTypesPackage.eNS_URI) : RTDataTypesPackage.eINSTANCE);
+		ComponentModelPackageImpl theComponentModelPackage = (ComponentModelPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ComponentModelPackage.eNS_URI) instanceof ComponentModelPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ComponentModelPackage.eNS_URI) : ComponentModelPackage.eINSTANCE);
+
+		// Create package meta-data objects
+		theTimingAnalysisPackage.createPackageContents();
+		thechessmlprofilePackage.createPackageContents();
+		theCorePackage.createPackageContents();
+		theCHESSViewsPackage.createPackageContents();
+		theFailurePropagationPackage.createPackageContents();
+		theFailurePropagationDataTypesPackage.createPackageContents();
+		theDependableComponentPackage.createPackageContents();
+		theThreatsPropagationPackage.createPackageContents();
+		theDataFlowCallGraphPackage.createPackageContents();
+		theStateBasedDataTypesPackage.createPackageContents();
+		theStateBasedComponentsPackage.createPackageContents();
+		theFaultTolerancePackage.createPackageContents();
+		theMaintenanceMonitoringPackage.createPackageContents();
+		theStateBasedAnalysisPackage.createPackageContents();
+		theFMEAPackage.createPackageContents();
+		theFMEADataTypesPackage.createPackageContents();
+		theMitigationMeansPackage.createPackageContents();
+		theTimingConstraintsPackage.createPackageContents();
+		theHardwareBaselinePackage.createPackageContents();
+		theDeploymentConfAnalysisPackage.createPackageContents();
+		theRTComponentModelPackage.createPackageContents();
+		theRTDataTypesPackage.createPackageContents();
+		theComponentModelPackage.createPackageContents();
+
+		// Initialize created meta-data
+		theTimingAnalysisPackage.initializePackageContents();
+		thechessmlprofilePackage.initializePackageContents();
+		theCorePackage.initializePackageContents();
+		theCHESSViewsPackage.initializePackageContents();
+		theFailurePropagationPackage.initializePackageContents();
+		theFailurePropagationDataTypesPackage.initializePackageContents();
+		theDependableComponentPackage.initializePackageContents();
+		theThreatsPropagationPackage.initializePackageContents();
+		theDataFlowCallGraphPackage.initializePackageContents();
+		theStateBasedDataTypesPackage.initializePackageContents();
+		theStateBasedComponentsPackage.initializePackageContents();
+		theFaultTolerancePackage.initializePackageContents();
+		theMaintenanceMonitoringPackage.initializePackageContents();
+		theStateBasedAnalysisPackage.initializePackageContents();
+		theFMEAPackage.initializePackageContents();
+		theFMEADataTypesPackage.initializePackageContents();
+		theMitigationMeansPackage.initializePackageContents();
+		theTimingConstraintsPackage.initializePackageContents();
+		theHardwareBaselinePackage.initializePackageContents();
+		theDeploymentConfAnalysisPackage.initializePackageContents();
+		theRTComponentModelPackage.initializePackageContents();
+		theRTDataTypesPackage.initializePackageContents();
+		theComponentModelPackage.initializePackageContents();
+
+		// Mark meta-data to indicate it can't be changed
+		theTimingAnalysisPackage.freeze();
+
+  
+		// Update the registry and return the package
+		EPackage.Registry.INSTANCE.put(TimingAnalysisPackage.eNS_URI, theTimingAnalysisPackage);
+		return theTimingAnalysisPackage;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getSimulationBasedTimingAnalysis() {
+		return simulationBasedTimingAnalysisEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getAgeTimingConstraint() {
+		return ageTimingConstraintEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getReactionConstraint() {
+		return reactionConstraintEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getOutputSynchronizationConstraint() {
+		return outputSynchronizationConstraintEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getOutputSynchronizationConstraint_Width() {
+		return (EAttribute)outputSynchronizationConstraintEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getInputSynchronizationConstraint() {
+		return inputSynchronizationConstraintEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getInputSynchronizationConstraint_Width() {
+		return (EAttribute)inputSynchronizationConstraintEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public TimingAnalysisFactory getTimingAnalysisFactory() {
+		return (TimingAnalysisFactory)getEFactoryInstance();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isCreated = false;
+
+	/**
+	 * Creates the meta-model objects for the package.  This method is
+	 * guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void createPackageContents() {
+		if (isCreated) return;
+		isCreated = true;
+
+		// Create classes and their features
+		simulationBasedTimingAnalysisEClass = createEClass(SIMULATION_BASED_TIMING_ANALYSIS);
+
+		ageTimingConstraintEClass = createEClass(AGE_TIMING_CONSTRAINT);
+
+		reactionConstraintEClass = createEClass(REACTION_CONSTRAINT);
+
+		outputSynchronizationConstraintEClass = createEClass(OUTPUT_SYNCHRONIZATION_CONSTRAINT);
+		createEAttribute(outputSynchronizationConstraintEClass, OUTPUT_SYNCHRONIZATION_CONSTRAINT__WIDTH);
+
+		inputSynchronizationConstraintEClass = createEClass(INPUT_SYNCHRONIZATION_CONSTRAINT);
+		createEAttribute(inputSynchronizationConstraintEClass, INPUT_SYNCHRONIZATION_CONSTRAINT__WIDTH);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isInitialized = false;
+
+	/**
+	 * Complete the initialization of the package and its meta-model.  This
+	 * method is guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void initializePackageContents() {
+		if (isInitialized) return;
+		isInitialized = true;
+
+		// Initialize package
+		setName(eNAME);
+		setNsPrefix(eNS_PREFIX);
+		setNsURI(eNS_URI);
+
+		// Obtain other dependent packages
+		TimingConstraintsPackage theTimingConstraintsPackage = (TimingConstraintsPackage)EPackage.Registry.INSTANCE.getEPackage(TimingConstraintsPackage.eNS_URI);
+		GQAMPackage theGQAMPackage = (GQAMPackage)EPackage.Registry.INSTANCE.getEPackage(GQAMPackage.eNS_URI);
+		BasicNFP_TypesPackage theBasicNFP_TypesPackage = (BasicNFP_TypesPackage)EPackage.Registry.INSTANCE.getEPackage(BasicNFP_TypesPackage.eNS_URI);
+
+		// Add subpackages
+		getESubpackages().add(theTimingConstraintsPackage);
+
+		// Create type parameters
+
+		// Set bounds for type parameters
+
+		// Add supertypes to classes
+		simulationBasedTimingAnalysisEClass.getESuperTypes().add(theGQAMPackage.getGaAnalysisContext());
+		ageTimingConstraintEClass.getESuperTypes().add(theGQAMPackage.getGaLatencyObs());
+		reactionConstraintEClass.getESuperTypes().add(theGQAMPackage.getGaLatencyObs());
+		outputSynchronizationConstraintEClass.getESuperTypes().add(theGQAMPackage.getGaLatencyObs());
+		inputSynchronizationConstraintEClass.getESuperTypes().add(theGQAMPackage.getGaLatencyObs());
+
+		// Initialize classes and features; add operations and parameters
+		initEClass(simulationBasedTimingAnalysisEClass, SimulationBasedTimingAnalysis.class, "SimulationBasedTimingAnalysis", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+		initEClass(ageTimingConstraintEClass, AgeTimingConstraint.class, "AgeTimingConstraint", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+		initEClass(reactionConstraintEClass, ReactionConstraint.class, "ReactionConstraint", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+		initEClass(outputSynchronizationConstraintEClass, OutputSynchronizationConstraint.class, "OutputSynchronizationConstraint", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getOutputSynchronizationConstraint_Width(), theBasicNFP_TypesPackage.getNFP_Duration(), "width", null, 1, 1, OutputSynchronizationConstraint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+		initEClass(inputSynchronizationConstraintEClass, InputSynchronizationConstraint.class, "InputSynchronizationConstraint", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getInputSynchronizationConstraint_Width(), theBasicNFP_TypesPackage.getNFP_Duration(), "width", null, 1, 1, InputSynchronizationConstraint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+	}
+
+} //TimingAnalysisPackageImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/util/TimingAnalysisAdapterFactory.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/util/TimingAnalysisAdapterFactory.java
new file mode 100644
index 000000000..3d536e740
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/util/TimingAnalysisAdapterFactory.java
@@ -0,0 +1,312 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.GQAM.GaAnalysisContext;
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.GQAM.GaLatencyObs;
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.GQAM.GaTimedObs;
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.ExpressionContext;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.CoreElements.Configuration;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.NFPs.NfpConstraint;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingAnalysisPackage
+ * @generated
+ */
+public class TimingAnalysisAdapterFactory extends AdapterFactoryImpl {
+	/**
+	 * The cached model package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static TimingAnalysisPackage modelPackage;
+
+	/**
+	 * Creates an instance of the adapter factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public TimingAnalysisAdapterFactory() {
+		if (modelPackage == null) {
+			modelPackage = TimingAnalysisPackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Returns whether this factory is applicable for the type of the object.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+	 * <!-- end-user-doc -->
+	 * @return whether this factory is applicable for the type of the object.
+	 * @generated
+	 */
+	@Override
+	public boolean isFactoryForType(Object object) {
+		if (object == modelPackage) {
+			return true;
+		}
+		if (object instanceof EObject) {
+			return ((EObject)object).eClass().getEPackage() == modelPackage;
+		}
+		return false;
+	}
+
+	/**
+	 * The switch that delegates to the <code>createXXX</code> methods.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected TimingAnalysisSwitch<Adapter> modelSwitch =
+		new TimingAnalysisSwitch<Adapter>() {
+			@Override
+			public Adapter caseSimulationBasedTimingAnalysis(SimulationBasedTimingAnalysis object) {
+				return createSimulationBasedTimingAnalysisAdapter();
+			}
+			@Override
+			public Adapter caseAgeTimingConstraint(AgeTimingConstraint object) {
+				return createAgeTimingConstraintAdapter();
+			}
+			@Override
+			public Adapter caseReactionConstraint(ReactionConstraint object) {
+				return createReactionConstraintAdapter();
+			}
+			@Override
+			public Adapter caseOutputSynchronizationConstraint(OutputSynchronizationConstraint object) {
+				return createOutputSynchronizationConstraintAdapter();
+			}
+			@Override
+			public Adapter caseInputSynchronizationConstraint(InputSynchronizationConstraint object) {
+				return createInputSynchronizationConstraintAdapter();
+			}
+			@Override
+			public Adapter caseConfiguration(Configuration object) {
+				return createConfigurationAdapter();
+			}
+			@Override
+			public Adapter caseExpressionContext(ExpressionContext object) {
+				return createExpressionContextAdapter();
+			}
+			@Override
+			public Adapter caseGaAnalysisContext(GaAnalysisContext object) {
+				return createGaAnalysisContextAdapter();
+			}
+			@Override
+			public Adapter caseNfpConstraint(NfpConstraint object) {
+				return createNfpConstraintAdapter();
+			}
+			@Override
+			public Adapter caseGaTimedObs(GaTimedObs object) {
+				return createGaTimedObsAdapter();
+			}
+			@Override
+			public Adapter caseGaLatencyObs(GaLatencyObs object) {
+				return createGaLatencyObsAdapter();
+			}
+			@Override
+			public Adapter defaultCase(EObject object) {
+				return createEObjectAdapter();
+			}
+		};
+
+	/**
+	 * Creates an adapter for the <code>target</code>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param target the object to adapt.
+	 * @return the adapter for the <code>target</code>.
+	 * @generated
+	 */
+	@Override
+	public Adapter createAdapter(Notifier target) {
+		return modelSwitch.doSwitch((EObject)target);
+	}
+
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.SimulationBasedTimingAnalysis <em>Simulation Based Timing Analysis</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.SimulationBasedTimingAnalysis
+	 * @generated
+	 */
+	public Adapter createSimulationBasedTimingAnalysisAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.AgeTimingConstraint <em>Age Timing Constraint</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.AgeTimingConstraint
+	 * @generated
+	 */
+	public Adapter createAgeTimingConstraintAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.ReactionConstraint <em>Reaction Constraint</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.ReactionConstraint
+	 * @generated
+	 */
+	public Adapter createReactionConstraintAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.OutputSynchronizationConstraint <em>Output Synchronization Constraint</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.OutputSynchronizationConstraint
+	 * @generated
+	 */
+	public Adapter createOutputSynchronizationConstraintAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.InputSynchronizationConstraint <em>Input Synchronization Constraint</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.InputSynchronizationConstraint
+	 * @generated
+	 */
+	public Adapter createInputSynchronizationConstraintAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_Foundations.CoreElements.Configuration <em>Configuration</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.papyrus.MARTE.MARTE_Foundations.CoreElements.Configuration
+	 * @generated
+	 */
+	public Adapter createConfigurationAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.ExpressionContext <em>Expression Context</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.ExpressionContext
+	 * @generated
+	 */
+	public Adapter createExpressionContextAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.GQAM.GaAnalysisContext <em>Ga Analysis Context</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.GQAM.GaAnalysisContext
+	 * @generated
+	 */
+	public Adapter createGaAnalysisContextAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_Foundations.NFPs.NfpConstraint <em>Nfp Constraint</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.papyrus.MARTE.MARTE_Foundations.NFPs.NfpConstraint
+	 * @generated
+	 */
+	public Adapter createNfpConstraintAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.GQAM.GaTimedObs <em>Ga Timed Obs</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.GQAM.GaTimedObs
+	 * @generated
+	 */
+	public Adapter createGaTimedObsAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.GQAM.GaLatencyObs <em>Ga Latency Obs</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.GQAM.GaLatencyObs
+	 * @generated
+	 */
+	public Adapter createGaLatencyObsAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for the default case.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @generated
+	 */
+	public Adapter createEObjectAdapter() {
+		return null;
+	}
+
+} //TimingAnalysisAdapterFactory
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/util/TimingAnalysisResourceFactoryImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/util/TimingAnalysisResourceFactoryImpl.java
new file mode 100644
index 000000000..8ca3fdee3
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/util/TimingAnalysisResourceFactoryImpl.java
@@ -0,0 +1,61 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.util;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.resource.impl.ResourceFactoryImpl;
+
+import org.eclipse.emf.ecore.xmi.XMLResource;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource Factory</b> associated with the package.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.util.TimingAnalysisResourceImpl
+ * @generated
+ */
+public class TimingAnalysisResourceFactoryImpl extends ResourceFactoryImpl {
+	/**
+	 * Creates an instance of the resource factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public TimingAnalysisResourceFactoryImpl() {
+		super();
+	}
+
+	/**
+	 * Creates an instance of the resource.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Resource createResource(URI uri) {
+		XMLResource result = new TimingAnalysisResourceImpl(uri);
+		result.getDefaultSaveOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
+		result.getDefaultLoadOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
+
+		result.getDefaultSaveOptions().put(XMLResource.OPTION_SCHEMA_LOCATION, Boolean.TRUE);
+
+		result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+		result.getDefaultSaveOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+
+		result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_LEXICAL_HANDLER, Boolean.TRUE);
+		return result;
+	}
+
+} //TimingAnalysisResourceFactoryImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/util/TimingAnalysisResourceImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/util/TimingAnalysisResourceImpl.java
new file mode 100644
index 000000000..3a9aabe5f
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/util/TimingAnalysisResourceImpl.java
@@ -0,0 +1,37 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.util;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource </b> associated with the package.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.util.TimingAnalysisResourceFactoryImpl
+ * @generated
+ */
+public class TimingAnalysisResourceImpl extends XMLResourceImpl {
+	/**
+	 * Creates an instance of the resource.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param uri the URI of the new resource.
+	 * @generated
+	 */
+	public TimingAnalysisResourceImpl(URI uri) {
+		super(uri);
+	}
+
+} //TimingAnalysisResourceImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/util/TimingAnalysisSwitch.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/util/TimingAnalysisSwitch.java
new file mode 100644
index 000000000..b6b754fc4
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/util/TimingAnalysisSwitch.java
@@ -0,0 +1,312 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.util.Switch;
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.GQAM.GaAnalysisContext;
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.GQAM.GaLatencyObs;
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.GQAM.GaTimedObs;
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.ExpressionContext;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.CoreElements.Configuration;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.NFPs.NfpConstraint;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingAnalysisPackage
+ * @generated
+ */
+public class TimingAnalysisSwitch<T> extends Switch<T> {
+	/**
+	 * The cached model package
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static TimingAnalysisPackage modelPackage;
+
+	/**
+	 * Creates an instance of the switch.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public TimingAnalysisSwitch() {
+		if (modelPackage == null) {
+			modelPackage = TimingAnalysisPackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Checks whether this is a switch for the given package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @parameter ePackage the package in question.
+	 * @return whether this is a switch for the given package.
+	 * @generated
+	 */
+	@Override
+	protected boolean isSwitchFor(EPackage ePackage) {
+		return ePackage == modelPackage;
+	}
+
+	/**
+	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the first non-null result returned by a <code>caseXXX</code> call.
+	 * @generated
+	 */
+	@Override
+	protected T doSwitch(int classifierID, EObject theEObject) {
+		switch (classifierID) {
+			case TimingAnalysisPackage.SIMULATION_BASED_TIMING_ANALYSIS: {
+				SimulationBasedTimingAnalysis simulationBasedTimingAnalysis = (SimulationBasedTimingAnalysis)theEObject;
+				T result = caseSimulationBasedTimingAnalysis(simulationBasedTimingAnalysis);
+				if (result == null) result = caseGaAnalysisContext(simulationBasedTimingAnalysis);
+				if (result == null) result = caseConfiguration(simulationBasedTimingAnalysis);
+				if (result == null) result = caseExpressionContext(simulationBasedTimingAnalysis);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case TimingAnalysisPackage.AGE_TIMING_CONSTRAINT: {
+				AgeTimingConstraint ageTimingConstraint = (AgeTimingConstraint)theEObject;
+				T result = caseAgeTimingConstraint(ageTimingConstraint);
+				if (result == null) result = caseGaLatencyObs(ageTimingConstraint);
+				if (result == null) result = caseGaTimedObs(ageTimingConstraint);
+				if (result == null) result = caseNfpConstraint(ageTimingConstraint);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case TimingAnalysisPackage.REACTION_CONSTRAINT: {
+				ReactionConstraint reactionConstraint = (ReactionConstraint)theEObject;
+				T result = caseReactionConstraint(reactionConstraint);
+				if (result == null) result = caseGaLatencyObs(reactionConstraint);
+				if (result == null) result = caseGaTimedObs(reactionConstraint);
+				if (result == null) result = caseNfpConstraint(reactionConstraint);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case TimingAnalysisPackage.OUTPUT_SYNCHRONIZATION_CONSTRAINT: {
+				OutputSynchronizationConstraint outputSynchronizationConstraint = (OutputSynchronizationConstraint)theEObject;
+				T result = caseOutputSynchronizationConstraint(outputSynchronizationConstraint);
+				if (result == null) result = caseGaLatencyObs(outputSynchronizationConstraint);
+				if (result == null) result = caseGaTimedObs(outputSynchronizationConstraint);
+				if (result == null) result = caseNfpConstraint(outputSynchronizationConstraint);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case TimingAnalysisPackage.INPUT_SYNCHRONIZATION_CONSTRAINT: {
+				InputSynchronizationConstraint inputSynchronizationConstraint = (InputSynchronizationConstraint)theEObject;
+				T result = caseInputSynchronizationConstraint(inputSynchronizationConstraint);
+				if (result == null) result = caseGaLatencyObs(inputSynchronizationConstraint);
+				if (result == null) result = caseGaTimedObs(inputSynchronizationConstraint);
+				if (result == null) result = caseNfpConstraint(inputSynchronizationConstraint);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			default: return defaultCase(theEObject);
+		}
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Simulation Based Timing Analysis</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Simulation Based Timing Analysis</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseSimulationBasedTimingAnalysis(SimulationBasedTimingAnalysis object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Age Timing Constraint</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Age Timing Constraint</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseAgeTimingConstraint(AgeTimingConstraint object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Reaction Constraint</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Reaction Constraint</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseReactionConstraint(ReactionConstraint object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Output Synchronization Constraint</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Output Synchronization Constraint</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseOutputSynchronizationConstraint(OutputSynchronizationConstraint object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Input Synchronization Constraint</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Input Synchronization Constraint</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseInputSynchronizationConstraint(InputSynchronizationConstraint object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Configuration</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Configuration</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseConfiguration(Configuration object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Expression Context</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Expression Context</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseExpressionContext(ExpressionContext object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Ga Analysis Context</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Ga Analysis Context</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseGaAnalysisContext(GaAnalysisContext object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Nfp Constraint</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Nfp Constraint</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseNfpConstraint(NfpConstraint object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Ga Timed Obs</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Ga Timed Obs</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseGaTimedObs(GaTimedObs object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Ga Latency Obs</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Ga Latency Obs</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseGaLatencyObs(GaLatencyObs object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch, but this is the last case anyway.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+	 * @generated
+	 */
+	@Override
+	public T defaultCase(EObject object) {
+		return null;
+	}
+
+} //TimingAnalysisSwitch
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/util/TimingAnalysisXMLProcessor.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/util/TimingAnalysisXMLProcessor.java
new file mode 100644
index 000000000..b74a66430
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/Predictability/TimingAnalysis/util/TimingAnalysisXMLProcessor.java
@@ -0,0 +1,56 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.util;
+
+import java.util.Map;
+
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.xmi.util.XMLProcessor;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingAnalysisPackage;
+
+/**
+ * This class contains helper methods to serialize and deserialize XML documents
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class TimingAnalysisXMLProcessor extends XMLProcessor {
+
+	/**
+	 * Public constructor to instantiate the helper.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public TimingAnalysisXMLProcessor() {
+		super((EPackage.Registry.INSTANCE));
+		TimingAnalysisPackage.eINSTANCE.eClass();
+	}
+	
+	/**
+	 * Register for "*" and "xml" file extensions the TimingAnalysisResourceFactoryImpl factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected Map<String, Resource.Factory> getRegistrations() {
+		if (registrations == null) {
+			super.getRegistrations();
+			registrations.put(XML_EXTENSION, new TimingAnalysisResourceFactoryImpl());
+			registrations.put(STAR_EXTENSION, new TimingAnalysisResourceFactoryImpl());
+		}
+		return registrations;
+	}
+
+} //TimingAnalysisXMLProcessor
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/chessmlprofileFactory.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/chessmlprofileFactory.java
new file mode 100644
index 000000000..9abbbdaf5
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/chessmlprofileFactory.java
@@ -0,0 +1,51 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.chessmlprofilePackage
+ * @generated
+ */
+public interface chessmlprofileFactory extends EFactory {
+	/**
+	 * The singleton instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	chessmlprofileFactory eINSTANCE = org.polarsys.chess.chessmlprofile.impl.chessmlprofileFactoryImpl.init();
+
+	/**
+	 * Returns a new object of class '<em>dummy</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>dummy</em>'.
+	 * @generated
+	 */
+	dummy createdummy();
+
+	/**
+	 * Returns the package supported by this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the package supported by this factory.
+	 * @generated
+	 */
+	chessmlprofilePackage getchessmlprofilePackage();
+
+} //chessmlprofileFactory
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/chessmlprofilePackage.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/chessmlprofilePackage.java
new file mode 100644
index 000000000..c7cf5b483
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/chessmlprofilePackage.java
@@ -0,0 +1,130 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ *   <li>each class,</li>
+ *   <li>each feature of each class,</li>
+ *   <li>each enum,</li>
+ *   <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.chessmlprofileFactory
+ * @model kind="package"
+ *        annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='CHESS'"
+ * @generated
+ */
+public interface chessmlprofilePackage extends EPackage {
+	/**
+	 * The package name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNAME = "chessmlprofile";
+
+	/**
+	 * The package namespace URI.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_URI = "http://CHESS";
+
+	/**
+	 * The package namespace name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_PREFIX = "CHESS";
+
+	/**
+	 * The singleton instance of the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	chessmlprofilePackage eINSTANCE = org.polarsys.chess.chessmlprofile.impl.chessmlprofilePackageImpl.init();
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.chessmlprofile.impl.dummyImpl <em>dummy</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.chessmlprofile.impl.dummyImpl
+	 * @see org.polarsys.chess.chessmlprofile.impl.chessmlprofilePackageImpl#getdummy()
+	 * @generated
+	 */
+	int DUMMY = 0;
+
+	/**
+	 * The number of structural features of the '<em>dummy</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DUMMY_FEATURE_COUNT = 0;
+
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.chessmlprofile.dummy <em>dummy</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>dummy</em>'.
+	 * @see org.polarsys.chess.chessmlprofile.dummy
+	 * @generated
+	 */
+	EClass getdummy();
+
+	/**
+	 * Returns the factory that creates the instances of the model.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the factory that creates the instances of the model.
+	 * @generated
+	 */
+	chessmlprofileFactory getchessmlprofileFactory();
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * Defines literals for the meta objects that represent
+	 * <ul>
+	 *   <li>each class,</li>
+	 *   <li>each feature of each class,</li>
+	 *   <li>each enum,</li>
+	 *   <li>and each data type</li>
+	 * </ul>
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	interface Literals {
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.chessmlprofile.impl.dummyImpl <em>dummy</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.chessmlprofile.impl.dummyImpl
+		 * @see org.polarsys.chess.chessmlprofile.impl.chessmlprofilePackageImpl#getdummy()
+		 * @generated
+		 */
+		EClass DUMMY = eINSTANCE.getdummy();
+
+	}
+
+} //chessmlprofilePackage
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/dummy.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/dummy.java
new file mode 100644
index 000000000..c2699d081
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/dummy.java
@@ -0,0 +1,29 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>dummy</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.polarsys.chess.chessmlprofile.chessmlprofilePackage#getdummy()
+ * @model
+ * @generated
+ */
+public interface dummy extends EObject {
+	
+	
+} // dummy
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/impl/chessmlprofileFactoryImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/impl/chessmlprofileFactoryImpl.java
new file mode 100644
index 000000000..8bcc55de4
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/impl/chessmlprofileFactoryImpl.java
@@ -0,0 +1,101 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.polarsys.chess.chessmlprofile.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class chessmlprofileFactoryImpl extends EFactoryImpl implements chessmlprofileFactory {
+	/**
+	 * Creates the default factory implementation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static chessmlprofileFactory init() {
+		try {
+			chessmlprofileFactory thechessmlprofileFactory = (chessmlprofileFactory)EPackage.Registry.INSTANCE.getEFactory(chessmlprofilePackage.eNS_URI);
+			if (thechessmlprofileFactory != null) {
+				return thechessmlprofileFactory;
+			}
+		}
+		catch (Exception exception) {
+			EcorePlugin.INSTANCE.log(exception);
+		}
+		return new chessmlprofileFactoryImpl();
+	}
+
+	/**
+	 * Creates an instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public chessmlprofileFactoryImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EObject create(EClass eClass) {
+		switch (eClass.getClassifierID()) {
+			case chessmlprofilePackage.DUMMY: return createdummy();
+			default:
+				throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public dummy createdummy() {
+		dummyImpl dummy = new dummyImpl();
+		return dummy;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public chessmlprofilePackage getchessmlprofilePackage() {
+		return (chessmlprofilePackage)getEPackage();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @deprecated
+	 * @generated
+	 */
+	@Deprecated
+	public static chessmlprofilePackage getPackage() {
+		return chessmlprofilePackage.eINSTANCE;
+	}
+
+} //chessmlprofileFactoryImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/impl/chessmlprofilePackageImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/impl/chessmlprofilePackageImpl.java
new file mode 100644
index 000000000..696c0120e
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/impl/chessmlprofilePackageImpl.java
@@ -0,0 +1,363 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+import org.eclipse.papyrus.MARTE.MARTEPackage;
+import org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.BasicNFP_TypesPackage;
+import org.eclipse.papyrus.MARTE_Library.GRM_BasicTypes.GRM_BasicTypesPackage;
+import org.eclipse.papyrus.MARTE_Library.MARTE_DataTypes.MARTE_DataTypesPackage;
+import org.eclipse.papyrus.MARTE_Library.MARTE_PrimitivesTypes.MARTE_PrimitivesTypesPackage;
+import org.eclipse.papyrus.MARTE_Library.MeasurementUnits.MeasurementUnitsPackage;
+import org.eclipse.papyrus.MARTE_Library.RS_Library.RS_LibraryPackage;
+import org.eclipse.papyrus.MARTE_Library.TimeLibrary.TimeLibraryPackage;
+import org.eclipse.papyrus.MARTE_Library.TimeTypesLibrary.TimeTypesLibraryPackage;
+import org.polarsys.chess.chessmlprofile.chessmlprofileFactory;
+import org.polarsys.chess.chessmlprofile.chessmlprofilePackage;
+import org.polarsys.chess.chessmlprofile.dummy;
+import org.polarsys.chess.chessmlprofile.ComponentModel.ComponentModelPackage;
+import org.polarsys.chess.chessmlprofile.ComponentModel.impl.ComponentModelPackageImpl;
+import org.polarsys.chess.chessmlprofile.Core.CorePackage;
+import org.polarsys.chess.chessmlprofile.Core.CHESSViews.CHESSViewsPackage;
+import org.polarsys.chess.chessmlprofile.Core.CHESSViews.impl.CHESSViewsPackageImpl;
+import org.polarsys.chess.chessmlprofile.Core.impl.CorePackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.DataFlowCallGraph.DataFlowCallGraphPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.DataFlowCallGraph.impl.DataFlowCallGraphPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.DependableComponentPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.DependableComponent.impl.DependableComponentPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEAPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEADataTypes.FMEADataTypesPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.FMEADataTypes.impl.FMEADataTypesPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.FMEA.impl.FMEAPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.FailurePropagationDataTypesPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.FailurePropagationDataTypes.impl.FailurePropagationDataTypesPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.FailurePropagation.impl.FailurePropagationPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans.MitigationMeansPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans.impl.MitigationMeansPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.FaultTolerancePackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.FaultTolerance.impl.FaultTolerancePackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.MaintenanceMonitoringPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.MaintenanceMonitoring.impl.MaintenanceMonitoringPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.StateBasedAnalysisPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedAnalysis.impl.StateBasedAnalysisPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.StateBasedComponentsPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedComponents.impl.StateBasedComponentsPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.StateBasedDataTypesPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.StateBased.StateBasedDataTypes.impl.StateBasedDataTypesPackageImpl;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.ThreatsPropagationPackage;
+import org.polarsys.chess.chessmlprofile.Dependability.ThreatsPropagation.impl.ThreatsPropagationPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.DeploymentConfAnalysisPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.DeploymentConfAnalysis.impl.DeploymentConfAnalysisPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.HardwareBaselinePackage;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.impl.HardwareBaselinePackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTComponentModelPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.RTDataTypesPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.RTDataTypes.impl.RTDataTypesPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.impl.RTComponentModelPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingAnalysisPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.TimingConstraintsPackage;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.TimingConstraints.impl.TimingConstraintsPackageImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.TimingAnalysis.impl.TimingAnalysisPackageImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class chessmlprofilePackageImpl extends EPackageImpl implements chessmlprofilePackage {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass dummyEClass = null;
+
+	/**
+	 * Creates an instance of the model <b>Package</b>, registered with
+	 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+	 * package URI value.
+	 * <p>Note: the correct way to create the package is via the static
+	 * factory method {@link #init init()}, which also performs
+	 * initialization of the package, or returns the registered package,
+	 * if one already exists.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.emf.ecore.EPackage.Registry
+	 * @see org.polarsys.chess.chessmlprofile.chessmlprofilePackage#eNS_URI
+	 * @see #init()
+	 * @generated
+	 */
+	private chessmlprofilePackageImpl() {
+		super(eNS_URI, chessmlprofileFactory.eINSTANCE);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static boolean isInited = false;
+
+	/**
+	 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+	 * 
+	 * <p>This method is used to initialize {@link chessmlprofilePackage#eINSTANCE} when that field is accessed.
+	 * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #eNS_URI
+	 * @see #createPackageContents()
+	 * @see #initializePackageContents()
+	 * @generated
+	 */
+	public static chessmlprofilePackage init() {
+		if (isInited) return (chessmlprofilePackage)EPackage.Registry.INSTANCE.getEPackage(chessmlprofilePackage.eNS_URI);
+
+		// Obtain or create and register package
+		chessmlprofilePackageImpl thechessmlprofilePackage = (chessmlprofilePackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof chessmlprofilePackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new chessmlprofilePackageImpl());
+
+		isInited = true;
+
+		// Initialize simple dependencies
+		MARTEPackage.eINSTANCE.eClass();
+		MeasurementUnitsPackage.eINSTANCE.eClass();
+		GRM_BasicTypesPackage.eINSTANCE.eClass();
+		MARTE_DataTypesPackage.eINSTANCE.eClass();
+		BasicNFP_TypesPackage.eINSTANCE.eClass();
+		TimeTypesLibraryPackage.eINSTANCE.eClass();
+		TimeLibraryPackage.eINSTANCE.eClass();
+		RS_LibraryPackage.eINSTANCE.eClass();
+		MARTE_PrimitivesTypesPackage.eINSTANCE.eClass();
+		BasicNFP_TypesPackage.eINSTANCE.eClass();
+
+		// Obtain or create and register interdependencies
+		CorePackageImpl theCorePackage = (CorePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(CorePackage.eNS_URI) instanceof CorePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(CorePackage.eNS_URI) : CorePackage.eINSTANCE);
+		CHESSViewsPackageImpl theCHESSViewsPackage = (CHESSViewsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(CHESSViewsPackage.eNS_URI) instanceof CHESSViewsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(CHESSViewsPackage.eNS_URI) : CHESSViewsPackage.eINSTANCE);
+		FailurePropagationPackageImpl theFailurePropagationPackage = (FailurePropagationPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FailurePropagationPackage.eNS_URI) instanceof FailurePropagationPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FailurePropagationPackage.eNS_URI) : FailurePropagationPackage.eINSTANCE);
+		FailurePropagationDataTypesPackageImpl theFailurePropagationDataTypesPackage = (FailurePropagationDataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FailurePropagationDataTypesPackage.eNS_URI) instanceof FailurePropagationDataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FailurePropagationDataTypesPackage.eNS_URI) : FailurePropagationDataTypesPackage.eINSTANCE);
+		DependableComponentPackageImpl theDependableComponentPackage = (DependableComponentPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DependableComponentPackage.eNS_URI) instanceof DependableComponentPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DependableComponentPackage.eNS_URI) : DependableComponentPackage.eINSTANCE);
+		ThreatsPropagationPackageImpl theThreatsPropagationPackage = (ThreatsPropagationPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ThreatsPropagationPackage.eNS_URI) instanceof ThreatsPropagationPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ThreatsPropagationPackage.eNS_URI) : ThreatsPropagationPackage.eINSTANCE);
+		DataFlowCallGraphPackageImpl theDataFlowCallGraphPackage = (DataFlowCallGraphPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DataFlowCallGraphPackage.eNS_URI) instanceof DataFlowCallGraphPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DataFlowCallGraphPackage.eNS_URI) : DataFlowCallGraphPackage.eINSTANCE);
+		StateBasedDataTypesPackageImpl theStateBasedDataTypesPackage = (StateBasedDataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(StateBasedDataTypesPackage.eNS_URI) instanceof StateBasedDataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(StateBasedDataTypesPackage.eNS_URI) : StateBasedDataTypesPackage.eINSTANCE);
+		StateBasedComponentsPackageImpl theStateBasedComponentsPackage = (StateBasedComponentsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(StateBasedComponentsPackage.eNS_URI) instanceof StateBasedComponentsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(StateBasedComponentsPackage.eNS_URI) : StateBasedComponentsPackage.eINSTANCE);
+		FaultTolerancePackageImpl theFaultTolerancePackage = (FaultTolerancePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FaultTolerancePackage.eNS_URI) instanceof FaultTolerancePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FaultTolerancePackage.eNS_URI) : FaultTolerancePackage.eINSTANCE);
+		MaintenanceMonitoringPackageImpl theMaintenanceMonitoringPackage = (MaintenanceMonitoringPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(MaintenanceMonitoringPackage.eNS_URI) instanceof MaintenanceMonitoringPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(MaintenanceMonitoringPackage.eNS_URI) : MaintenanceMonitoringPackage.eINSTANCE);
+		StateBasedAnalysisPackageImpl theStateBasedAnalysisPackage = (StateBasedAnalysisPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(StateBasedAnalysisPackage.eNS_URI) instanceof StateBasedAnalysisPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(StateBasedAnalysisPackage.eNS_URI) : StateBasedAnalysisPackage.eINSTANCE);
+		FMEAPackageImpl theFMEAPackage = (FMEAPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FMEAPackage.eNS_URI) instanceof FMEAPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FMEAPackage.eNS_URI) : FMEAPackage.eINSTANCE);
+		FMEADataTypesPackageImpl theFMEADataTypesPackage = (FMEADataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FMEADataTypesPackage.eNS_URI) instanceof FMEADataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FMEADataTypesPackage.eNS_URI) : FMEADataTypesPackage.eINSTANCE);
+		MitigationMeansPackageImpl theMitigationMeansPackage = (MitigationMeansPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(MitigationMeansPackage.eNS_URI) instanceof MitigationMeansPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(MitigationMeansPackage.eNS_URI) : MitigationMeansPackage.eINSTANCE);
+		TimingAnalysisPackageImpl theTimingAnalysisPackage = (TimingAnalysisPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimingAnalysisPackage.eNS_URI) instanceof TimingAnalysisPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimingAnalysisPackage.eNS_URI) : TimingAnalysisPackage.eINSTANCE);
+		TimingConstraintsPackageImpl theTimingConstraintsPackage = (TimingConstraintsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimingConstraintsPackage.eNS_URI) instanceof TimingConstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimingConstraintsPackage.eNS_URI) : TimingConstraintsPackage.eINSTANCE);
+		HardwareBaselinePackageImpl theHardwareBaselinePackage = (HardwareBaselinePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HardwareBaselinePackage.eNS_URI) instanceof HardwareBaselinePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HardwareBaselinePackage.eNS_URI) : HardwareBaselinePackage.eINSTANCE);
+		DeploymentConfAnalysisPackageImpl theDeploymentConfAnalysisPackage = (DeploymentConfAnalysisPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DeploymentConfAnalysisPackage.eNS_URI) instanceof DeploymentConfAnalysisPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DeploymentConfAnalysisPackage.eNS_URI) : DeploymentConfAnalysisPackage.eINSTANCE);
+		RTComponentModelPackageImpl theRTComponentModelPackage = (RTComponentModelPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RTComponentModelPackage.eNS_URI) instanceof RTComponentModelPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RTComponentModelPackage.eNS_URI) : RTComponentModelPackage.eINSTANCE);
+		RTDataTypesPackageImpl theRTDataTypesPackage = (RTDataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RTDataTypesPackage.eNS_URI) instanceof RTDataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RTDataTypesPackage.eNS_URI) : RTDataTypesPackage.eINSTANCE);
+		ComponentModelPackageImpl theComponentModelPackage = (ComponentModelPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ComponentModelPackage.eNS_URI) instanceof ComponentModelPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ComponentModelPackage.eNS_URI) : ComponentModelPackage.eINSTANCE);
+
+		// Create package meta-data objects
+		thechessmlprofilePackage.createPackageContents();
+		theCorePackage.createPackageContents();
+		theCHESSViewsPackage.createPackageContents();
+		theFailurePropagationPackage.createPackageContents();
+		theFailurePropagationDataTypesPackage.createPackageContents();
+		theDependableComponentPackage.createPackageContents();
+		theThreatsPropagationPackage.createPackageContents();
+		theDataFlowCallGraphPackage.createPackageContents();
+		theStateBasedDataTypesPackage.createPackageContents();
+		theStateBasedComponentsPackage.createPackageContents();
+		theFaultTolerancePackage.createPackageContents();
+		theMaintenanceMonitoringPackage.createPackageContents();
+		theStateBasedAnalysisPackage.createPackageContents();
+		theFMEAPackage.createPackageContents();
+		theFMEADataTypesPackage.createPackageContents();
+		theMitigationMeansPackage.createPackageContents();
+		theTimingAnalysisPackage.createPackageContents();
+		theTimingConstraintsPackage.createPackageContents();
+		theHardwareBaselinePackage.createPackageContents();
+		theDeploymentConfAnalysisPackage.createPackageContents();
+		theRTComponentModelPackage.createPackageContents();
+		theRTDataTypesPackage.createPackageContents();
+		theComponentModelPackage.createPackageContents();
+
+		// Initialize created meta-data
+		thechessmlprofilePackage.initializePackageContents();
+		theCorePackage.initializePackageContents();
+		theCHESSViewsPackage.initializePackageContents();
+		theFailurePropagationPackage.initializePackageContents();
+		theFailurePropagationDataTypesPackage.initializePackageContents();
+		theDependableComponentPackage.initializePackageContents();
+		theThreatsPropagationPackage.initializePackageContents();
+		theDataFlowCallGraphPackage.initializePackageContents();
+		theStateBasedDataTypesPackage.initializePackageContents();
+		theStateBasedComponentsPackage.initializePackageContents();
+		theFaultTolerancePackage.initializePackageContents();
+		theMaintenanceMonitoringPackage.initializePackageContents();
+		theStateBasedAnalysisPackage.initializePackageContents();
+		theFMEAPackage.initializePackageContents();
+		theFMEADataTypesPackage.initializePackageContents();
+		theMitigationMeansPackage.initializePackageContents();
+		theTimingAnalysisPackage.initializePackageContents();
+		theTimingConstraintsPackage.initializePackageContents();
+		theHardwareBaselinePackage.initializePackageContents();
+		theDeploymentConfAnalysisPackage.initializePackageContents();
+		theRTComponentModelPackage.initializePackageContents();
+		theRTDataTypesPackage.initializePackageContents();
+		theComponentModelPackage.initializePackageContents();
+
+		// Mark meta-data to indicate it can't be changed
+		thechessmlprofilePackage.freeze();
+
+  
+		// Update the registry and return the package
+		EPackage.Registry.INSTANCE.put(chessmlprofilePackage.eNS_URI, thechessmlprofilePackage);
+		return thechessmlprofilePackage;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getdummy() {
+		return dummyEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public chessmlprofileFactory getchessmlprofileFactory() {
+		return (chessmlprofileFactory)getEFactoryInstance();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isCreated = false;
+
+	/**
+	 * Creates the meta-model objects for the package.  This method is
+	 * guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void createPackageContents() {
+		if (isCreated) return;
+		isCreated = true;
+
+		// Create classes and their features
+		dummyEClass = createEClass(DUMMY);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isInitialized = false;
+
+	/**
+	 * Complete the initialization of the package and its meta-model.  This
+	 * method is guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void initializePackageContents() {
+		if (isInitialized) return;
+		isInitialized = true;
+
+		// Initialize package
+		setName(eNAME);
+		setNsPrefix(eNS_PREFIX);
+		setNsURI(eNS_URI);
+
+		// Obtain other dependent packages
+		CorePackage theCorePackage = (CorePackage)EPackage.Registry.INSTANCE.getEPackage(CorePackage.eNS_URI);
+		FailurePropagationPackage theFailurePropagationPackage = (FailurePropagationPackage)EPackage.Registry.INSTANCE.getEPackage(FailurePropagationPackage.eNS_URI);
+		DependableComponentPackage theDependableComponentPackage = (DependableComponentPackage)EPackage.Registry.INSTANCE.getEPackage(DependableComponentPackage.eNS_URI);
+		ThreatsPropagationPackage theThreatsPropagationPackage = (ThreatsPropagationPackage)EPackage.Registry.INSTANCE.getEPackage(ThreatsPropagationPackage.eNS_URI);
+		DataFlowCallGraphPackage theDataFlowCallGraphPackage = (DataFlowCallGraphPackage)EPackage.Registry.INSTANCE.getEPackage(DataFlowCallGraphPackage.eNS_URI);
+		StateBasedDataTypesPackage theStateBasedDataTypesPackage = (StateBasedDataTypesPackage)EPackage.Registry.INSTANCE.getEPackage(StateBasedDataTypesPackage.eNS_URI);
+		StateBasedComponentsPackage theStateBasedComponentsPackage = (StateBasedComponentsPackage)EPackage.Registry.INSTANCE.getEPackage(StateBasedComponentsPackage.eNS_URI);
+		FaultTolerancePackage theFaultTolerancePackage = (FaultTolerancePackage)EPackage.Registry.INSTANCE.getEPackage(FaultTolerancePackage.eNS_URI);
+		MaintenanceMonitoringPackage theMaintenanceMonitoringPackage = (MaintenanceMonitoringPackage)EPackage.Registry.INSTANCE.getEPackage(MaintenanceMonitoringPackage.eNS_URI);
+		StateBasedAnalysisPackage theStateBasedAnalysisPackage = (StateBasedAnalysisPackage)EPackage.Registry.INSTANCE.getEPackage(StateBasedAnalysisPackage.eNS_URI);
+		FMEAPackage theFMEAPackage = (FMEAPackage)EPackage.Registry.INSTANCE.getEPackage(FMEAPackage.eNS_URI);
+		MitigationMeansPackage theMitigationMeansPackage = (MitigationMeansPackage)EPackage.Registry.INSTANCE.getEPackage(MitigationMeansPackage.eNS_URI);
+		TimingAnalysisPackage theTimingAnalysisPackage = (TimingAnalysisPackage)EPackage.Registry.INSTANCE.getEPackage(TimingAnalysisPackage.eNS_URI);
+		HardwareBaselinePackage theHardwareBaselinePackage = (HardwareBaselinePackage)EPackage.Registry.INSTANCE.getEPackage(HardwareBaselinePackage.eNS_URI);
+		DeploymentConfAnalysisPackage theDeploymentConfAnalysisPackage = (DeploymentConfAnalysisPackage)EPackage.Registry.INSTANCE.getEPackage(DeploymentConfAnalysisPackage.eNS_URI);
+		RTComponentModelPackage theRTComponentModelPackage = (RTComponentModelPackage)EPackage.Registry.INSTANCE.getEPackage(RTComponentModelPackage.eNS_URI);
+		ComponentModelPackage theComponentModelPackage = (ComponentModelPackage)EPackage.Registry.INSTANCE.getEPackage(ComponentModelPackage.eNS_URI);
+
+		// Add subpackages
+		getESubpackages().add(theCorePackage);
+		getESubpackages().add(theFailurePropagationPackage);
+		getESubpackages().add(theDependableComponentPackage);
+		getESubpackages().add(theThreatsPropagationPackage);
+		getESubpackages().add(theDataFlowCallGraphPackage);
+		getESubpackages().add(theStateBasedDataTypesPackage);
+		getESubpackages().add(theStateBasedComponentsPackage);
+		getESubpackages().add(theFaultTolerancePackage);
+		getESubpackages().add(theMaintenanceMonitoringPackage);
+		getESubpackages().add(theStateBasedAnalysisPackage);
+		getESubpackages().add(theFMEAPackage);
+		getESubpackages().add(theMitigationMeansPackage);
+		getESubpackages().add(theTimingAnalysisPackage);
+		getESubpackages().add(theHardwareBaselinePackage);
+		getESubpackages().add(theDeploymentConfAnalysisPackage);
+		getESubpackages().add(theRTComponentModelPackage);
+		getESubpackages().add(theComponentModelPackage);
+
+		// Create type parameters
+
+		// Set bounds for type parameters
+
+		// Add supertypes to classes
+
+		// Initialize classes and features; add operations and parameters
+		initEClass(dummyEClass, dummy.class, "dummy", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+		// Create resource
+		createResource(eNS_URI);
+
+		// Create annotations
+		// http://www.eclipse.org/uml2/2.0.0/UML
+		createUMLAnnotations();
+	}
+
+	/**
+	 * Initializes the annotations for <b>http://www.eclipse.org/uml2/2.0.0/UML</b>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void createUMLAnnotations() {
+		String source = "http://www.eclipse.org/uml2/2.0.0/UML";	
+		addAnnotation
+		  (this, 
+		   source, 
+		   new String[] {
+			 "originalName", "CHESS"
+		   });
+	}
+
+} //chessmlprofilePackageImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/impl/dummyImpl.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/impl/dummyImpl.java
new file mode 100644
index 000000000..c3731356f
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/impl/dummyImpl.java
@@ -0,0 +1,48 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.polarsys.chess.chessmlprofile.chessmlprofilePackage;
+import org.polarsys.chess.chessmlprofile.dummy;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>dummy</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class dummyImpl extends EObjectImpl implements dummy {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected dummyImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return chessmlprofilePackage.Literals.DUMMY;
+	}
+
+} //dummyImpl
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/util/Constants.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/util/Constants.java
new file mode 100644
index 000000000..5f46d3d85
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/util/Constants.java
@@ -0,0 +1,117 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.util;
+
+public class Constants {
+
+	// Components stereotypes
+	public static final String COMPONENT_TYPE = "CHESS::ComponentModel::ComponentType";
+	public static final String COMPONENT_IMPLEMENTATION = "CHESS::ComponentModel::ComponentImplementation";
+	public static final String COMPONENT_INSTANCE = "CHESS::ComponentModel::ComponentInstance";
+	
+	// MARTE Ports stereotypes
+	public static final String CLIENTSERVER_PORT = "MARTE::MARTE_DesignModel::GCM::ClientServerPort";
+	public static final String CSPORT_SPEC_KIND = "specificationKind";
+	public static final String CSPORT_SPEC_KIND_INTERFACEBASED = "interfaceBased";
+	public static final String CSPORT_KIND = "kind";
+	public static final String CSPORT_KIND_PROREQ = "proreq";
+	public static final String CSPORT_KIND_REQUIRED = "required";
+
+	public static final String FLOW_PORT = "MARTE::MARTE_DesignModel::GCM::FlowPort";
+	public static final String FLOW_PORT_DIRECTION = "direction";
+	public static final String FLOW_PORT_DIRECTION_INOUT = "inout";
+	
+	// MARTE Assign stereotype
+	public static final String ASSIGN = "MARTE::MARTE_Foundations::Alloc::Assign";
+	public static final String ASSIGN_FROM = "from"; 
+	public static final String ASSIGN_TO = "to";
+	
+	// MARTE Hardware stereotypes
+	//public static final String HW_COMPUTING_RESOURCE = "MARTE::MARTE_DesignModel::HRM::HwLogical::HwComputing::HwComputingResource";
+	public static final String HW_BUS = "MARTE::MARTE_DesignModel::HRM::HwLogical::HwCommunication::HwBus";
+	public static final String HW_BUS_PACKETT = "packetT";
+	public static final String HW_BUS_SPEEDFACTOR = "speedFactor";
+	public static final String HW_BUS_BLOCKT = "blockT";
+	
+	// MARTE GQAM stereotypes
+	public static final String GA_RESOURCES_PLATFORM = "MARTE::MARTE_AnalysisModel::GQAM::GaResourcesPlatform";
+	
+	//CHESS CHRtSpecification stereotype 
+	public static final String CHRT_SPECIFICATION = "CHESS::Predictability::RTComponentModel::CHRtSpecification";
+	public static final String CHRTSPEC_CONTEXT = "context";
+	public static final String CHRTSPEC_PARTWITHPORT = "partWithPort";
+	public static final String CHRTSPEC_WCET = "WCET";
+	public static final String CHRTSPEC_LOCALWCET = "localWCET";
+	public static final String CHRTSPEC_OCCKIND = "occKind";
+	public static final String CHRTSPEC_OCCKIND_PERIODIC = "periodic";
+	public static final String CH_HWPROCESSOR = "CHESS::Predictability::DeploymentConfiguration::HardwareBaseline::CH_HwProcessor";
+
+	
+	// CHESS views
+	public static final String DEPENDABILITY_ANALYSIS_VIEW = "CHESS::Core::CHESSViews::DependabilityAnalysisView";
+	public static final String COMPONENT_VIEW = "CHESS::Core::CHESSViews::ComponentView";
+	// Added REQUIREMENT_VIEW, SYSTEM_VIEW (20140207)
+	public static final String REQUIREMENT_VIEW = "CHESS::Core::CHESSViews::RequirementView";
+	public static final String SYSTEM_VIEW = "CHESS::Core::CHESSViews::SystemView";
+	
+	// StateBased Analysis
+	public static final String STATEBASED_ANALYSIS = "CHESS::Dependability::StateBased::StateBasedAnalysis::StateBasedAnalysis";
+	public static final String STATEBASED_ANALYSIS_MEASURE = "measure";
+	public static final String STATEBASED_ANALYSIS_TARGETDEPCOMP = "targetDepComponent";
+	public static final String STATEBASED_ANALYSIS_TARGETFAILUREMODE = "targetFailureMode";
+	public static final String STATEBASED_ANALYSIS_PLATFORM = "platform";
+	
+	// Propagation
+	public static final String PROPAGATION = "CHESS::Dependability::DependableComponent::Propagation";
+	public static final String PROPAGATION_PROB = "prob";
+	public static final String PROPAGATION_PROP_DELAY = "propDelay";
+	
+	// CHESS ResourcePlatform
+	public static final String CHGARESOURCEPLATFORM = "CHESS::Core::CHGaResourcePlatform";
+	
+	// STATEFULL(LESS)HARD(SOFT)WARE
+	public static final String STATEFULHARDWARE = "CHESS::Dependability::StateBased::StateBasedComponents::StatefulHardware";
+	public static final String STATELESSHARDWARE = "CHESS::Dependability::StateBased::StateBasedComponents::StatelessHardware";
+	public static final String STATEFULSOFTWARE = "CHESS::Dependability::StateBased::StateBasedComponents::StatefulSoftware";
+	public static final String STATELESSSOFTWARE = "CHESS::Dependability::StateBased::StateBasedComponents::StatelessSoftware";
+	
+	public static final String STATEWARE_PROBPERMFAULT = "probPermFault";
+	public static final String STATEWARE_ERROR_LATENCY = "errorLatency";
+	public static final String STATEWARE_FAULT_OCC = "faultOcc";
+	public static final String STATEWARE_REPAIR_DELAY = "repairDelay";
+	
+	// DpendableComponent
+	public static final String DEPENDABLE_COMPONENT = "CHESS::Dependability::DependableComponent::DependableComponent";
+	public static final String DEPENDABLE_COMPONENT_ERROR_MODEL = "errorModel";
+	
+	// ErrorModel
+	public static final String ERROR_MODEL = "CHESS::Dependability::ThreatsPropagation::ErrorModel";
+	
+	// Automotive profile
+	public static final String SAFETYREQUIREMENT = "AutomotiveProfile::SafetyRequirement";
+	public static final String SAFETYGOAL = "AutomotiveProfile::SafetyGoal";
+	public static final String INDEPENDENCY = "AutomotiveProfile::Independency";
+	public static final String DECOMPOSITION = "AutomotiveProfile::Decomposition";
+	public static final String AUTOMOTIVEBLOCK = "AutomotiveProfile::AutomotiveBlock";
+	public static final String AUTOMOTIVEREQUIREMENT = "AutomotiveProfile::AutomotiveRequirement";
+	
+	// SYSML 
+	public static final String BLOCK = "SysML::Blocks::Block";
+	public static final String REQUIREMENT = "SysML::Requirements::Requirement";
+	public static final String DERIVEREQT = "SysML::Requirements::DeriveReqt"; 
+	public static final String SATISFY = "SysML::Requirements::Satisfy";
+	
+	
+	
+	
+	
+}
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/util/chessmlprofileAdapterFactory.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/util/chessmlprofileAdapterFactory.java
new file mode 100644
index 000000000..295264984
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/util/chessmlprofileAdapterFactory.java
@@ -0,0 +1,126 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+import org.eclipse.emf.ecore.EObject;
+import org.polarsys.chess.chessmlprofile.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.chessmlprofilePackage
+ * @generated
+ */
+public class chessmlprofileAdapterFactory extends AdapterFactoryImpl {
+	/**
+	 * The cached model package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static chessmlprofilePackage modelPackage;
+
+	/**
+	 * Creates an instance of the adapter factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public chessmlprofileAdapterFactory() {
+		if (modelPackage == null) {
+			modelPackage = chessmlprofilePackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Returns whether this factory is applicable for the type of the object.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+	 * <!-- end-user-doc -->
+	 * @return whether this factory is applicable for the type of the object.
+	 * @generated
+	 */
+	@Override
+	public boolean isFactoryForType(Object object) {
+		if (object == modelPackage) {
+			return true;
+		}
+		if (object instanceof EObject) {
+			return ((EObject)object).eClass().getEPackage() == modelPackage;
+		}
+		return false;
+	}
+
+	/**
+	 * The switch that delegates to the <code>createXXX</code> methods.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected chessmlprofileSwitch<Adapter> modelSwitch =
+		new chessmlprofileSwitch<Adapter>() {
+			@Override
+			public Adapter casedummy(dummy object) {
+				return createdummyAdapter();
+			}
+			@Override
+			public Adapter defaultCase(EObject object) {
+				return createEObjectAdapter();
+			}
+		};
+
+	/**
+	 * Creates an adapter for the <code>target</code>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param target the object to adapt.
+	 * @return the adapter for the <code>target</code>.
+	 * @generated
+	 */
+	@Override
+	public Adapter createAdapter(Notifier target) {
+		return modelSwitch.doSwitch((EObject)target);
+	}
+
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.chessmlprofile.dummy <em>dummy</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.polarsys.chess.chessmlprofile.dummy
+	 * @generated
+	 */
+	public Adapter createdummyAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for the default case.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @generated
+	 */
+	public Adapter createEObjectAdapter() {
+		return null;
+	}
+
+} //chessmlprofileAdapterFactory
diff --git a/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/util/chessmlprofileSwitch.java b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/util/chessmlprofileSwitch.java
new file mode 100644
index 000000000..f6e2a2502
--- /dev/null
+++ b/plugins/org.polarsys.chess.chessmlprofile/src/org/polarsys/chess/chessmlprofile/util/chessmlprofileSwitch.java
@@ -0,0 +1,120 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova, Intecs
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *
+ *****************************************************************************/
+package org.polarsys.chess.chessmlprofile.util;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.util.Switch;
+import org.polarsys.chess.chessmlprofile.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.chessmlprofile.chessmlprofilePackage
+ * @generated
+ */
+public class chessmlprofileSwitch<T> extends Switch<T> {
+	/**
+	 * The cached model package
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static chessmlprofilePackage modelPackage;
+
+	/**
+	 * Creates an instance of the switch.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public chessmlprofileSwitch() {
+		if (modelPackage == null) {
+			modelPackage = chessmlprofilePackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Checks whether this is a switch for the given package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @parameter ePackage the package in question.
+	 * @return whether this is a switch for the given package.
+	 * @generated
+	 */
+	@Override
+	protected boolean isSwitchFor(EPackage ePackage) {
+		return ePackage == modelPackage;
+	}
+
+	/**
+	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the first non-null result returned by a <code>caseXXX</code> call.
+	 * @generated
+	 */
+	@Override
+	protected T doSwitch(int classifierID, EObject theEObject) {
+		switch (classifierID) {
+			case chessmlprofilePackage.DUMMY: {
+				dummy dummy = (dummy)theEObject;
+				T result = casedummy(dummy);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			default: return defaultCase(theEObject);
+		}
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>dummy</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>dummy</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T casedummy(dummy object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch, but this is the last case anyway.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+	 * @generated
+	 */
+	@Override
+	public T defaultCase(EObject object) {
+		return null;
+	}
+
+} //chessmlprofileSwitch
diff --git a/plugins/org.polarsys.chess.codegen.ada.singlenode/.classpath b/plugins/org.polarsys.chess.codegen.ada.singlenode/.classpath
new file mode 100644
index 000000000..ad32c83a7
--- /dev/null
+++ b/plugins/org.polarsys.chess.codegen.ada.singlenode/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/plugins/org.polarsys.chess.codegen.ada.singlenode/.project b/plugins/org.polarsys.chess.codegen.ada.singlenode/.project
new file mode 100644
index 000000000..6b129dd60
--- /dev/null
+++ b/plugins/org.polarsys.chess.codegen.ada.singlenode/.project
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.polarsys.chess.codegen.ada.singlenode</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.acceleo.ide.ui.acceleoBuilder</name>
+			<arguments>
+				<dictionary>
+					<key>compliance</key>
+					<value>pragmatic</value>
+				</dictionary>
+				<dictionary>
+					<key>resource.kind</key>
+					<value>xmi</value>
+				</dictionary>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.acceleo.ide.ui.acceleoNature</nature>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
diff --git a/plugins/org.polarsys.chess.codegen.ada.singlenode/.settings/org.eclipse.jdt.core.prefs b/plugins/org.polarsys.chess.codegen.ada.singlenode/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 000000000..29fdd3dc0
--- /dev/null
+++ b/plugins/org.polarsys.chess.codegen.ada.singlenode/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,8 @@
+#Thu Dec 08 10:05:47 CET 2011
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.6
diff --git a/plugins/org.polarsys.chess.codegen.ada.singlenode/META-INF/MANIFEST.MF b/plugins/org.polarsys.chess.codegen.ada.singlenode/META-INF/MANIFEST.MF
new file mode 100644
index 000000000..c4a0b18e8
--- /dev/null
+++ b/plugins/org.polarsys.chess.codegen.ada.singlenode/META-INF/MANIFEST.MF
@@ -0,0 +1,40 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: SIngle node Ada infrastructural code generator
+Bundle-SymbolicName: org.polarsys.chess.codegen.ada.singlenode;singleton:=true
+Bundle-Version: 0.3.0.qualifier
+Bundle-Activator: org.polarsys.chess.codegen.ada.singlenode.Activator
+Bundle-Vendor: University of Padova
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.uml2.uml,
+ org.eclipse.emf.ecore,
+ org.eclipse.emf.ecore.xmi,
+ org.eclipse.ocl,
+ org.eclipse.ocl.ecore,
+ org.eclipse.acceleo.common,
+ org.eclipse.acceleo.parser,
+ org.eclipse.acceleo.model,
+ org.eclipse.acceleo.profiler,
+ org.eclipse.acceleo.engine,
+ org.polarsys.chess.chessmlprofile,
+ org.eclipse.papyrus.marte.static.profile,
+ org.polarsys.chess.m2m,
+ org.polarsys.chess.core,
+ org.eclipse.core.commands,
+ org.eclipse.core.resources,
+ org.eclipse.papyrus.infra.core,
+ org.eclipse.papyrus.editor,
+ org.polarsys.chess.validator,
+ org.eclipse.m2m.qvt.oml.common,
+ org.eclipse.m2m.qvt.oml.emf.util,
+ org.eclipse.ui;bundle-version="3.106.0",
+ org.eclipse.ui.workbench,
+ org.eclipse.ui.ide;bundle-version="3.10.0",
+ org.eclipse.papyrus.sysml
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Bundle-ActivationPolicy: lazy
+Eclipse-LazyStart: true
+Export-Package: org.polarsys.chess.codegen.ada.singlenode,
+ org.polarsys.chess.codegen.ada.singlenode.main,
+ org.polarsys.chess.codegen.ada.singlenode.service
+
diff --git a/plugins/org.polarsys.chess.codegen.ada.singlenode/Version.txt b/plugins/org.polarsys.chess.codegen.ada.singlenode/Version.txt
new file mode 100644
index 000000000..b0736539f
--- /dev/null
+++ b/plugins/org.polarsys.chess.codegen.ada.singlenode/Version.txt
@@ -0,0 +1,23 @@
+
+
+This Eclipse plugin includes contains the Ada infrastructural code generator (v0.3) for the v0.3 of the 
+code archetypes for the CHESS component model.
+
+
+**** Change log v0.3 ****
+
+New features:
+- Preliminary support for multi-node systems on Linux platform, based on the YAMI middleware
+- Improved support for C component implementations
+- Support for structs and enumeration passing between Ada and C and viceversa. 
+- Several minor improvements
+- The code generator is released under EPL license 
+
+**** Change log v0.2 ****
+
+New features:
+- Component implementations written in C or comprising imperative C++ code are now supported;
+- Added protected code section in Ada component implementations to define local variables, package body declarations.
+  and private declaration (in the implementation specification);
+Bug fixes:
+- Fixed two mistakes in one conditional branch for the generation of OBCS and sporadic operations.
\ No newline at end of file
diff --git a/plugins/org.polarsys.chess.codegen.ada.singlenode/about.html b/plugins/org.polarsys.chess.codegen.ada.singlenode/about.html
new file mode 100644
index 000000000..209103075
--- /dev/null
+++ b/plugins/org.polarsys.chess.codegen.ada.singlenode/about.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+ 
+<p>November 14, 2008</p>	
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
+being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content.  Check the Redistributor's license that was 
+provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
+
+</body>
+</html>
\ No newline at end of file
diff --git a/plugins/org.polarsys.chess.codegen.ada.singlenode/bin/.gitignore b/plugins/org.polarsys.chess.codegen.ada.singlenode/bin/.gitignore
new file mode 100644
index 000000000..cf1db2eed
--- /dev/null
+++ b/plugins/org.polarsys.chess.codegen.ada.singlenode/bin/.gitignore
@@ -0,0 +1 @@
+/org/
diff --git a/plugins/org.polarsys.chess.codegen.ada.singlenode/build.acceleo b/plugins/org.polarsys.chess.codegen.ada.singlenode/build.acceleo
new file mode 100644
index 000000000..4282df755
--- /dev/null
+++ b/plugins/org.polarsys.chess.codegen.ada.singlenode/build.acceleo
@@ -0,0 +1,26 @@
+<!-- ===================================================================== -->
+<!-- Custom targets.                                                       -->
+<!-- Set customBuildCallbacks = build.acceleo in your build.properties.    -->
+<!-- ===================================================================== -->
+<project name="Build Acceleo Module" default="noDefault">    
+    <!-- ================================================================= -->
+    <!-- Default target                                                    -->
+    <!-- ================================================================= -->
+    <target name="noDefault">
+        <echo message="This file must be called with explicit targets" />
+    </target>
+
+    <!-- ================================================================= -->
+    <!-- This will be called automatically after the compilation of each   -->
+    <!-- Bundle... in dependency order.                                    -->
+    <!-- ================================================================= -->
+    <target name="post.compile.@dot">
+        <acceleoCompiler 
+            sourceFolder="${target.folder}"
+            outputFolder="${target.folder}"
+            dependencies="${target.folder}/../../org.polarsys.chess.chessmlprofile;${target.folder}/../../org.eclipse.papyrus.marte.static.profile;${target.folder}/../../org.polarsys.chess.editor;${target.folder}/../../org.polarsys.core.chess;${target.folder}/../../org.polarsys.chess.m2m;${target.folder}/../../org.polarsys.chess.m2m.marte2mast;${target.folder}/../../org.polarsys.chess.validator;"
+            binaryResource="false"
+            packagesToRegister="">
+        </acceleoCompiler>
+    </target>    
+</project>
diff --git a/plugins/org.polarsys.chess.codegen.ada.singlenode/build.properties b/plugins/org.polarsys.chess.codegen.ada.singlenode/build.properties
new file mode 100644
index 000000000..9877de655
--- /dev/null
+++ b/plugins/org.polarsys.chess.codegen.ada.singlenode/build.properties
@@ -0,0 +1,14 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+               .,\
+               plugin.xml,\
+               src-lib/,\
+               license_/,\
+               build.properties,\
+               build.acceleo,\
+               about.html,\
+               tasks/
+customBuildCallbacks = build.acceleo
+src.includes = license_/,\
+               src-lib/
diff --git a/plugins/org.polarsys.chess.codegen.ada.singlenode/plugin.xml b/plugins/org.polarsys.chess.codegen.ada.singlenode/plugin.xml
new file mode 100644
index 000000000..48dcf3c3f
--- /dev/null
+++ b/plugins/org.polarsys.chess.codegen.ada.singlenode/plugin.xml
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<plugin>
+   <extension
+         point="org.eclipse.ui.commands">
+      <command
+            categoryId="it.unipd.chess.commands.category"
+            defaultHandler="org.polarsys.chess.codegen.ada.singlenode.AdaGenUIHandler"
+            id="org.polarsys.chess.codegen.ada.singlenode.command.id"
+            name="Ada">
+      </command>
+   </extension>
+   <extension
+         point="org.eclipse.ui.menus">
+      <menuContribution
+            allPopups="false"
+            locationURI="menu:org.eclipse.ui.main.menu">
+         <menu
+               id="org.polarsys.chess.mainMenu"
+               label="CHESS"
+               mnemonic="E">
+            <menu
+                  id="it.unipd.chess.codegenerationMenu"
+                  label="Code generation">
+               <command
+                     commandId="org.polarsys.chess.codegen.ada.singlenode.command.id"
+                     label="Single node Ada infrastructural code generator"
+                     style="push">
+                  <visibleWhen
+                        checkEnabled="false">
+                     <or>
+                        <with
+                              variable="activeEditorId">
+                           <equals
+                                 value="org.eclipse.uml2.uml.editor.presentation.UMLEditorID">
+                           </equals>
+                        </with>
+                        <with
+                              variable="activeEditorInput">
+                           <adapt
+                                 type="org.eclipse.core.resources.IResource">
+                              <test
+                                    property="org.eclipse.core.resources.projectNature"
+                                    value="org.polarsys.chess.CHESSNature">
+                              </test>
+                           </adapt>
+                        </with>
+                     </or>
+                  </visibleWhen>
+               </command>
+            </menu>
+         </menu>
+      </menuContribution>
+   </extension>
+
+</plugin>
diff --git a/plugins/org.polarsys.chess.codegen.ada.singlenode/src-lib/src/cpa/container_protection.adb b/plugins/org.polarsys.chess.codegen.ada.singlenode/src-lib/src/cpa/container_protection.adb
new file mode 100644
index 000000000..acee0bc11
--- /dev/null
+++ b/plugins/org.polarsys.chess.codegen.ada.singlenode/src-lib/src/cpa/container_protection.adb
@@ -0,0 +1,83 @@
+-----------------------------------------------------------------------
+--           Code Archetypes for the CHESS Component Model           --
+--                                                                   --
+--                   Copyright (C) 2011-2012                         --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author: Marco Panunzio         panunzio@math.unipd.it             --
+--                                                                   --
+-- All rights reserved. This program and the accompanying materials  --
+-- are made available under the terms of the Eclipse Public License  --
+-- v1.0 which accompanies this distribution, and is available at     --
+-- http://www.eclipse.org/legal/epl-v10.html                         --
+-----------------------------------------------------------------------
+
+
+package body Container_Protection is
+
+   --------------------------
+   -- Release_Control_OBCS --
+   --------------------------
+
+   protected body Release_Control_OBCS is
+
+      entry Enqueue_For_Release(Release_Time : out Ada.Real_Time.Time) when Barrier is
+      begin
+         Release_Time := Ada.Real_Time.Clock;
+      end Enqueue_For_Release;
+
+      procedure Set_Release_Flag(New_Flag : in Boolean) is
+      begin
+         Barrier := New_Flag;
+      end Set_Release_Flag;
+
+      function Get_Release_Flag return Boolean is
+      begin
+         return Barrier;
+      end Get_Release_Flag;
+
+
+   end Release_Control_OBCS;
+
+   --------------------------
+   -- Simple_Counter_OBCS --
+   --------------------------
+
+   protected body Simple_Counter_OBCS is
+
+      procedure Update_Barrier is
+      begin
+         Barrier := Barrier_Release_Flag and Request_Pending > 0;
+      end Update_Barrier;
+
+      entry Enqueue_For_Release(Release_Time : out Ada.Real_Time.Time) when Barrier is
+      begin
+         Release_Time := Ada.Real_Time.Clock;
+         Request_Pending := Request_Pending - 1;
+         Update_Barrier;
+      end Enqueue_For_Release;
+
+      procedure Set_Release_Flag(New_Flag : in Boolean) is
+      begin
+         Barrier_Release_Flag := New_Flag;
+         Update_Barrier;
+      end Set_Release_Flag;
+
+      function Get_Release_Flag return Boolean is
+      begin
+         return Barrier;
+      end Get_Release_Flag;
+
+      procedure Put_Request is
+      begin
+         if Request_Pending < Max_Pending then
+            Request_Pending := Request_Pending + 1;
+         end if;
+         Update_Barrier;
+      end Put_Request;
+
+   end Simple_Counter_OBCS;
+
+
+
+end Container_Protection;
diff --git a/plugins/org.polarsys.chess.codegen.ada.singlenode/src-lib/src/cpa/container_protection.ads b/plugins/org.polarsys.chess.codegen.ada.singlenode/src-lib/src/cpa/container_protection.ads
new file mode 100644
index 000000000..25d352b25
--- /dev/null
+++ b/plugins/org.polarsys.chess.codegen.ada.singlenode/src-lib/src/cpa/container_protection.ads
@@ -0,0 +1,88 @@
+-----------------------------------------------------------------------
+--           Code Archetypes for the CHESS Component Model           --
+--                                                                   --
+--                   Copyright (C) 2011-2012                         --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author: Marco Panunzio         panunzio@math.unipd.it             --
+--                                                                   --
+-- All rights reserved. This program and the accompanying materials  --
+-- are made available under the terms of the Eclipse Public License  --
+-- v1.0 which accompanies this distribution, and is available at     --
+-- http://www.eclipse.org/legal/epl-v10.html                         --
+-----------------------------------------------------------------------
+
+with System;
+with Ada.Real_Time;
+
+package Container_Protection is
+
+
+   -- ** Task_Release **
+   -- Interface for the definition of descriptor-less release entries
+
+   type Task_Release is protected interface;
+
+   procedure Enqueue_For_Release(Self : in out Task_Release;
+                                 Release_Time : out Ada.Real_Time.Time) is abstract;
+
+
+   -- Interface for the definition of subprograms to control the release
+   -- of tasks
+
+   type Release_Control is limited interface;
+
+   procedure Set_Release_Flag(Self : in out Release_Control;
+                              New_Flag : in Boolean) is abstract;
+
+   function Get_Release_Flag(Self : in Release_Control) return Boolean
+                             is abstract;
+
+
+   -- Simple OBCS used by cyclic tasks.
+   -- Permits to block the execution of a task by setting
+   -- the entry's barrier to false.
+   protected type Release_Control_OBCS(C : System.Any_Priority) is new
+        Task_Release and Release_Control with
+
+      pragma Priority(C);
+
+      overriding
+      entry Enqueue_for_Release(Release_Time : out Ada.Real_Time.Time);
+
+      overriding
+      procedure Set_Release_Flag(New_Flag : in Boolean);
+
+      overriding
+      function Get_Release_Flag return Boolean;
+
+   private
+      Barrier : Boolean := True;
+   end Release_Control_OBCS;
+
+
+   protected type Simple_Counter_OBCS(C: System.Any_Priority; Size : Natural) is
+      new Task_Release and Release_Control with
+
+      pragma Priority(C);
+
+      overriding
+      entry Enqueue_for_Release(Release_Time : out Ada.Real_Time.Time);
+
+      overriding
+      procedure Set_Release_Flag(New_Flag : in Boolean);
+
+      overriding
+      function Get_Release_Flag return Boolean;
+
+
+      procedure Put_Request;
+
+   private
+      Max_Pending : Natural := Size;
+      Request_Pending : Natural := 0;
+      Barrier : Boolean := True;
+      Barrier_Release_Flag : Boolean := True;
+   end Simple_Counter_OBCS;
+
+end Container_Protection;
diff --git a/plugins/org.polarsys.chess.codegen.ada.singlenode/src-lib/src/dataStructure/data_structure.adb b/plugins/org.polarsys.chess.codegen.ada.singlenode/src-lib/src/dataStructure/data_structure.adb
new file mode 100644
index 000000000..3a2a488cf
--- /dev/null
+++ b/plugins/org.polarsys.chess.codegen.ada.singlenode/src-lib/src/dataStructure/data_structure.adb
@@ -0,0 +1,157 @@
+-----------------------------------------------------------------------
+--           Code Archetypes for the CHESS Component Model           --
+--                                                                   --
+--                   Copyright (C) 2011-2012                         --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author: Marco Panunzio         panunzio@math.unipd.it             --
+--                                                                   --
+-- All rights reserved. This program and the accompanying materials  --
+-- are made available under the terms of the Eclipse Public License  --
+-- v1.0 which accompanies this distribution, and is available at     --
+-- http://www.eclipse.org/legal/epl-v10.html                         --
+-----------------------------------------------------------------------
+
+--with Ada.Text_IO; use Ada.Text_IO;
+
+package body Data_Structure is
+
+   ---Temp
+   procedure My_OPCS (Self : in out Param_Type) is
+   begin
+      --Ada.Text_IO.Put_Line("Base My_OPCS ... You are not dispatching!");
+      null;
+   end My_OPCS;
+
+
+
+   -------------------------
+   -- Deactivate_Activity --
+   -------------------------
+
+   procedure Deactivate_Activity (TA_ref : Task_activity_desc_ref; Act_N : Integer)
+   is
+   begin
+      --Put_Line("Deactivating activity");
+      TA_ref.all(Act_N).is_Active := false;
+      --Put("Activity ");
+      --Put(Integer'Image(Act_N));
+      --Put_Line(" deactivated");
+   end Deactivate_Activity;
+
+   ----------------------------------
+   -- Deactivate_Activity (offset) --
+   ----------------------------------
+
+   procedure Deactivate_Activity (TA_ref : Task_activity_desc_ref; Act_N : Integer;
+                                  New_offset : Ada.Real_Time.Time_Span)
+   is
+   begin
+      --Put_Line("Deactivating activity");
+      TA_ref.all(Act_N).is_Active := false;
+      TA_ref.all(Act_N).offset := New_offset;
+      --Put("Activity ");
+      --Put(Integer'Image(Act_N));
+      --Put_Line(" deactivated");
+   end Deactivate_Activity;
+
+
+   procedure Print_Activity_Desc (TA_ref : Task_activity_desc_ref)
+   is
+   begin
+      for I in TA_ref.all'Range loop
+         --Put("Activity ");
+         --Put(Integer'Image(I));
+         --Put_Line(Boolean'Image(TA_ref.all(I).is_Active));
+         null;
+      end loop;
+   end Print_Activity_Desc;
+
+   -------------------------
+   -- Activate_Activity --
+   -------------------------
+
+   procedure Activate_Activity (TA_ref : Task_activity_desc_ref; Act_N : Integer)
+   is
+   begin
+      TA_ref.all(Act_N).Is_Active := true;
+
+   end Activate_Activity;
+
+
+   --------------------------------
+   -- Activate_Activity (offset) --
+   --------------------------------
+
+   procedure Activate_Activity (TA_ref : Task_activity_desc_ref; Act_N : Integer;
+                                new_offset : Ada.Real_Time.Time_Span)
+   is
+   begin
+      TA_ref.all(Act_N).Is_Active := true;
+      TA_ref.all(Act_N).offset := new_offset;
+
+   end Activate_Activity;
+
+
+
+
+   --- Param_Buffer_T.Increase_Index
+
+   procedure Increase_Index(Self : in out Param_Buffer_T) is
+   begin
+      Self.Index := Self.Index + 1;
+      if Self.Index > Self.Buffer'Last then
+         Self.Index := Self.Buffer'First;
+      end if;
+   end Increase_Index;
+
+
+   --- Subprograms for Request_Queue
+
+   procedure Initialize (Self : in out Request_Queue) is
+   begin
+      Self.Request_Pending       := 0;
+      Self.Insert_Index  := Self.Param_Buffer'First;
+      Self.Extract_Index := Self.Param_Buffer'First;
+   end Initialize;
+
+   procedure Put(Self : in out Request_Queue; P : Param_Type_Ref) is
+   begin
+      Self.Param_Buffer (Self.Insert_Index) := P;
+      Self.Insert_Index := Self.Insert_Index + 1;
+      if Self.Insert_Index > Self.Param_Buffer'Last then
+         Self.Insert_Index := Self.Param_Buffer'First;
+      end if;
+      --increase the number of pending requests but do not
+      --overcome the number of buffered ones
+      if Self.Request_Pending < Self.Param_Buffer'Last then
+         Self.Request_Pending := Self.Request_Pending + 1;
+      end if;
+
+   end Put;
+
+   procedure Get(Self : in out Request_Queue;
+                 R : out Request_Descriptor_T) is
+   begin
+      if Self.Request_Pending > 0 then
+         R := (Params => Self.Param_Buffer(Self.Extract_Index));
+         Self.Extract_Index := Self.Extract_Index + 1;
+         if Self.Extract_Index > Self.Param_Buffer'Last then
+            Self.Extract_Index := Self.Param_Buffer'First;
+         end if;
+         Self.Request_Pending := Self.Request_Pending - 1;
+      end if;
+
+      R.Params.all.In_Use := True;
+
+   end Get;
+
+   -- Generate_Task_ID
+
+   function Generate_Task_ID return Task_Gen_ID is
+   begin
+      Next_Task_ID_to_assign := Next_Task_ID_to_assign + 1;
+      return Next_Task_ID_to_assign;
+   end Generate_Task_ID;
+
+end Data_Structure;
diff --git a/plugins/org.polarsys.chess.codegen.ada.singlenode/src-lib/src/dataStructure/data_structure.ads b/plugins/org.polarsys.chess.codegen.ada.singlenode/src-lib/src/dataStructure/data_structure.ads
new file mode 100644
index 000000000..812c0f026
--- /dev/null
+++ b/plugins/org.polarsys.chess.codegen.ada.singlenode/src-lib/src/dataStructure/data_structure.ads
@@ -0,0 +1,104 @@
+-----------------------------------------------------------------------
+--           Code Archetypes for the CHESS Component Model           --
+--                                                                   --
+--                   Copyright (C) 2011-2012                         --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author: Marco Panunzio         panunzio@math.unipd.it             --
+--                                                                   --
+-- All rights reserved. This program and the accompanying materials  --
+-- are made available under the terms of the Eclipse Public License  --
+-- v1.0 which accompanies this distribution, and is available at     --
+-- http://www.eclipse.org/legal/epl-v10.html                         --
+-----------------------------------------------------------------------
+
+
+with Ada.Real_Time;
+with Ada.Finalization;
+
+package Data_Structure is
+
+   -- Not declared in the private part because otherwise it is not a discrete type,
+   -- hence cannot be passed as discriminant of a Task
+   type Task_Gen_ID is new Natural;
+
+   type Task_activity_desc_elem is
+      record
+         activity: access procedure;
+         offset: Ada.Real_Time.Time_Span;
+         is_Active : Boolean;
+   end record;
+
+   type Task_activity_desc is array(Natural range <>) of Task_activity_desc_elem;
+
+   type Task_activity_desc_ref is access all Task_activity_desc;
+
+
+   procedure Deactivate_Activity(TA_ref : Task_activity_desc_ref; Act_N : Integer);
+
+   procedure Activate_Activity(TA_ref : Task_activity_desc_ref; Act_N : Integer);
+
+   procedure Print_Activity_Desc(TA_ref : Task_activity_desc_ref);
+
+   procedure Activate_Activity(TA_ref : Task_activity_desc_ref; Act_N : Integer;
+                               New_offset : Ada.Real_Time.Time_Span);
+
+   procedure Deactivate_Activity(TA_ref : Task_activity_desc_ref; Act_N: Integer;
+                                 New_offset : Ada.Real_Time.Time_Span);
+
+   function Generate_Task_ID return Task_Gen_ID;
+
+
+   --- Parameter
+
+   type Param_Type is abstract tagged record
+      In_Use : Boolean := False;
+   end record;
+
+   -- Abstract sequential procedure
+   procedure My_OPCS (Self : in out Param_Type);
+
+   type Param_Type_Ref is access all Param_Type'Class;
+
+   type Param_Arr is array(Integer range <>) of Param_Type_Ref;
+
+   type Param_Arr_Ref is access all Param_Arr;
+
+   -- Request descriptor
+   type Request_Descriptor_T is
+      record
+         --Request : Request_T;
+         Params : Param_Type_Ref;
+      end record;
+
+   --- Param_Buffer: buffer + index --------------------------
+   type Param_Buffer_T(Size : Natural) is
+      record
+         Buffer : aliased Param_Arr(1..Size);
+         Index : Integer := 1;
+      end record;
+
+   type Param_Buffer_Ref is access all Param_Buffer_T;
+
+   procedure Increase_Index(Self : in out Param_Buffer_T);
+
+   type Request_Queue(Size : Positive) is new Ada.Finalization.Controlled with
+      record
+         Param_Buffer : Param_Arr(1..Size);
+         Insert_Index : Integer;
+         Extract_Index : Integer;
+         Request_Pending : Natural := 0;
+      end record;
+
+   procedure Initialize(Self : in out Request_Queue);
+
+   procedure Put(Self : in out Request_Queue;
+                 P : Param_Type_Ref);
+
+   procedure Get(Self : in out Request_Queue;
+                 R : out Request_Descriptor_T);
+
+private
+   Next_Task_ID_to_assign : Task_Gen_ID := 0;
+
+end Data_Structure;
diff --git a/plugins/org.polarsys.chess.codegen.ada.singlenode/src-lib/src/dataStructure/system_time.ads b/plugins/org.polarsys.chess.codegen.ada.singlenode/src-lib/src/dataStructure/system_time.ads
new file mode 100644
index 000000000..3b34c4232
--- /dev/null
+++ b/plugins/org.polarsys.chess.codegen.ada.singlenode/src-lib/src/dataStructure/system_time.ads
@@ -0,0 +1,24 @@
+-----------------------------------------------------------------------
+--           Code Archetypes for the CHESS Component Model           --
+--                                                                   --
+--                   Copyright (C) 2011-2012                         --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author: Marco Panunzio         panunzio@math.unipd.it             --
+--                                                                   --
+-- All rights reserved. This program and the accompanying materials  --
+-- are made available under the terms of the Eclipse Public License  --
+-- v1.0 which accompanies this distribution, and is available at     --
+-- http://www.eclipse.org/legal/epl-v10.html                         --
+-----------------------------------------------------------------------
+
+with Ada.Real_Time;
+package System_Time is
+
+   System_Start_Time  : constant
+     Ada.Real_Time.Time := Ada.Real_Time.Clock;
+
+   Task_Activation_Delay : constant
+     Ada.Real_Time.Time_Span := Ada.Real_Time.Milliseconds (5_000);
+
+end System_Time;
diff --git a/plugins/org.polarsys.chess.codegen.ada.singlenode/src-lib/src/dataStructure/system_types.adb b/plugins/org.polarsys.chess.codegen.ada.singlenode/src-lib/src/dataStructure/system_types.adb
new file mode 100644
index 000000000..3f58e1bed
--- /dev/null
+++ b/plugins/org.polarsys.chess.codegen.ada.singlenode/src-lib/src/dataStructure/system_types.adb
@@ -0,0 +1,63 @@
+-----------------------------------------------------------------------
+--           Code Archetypes for the CHESS Component Model           --
+--                                                                   --
+--                   Copyright (C) 2011-2012                         --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author: Marco Panunzio         panunzio@math.unipd.it             --
+--                                                                   --
+-- All rights reserved. This program and the accompanying materials  --
+-- are made available under the terms of the Eclipse Public License  --
+-- v1.0 which accompanies this distribution, and is available at     --
+-- http://www.eclipse.org/legal/epl-v10.html                         --
+-----------------------------------------------------------------------
+
+package body System_Types is
+
+   -- Bounded Queue ---------------------------------------------------
+
+   procedure Initialize (Self : in out Bounded_Queue) is
+   begin
+      Self.Request_Pending  := 0;
+      Self.Insert_Index  := Self.Param_Buffer'First;
+      Self.Extract_Index := Self.Param_Buffer'First;
+   end Initialize;
+
+   procedure Put(Self : in out Bounded_Queue; P : in Param_Type_Ref) is
+   begin
+      Self.Param_Buffer (Self.Insert_Index) := P;
+      Self.Insert_Index := Self.Insert_Index + 1;
+      if Self.Insert_Index > Self.Param_Buffer'Last then
+         Self.Insert_Index := Self.Param_Buffer'First;
+      end if;
+
+      --increase the number of pending requests but do not
+      --overcome the number of buffered ones
+      if Self.Request_Pending < Self.Param_Buffer'Last then
+         Self.Request_Pending := Self.Request_Pending + 1;
+      end if;
+   end Put;
+
+   procedure Get(Self : in out Bounded_Queue; R : out Request_Descriptor_T) is
+   begin
+      if Self.Request_Pending > 0 then
+         R := (Params => Self.Param_Buffer(Self.Extract_Index));
+         Self.Extract_Index := Self.Extract_Index + 1;
+         if Self.Extract_Index > Self.Param_Buffer'Last then
+            Self.Extract_Index := Self.Param_Buffer'First;
+         end if;
+         Self.Request_Pending := Self.Request_Pending - 1;
+      end if;
+
+      R.Params.In_Use := True;
+   end Get;
+
+   procedure Increase_Index(Self : in out Param_Buffer_T) is
+   begin
+      Self.Index := Self.Index + 1;
+      if Self.Index > Self.Buffer'Last then
+         Self.Index := Self.Buffer'First;
+      end if;
+   end Increase_Index;
+
+end System_Types;
diff --git a/plugins/org.polarsys.chess.codegen.ada.singlenode/src-lib/src/dataStructure/system_types.ads b/plugins/org.polarsys.chess.codegen.ada.singlenode/src-lib/src/dataStructure/system_types.ads
new file mode 100644
index 000000000..bca09cc9b
--- /dev/null
+++ b/plugins/org.polarsys.chess.codegen.ada.singlenode/src-lib/src/dataStructure/system_types.ads
@@ -0,0 +1,89 @@
+-----------------------------------------------------------------------
+--           Code Archetypes for the CHESS Component Model           --
+--                                                                   --
+--                   Copyright (C) 2011-2012                         --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author: Marco Panunzio         panunzio@math.unipd.it             --
+--                                                                   --
+-- All rights reserved. This program and the accompanying materials  --
+-- are made available under the terms of the Eclipse Public License  --
+-- v1.0 which accompanies this distribution, and is available at     --
+-- http://www.eclipse.org/legal/epl-v10.html                         --
+-----------------------------------------------------------------------
+
+
+--with System; use System;
+--with Ada.Real_Time; use Ada.Real_Time;
+with Ada.Finalization; use Ada.Finalization;
+
+package System_Types is
+
+   -- Abstract Parameter type --------------------------------------------------
+   type Param_Type is abstract tagged record
+      In_Use : Boolean := False;
+   end record;
+
+   -- Abstract sequential procedure
+   procedure My_OPCS (Self : in out Param_Type) is abstract;
+
+   type Param_Type_Ref is access all Param_Type'Class;
+
+   type Param_Arr is array(Integer range <>) of Param_Type_Ref;
+
+   type Param_Arr_Ref is access all Param_Arr;
+
+   --+--------------------------------------------------------------------------
+
+   -- Request Descriptor -------------------------------------------------------
+
+   type Request_Descriptor_T is
+      record
+         --Request : Request_T;
+         Params : Param_Type_Ref;
+      end record;
+
+   --+--------------------------------------------------------------------------
+
+   -- Abstract Queue
+
+   type Queue_T is abstract new Controlled with null record;
+   --type Queue_T is abstract tagged null record;
+   type Queue_T_Ref is access all Queue_T'Class;
+
+   procedure Put(Self : in out Queue_T; P : Param_Type_Ref)
+   is abstract;
+   procedure Get(Self : in out Queue_T; R : out Request_Descriptor_T)
+   is abstract;
+
+   -- Bounded Queue ---------------------------------------------------------
+   type Bounded_Queue(Size : Natural) is new Queue_T with
+      record
+         Param_Buffer : Param_Arr(1..Size);
+         Insert_Index : Natural;
+         Extract_Index : Natural;
+         Request_Pending : Natural;
+      end record;
+
+   overriding
+   procedure Put(Self : in out Bounded_Queue; P : in Param_Type_Ref);
+
+   overriding
+   procedure Get(Self : in out Bounded_Queue; R : out Request_Descriptor_T);
+
+   overriding
+   procedure Initialize(Self : in out Bounded_Queue);
+   --+--------------------------------------------------------------------------
+
+   -- Param_Buffer: buffer + index --------------------------
+   type Param_Buffer_T(Size : Integer) is
+      record
+         Buffer : aliased Param_Arr(1..Size);
+         Index : Integer := 1;
+      end record;
+
+   type Param_Buffer_Ref is access all Param_Buffer_T;
+
+   procedure Increase_Index(Self : in out Param_Buffer_T);
+
+end System_Types;
diff --git a/plugins/org.polarsys.chess.codegen.ada.singlenode/src-lib/src/dataStructure/task_attributes.ads b/plugins/org.polarsys.chess.codegen.ada.singlenode/src-lib/src/dataStructure/task_attributes.ads
new file mode 100644
index 000000000..aa06b9ce5
--- /dev/null
+++ b/plugins/org.polarsys.chess.codegen.ada.singlenode/src-lib/src/dataStructure/task_attributes.ads
@@ -0,0 +1,59 @@
+-----------------------------------------------------------------------
+--           Code Archetypes for the CHESS Component Model           --
+--                                                                   --
+--                   Copyright (C) 2011-2012                         --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author: Marco Panunzio         panunzio@math.unipd.it             --
+--                                                                   --
+-- All rights reserved. This program and the accompanying materials  --
+-- are made available under the terms of the Eclipse Public License  --
+-- v1.0 which accompanies this distribution, and is available at     --
+-- http://www.eclipse.org/legal/epl-v10.html                         --
+-----------------------------------------------------------------------
+
+
+with Ada.Real_Time;
+with System;
+
+package Task_Attributes is
+
+   -- Task_State
+
+   type Task_Attributes_Record is abstract tagged record
+      Relative_Deadline : Ada.Real_Time.Time_Span := Ada.Real_Time.Time_Span_Zero;
+      Execution_Time : Ada.Real_Time.Time_Span := Ada.Real_Time.Time_Span_Zero;
+      Prio : System.Any_Priority := System.Priority'First;
+   end record;
+
+   type Task_Attributes_ptr is access all Task_Attributes_Record'Class;
+
+   -- Periodic_Task_State
+
+   type Periodic_Task_Attributes_Record is new Task_Attributes_Record with record
+      Period : Ada.Real_Time.Time_Span := Ada.Real_Time.Time_Span_Zero;
+   end record;
+
+   type Periodic_Task_Attributes_Record_ptr is access all
+     Periodic_Task_Attributes_Record'Class;
+
+   -- Sporadic_Task_State
+
+   type Sporadic_Task_Attributes_Record is new Task_Attributes_Record with record
+      MIAT : Ada.Real_Time.Time_Span := Ada.Real_Time.Time_Span_Zero;
+   end record;
+
+   type Sporadic_Task_Attributes_Record_ptr is access all
+     Sporadic_Task_Attributes_Record'Class;
+
+   -- Bursty_Task_State
+
+   type Bursty_Task_Attributes_Record is new Task_Attributes_Record with record
+      Burst_Interval : Ada.Real_Time.Time_Span := Ada.Real_Time.Time_Span_Zero;
+      Max_Activations : Natural := 0;
+   end record;
+
+   type Bursty_Task_Attributes_Record_ptr is access all
+     Bursty_Task_Attributes_Record'Class;
+
+end Task_Attributes;
diff --git a/plugins/org.polarsys.chess.codegen.ada.singlenode/src-lib/src/task/cyclic_task.adb b/plugins/org.polarsys.chess.codegen.ada.singlenode/src-lib/src/task/cyclic_task.adb
new file mode 100644
index 000000000..3fa1abc3e
--- /dev/null
+++ b/plugins/org.polarsys.chess.codegen.ada.singlenode/src-lib/src/task/cyclic_task.adb
@@ -0,0 +1,60 @@
+-----------------------------------------------------------------------
+--           Code Archetypes for the CHESS Component Model           --
+--                                                                   --
+--                   Copyright (C) 2011-2012                         --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author: Marco Panunzio         panunzio@math.unipd.it             --
+--                                                                   --
+-- All rights reserved. This program and the accompanying materials  --
+-- are made available under the terms of the Eclipse Public License  --
+-- v1.0 which accompanies this distribution, and is available at     --
+-- http://www.eclipse.org/legal/epl-v10.html                         --
+-----------------------------------------------------------------------
+
+with System_Time;
+with Ada.Text_IO; use Ada.Text_IO;
+
+package body Cyclic_Task is
+
+   use Ada.Real_Time;
+
+   task body Thread_T is
+      Task_Static_Offset : constant Time_Span := Milliseconds(Static_Offset);
+      Task_Period : constant Time_Span := Milliseconds(Period);
+      Next_Time : Time := System_Time.System_Start_Time +
+        System_Time.Task_Activation_Delay + Task_Static_Offset;
+      Assigned_Task_ID : constant Task_Gen_ID := My_Task_ID;
+      Release_Time : Time;
+
+   begin
+      -- Suspend the task until first release;
+      delay until Next_Time;
+
+
+      Put("Task ");
+      Put(Natural'Image(Natural(Assigned_Task_ID)));
+      Put_Line(" first activation");
+
+      Task_Loop :
+      loop
+         -- First action : enqueue for release
+         Enqueue_for_Release.all (Release_Time);
+
+         --  Execute the sequential operation
+         Operation.all;
+
+         -- Calculate new release time and suspend
+         Next_Time:= Next_Time + Task_Period;
+         delay until Next_Time;
+
+      end loop Task_Loop;
+
+   end Thread_T;
+
+--   procedure Initialize is
+--   begin
+--      null;
+--   end Initialize;
+
+end Cyclic_Task;
diff --git a/plugins/org.polarsys.chess.codegen.ada.singlenode/src-lib/src/task/cyclic_task.ads b/plugins/org.polarsys.chess.codegen.ada.singlenode/src-lib/src/task/cyclic_task.ads
new file mode 100644
index 000000000..a1b734c77
--- /dev/null
+++ b/plugins/org.polarsys.chess.codegen.ada.singlenode/src-lib/src/task/cyclic_task.ads
@@ -0,0 +1,37 @@
+-----------------------------------------------------------------------
+--           Code Archetypes for the CHESS Component Model           --
+--                                                                   --
+--                   Copyright (C) 2011-2012                         --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author: Marco Panunzio         panunzio@math.unipd.it             --
+--                                                                   --
+-- All rights reserved. This program and the accompanying materials  --
+-- are made available under the terms of the Eclipse Public License  --
+-- v1.0 which accompanies this distribution, and is available at     --
+-- http://www.eclipse.org/legal/epl-v10.html                         --
+-----------------------------------------------------------------------
+
+
+with System;
+with Data_Structure; use Data_Structure;
+with Ada.Real_Time;
+
+package Cyclic_Task is
+
+   -- Cannot use Time_Span for offset/period in task discriminant => Natural
+
+   task type Thread_T
+     (My_Task_ID : Task_Gen_ID;
+      Thread_Priority : System.Any_Priority;
+      Static_Offset : Natural;
+      Period : Natural;
+      Enqueue_for_Release : access procedure (Release : out Ada.Real_Time.Time);
+      Operation : access procedure) is
+
+      pragma Priority (Thread_Priority);
+   end Thread_T;
+
+   --procedure Initialize;
+
+end Cyclic_Task;
diff --git a/plugins/org.polarsys.chess.codegen.ada.singlenode/src-lib/src/task/multi_activity_cyclic_task.adb b/plugins/org.polarsys.chess.codegen.ada.singlenode/src-lib/src/task/multi_activity_cyclic_task.adb
new file mode 100644
index 000000000..f88a4f126
--- /dev/null
+++ b/plugins/org.polarsys.chess.codegen.ada.singlenode/src-lib/src/task/multi_activity_cyclic_task.adb
@@ -0,0 +1,64 @@
+-----------------------------------------------------------------------
+--           Code Archetypes for the CHESS Component Model           --
+--                                                                   --
+--                   Copyright (C) 2011-2012                         --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author: Marco Panunzio         panunzio@math.unipd.it             --
+--                                                                   --
+-- All rights reserved. This program and the accompanying materials  --
+-- are made available under the terms of the Eclipse Public License  --
+-- v1.0 which accompanies this distribution, and is available at     --
+-- http://www.eclipse.org/legal/epl-v10.html                         --
+-----------------------------------------------------------------------
+
+with System_Time;
+with Ada.Real_Time; use Ada.Real_Time;
+
+package body Multi_Activity_Cyclic_Task is
+
+   task body Thread_T is
+      Task_Static_Offset : constant Time_Span := Milliseconds(Static_Offset);
+      Next_Time : Time := System_Time.System_Start_Time +
+        System_Time.Task_Activation_Delay + Task_Static_Offset;
+      Assigned_Task_ID : constant Data_Structure.Task_Gen_ID := My_Task_ID;
+      Release_Time : Time;
+
+
+   begin
+      -- Suspend the task until first release;
+      delay until Next_Time;
+
+      --Put("Task ");
+      --Put(Natural'Image(Natural(Assigned_Task_ID)));
+      --Put_Line(" first activation");
+
+
+      Task_Loop :
+      loop
+         -- First action : enqueue in the release entry of the CPA
+         Enqueue_in_Entry.all (Release_Time);
+
+         Activity_Loop:
+         for I in Activity_Desc.all'Range loop
+
+            if Activity_Desc.all(I).Is_Active then
+               --Put(Natural'Image(Natural(Assigned_Task_ID)));
+               Activity_Desc.all(I).activity.all;
+            end if;
+
+            if Activity_Desc.all(I).offset > Time_Span_Zero then
+               --Put_Line("Preparing to issue suspension call");
+               Next_Time:= Next_Time + Activity_Desc.all(I).offset;
+               delay until Next_Time;
+               --Put_Line("Woke up after suspension ");
+            end if;
+
+         end loop Activity_Loop;
+
+      end loop Task_Loop;
+
+   end Thread_T;
+
+end Multi_Activity_Cyclic_Task;
+
diff --git a/plugins/org.polarsys.chess.codegen.ada.singlenode/src-lib/src/task/multi_activity_cyclic_task.ads b/plugins/org.polarsys.chess.codegen.ada.singlenode/src-lib/src/task/multi_activity_cyclic_task.ads
new file mode 100644
index 000000000..7368bdc23
--- /dev/null
+++ b/plugins/org.polarsys.chess.codegen.ada.singlenode/src-lib/src/task/multi_activity_cyclic_task.ads
@@ -0,0 +1,39 @@
+-----------------------------------------------------------------------
+--           Code Archetypes for the CHESS Component Model           --
+--                                                                   --
+--                   Copyright (C) 2011-2012                         --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author: Marco Panunzio         panunzio@math.unipd.it             --
+--                                                                   --
+-- All rights reserved. This program and the accompanying materials  --
+-- are made available under the terms of the Eclipse Public License  --
+-- v1.0 which accompanies this distribution, and is available at     --
+-- http://www.eclipse.org/legal/epl-v10.html                         --
+-----------------------------------------------------------------------
+
+with System;
+with Data_Structure;
+with Ada.Real_Time;
+
+package Multi_Activity_Cyclic_Task is
+
+   -- Cannot use Time_Span for offset in task discriminant => Natural
+
+   task type Thread_T
+     (My_Task_ID : Data_Structure.Task_Gen_ID;
+      Thread_Priority : System.Any_Priority;
+      Static_Offset : Natural;
+      Enqueue_in_Entry : access procedure (Release : out Ada.Real_Time.Time);
+      Activity_Desc: not null Data_Structure.Task_activity_desc_ref) is
+
+      pragma Priority (Thread_Priority);
+   end Thread_T;
+
+
+
+   --procedure Initialize;
+
+
+
+end Multi_Activity_Cyclic_Task;
diff --git a/plugins/org.polarsys.chess.codegen.ada.singlenode/src-lib/src/task/sporadic_task.adb b/plugins/org.polarsys.chess.codegen.ada.singlenode/src-lib/src/task/sporadic_task.adb
new file mode 100644
index 000000000..e917192da
--- /dev/null
+++ b/plugins/org.polarsys.chess.codegen.ada.singlenode/src-lib/src/task/sporadic_task.adb
@@ -0,0 +1,57 @@
+-----------------------------------------------------------------------
+--           Code Archetypes for the CHESS Component Model           --
+--                                                                   --
+--                   Copyright (C) 2011-2012                         --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author: Marco Panunzio         panunzio@math.unipd.it             --
+--                                                                   --
+-- All rights reserved. This program and the accompanying materials  --
+-- are made available under the terms of the Eclipse Public License  --
+-- v1.0 which accompanies this distribution, and is available at     --
+-- http://www.eclipse.org/legal/epl-v10.html                         --
+-----------------------------------------------------------------------
+
+with System_Time;
+with Ada.Real_Time; use Ada.Real_Time;
+with Ada.Text_IO;
+
+package body Sporadic_Task is
+
+   --------------
+   -- Thread_T --
+   --------------
+
+   task body Thread_T is
+      Req_Desc : Data_Structure.Request_Descriptor_T;
+      Release : Time;
+      Task_MIAT : constant Time_Span := Milliseconds(MIAT);
+      Next_Time : Time := System_Time.System_Start_Time +
+        System_Time.Task_Activation_Delay;
+      Assigned_Task_ID : constant Data_Structure.Task_Gen_ID := My_Task_ID;
+   begin
+
+      -- Suspend the task until first release;
+      delay until Next_Time;
+
+      Ada.Text_IO.Put("Task ");
+      Ada.Text_IO.Put(Natural'Image(Natural(Assigned_Task_ID)));
+      Ada.Text_IO.Put_Line(" first activation");
+
+      Task_Loop :
+      loop
+         -- First action : enqueue in the release entry of the CPA
+         Get_Request(Req_Desc, Release);
+
+         --  Execute the sequential operation
+         --Ada.Text_IO.Put_Line("Sporadic Task: Calling My_OPCS");
+         Data_Structure.My_OPCS(Req_Desc.Params.all);
+
+         -- Calculate the new earliest release time and suspend
+         Next_Time := Release + Task_MIAT;
+         delay until Next_Time;
+      end loop Task_Loop;
+
+   end Thread_T;
+
+end Sporadic_Task;
diff --git a/plugins/org.polarsys.chess.codegen.ada.singlenode/src-lib/src/task/sporadic_task.ads b/plugins/org.polarsys.chess.codegen.ada.singlenode/src-lib/src/task/sporadic_task.ads
new file mode 100644
index 000000000..19e599026
--- /dev/null
+++ b/plugins/org.polarsys.chess.codegen.ada.singlenode/src-lib/src/task/sporadic_task.ads
@@ -0,0 +1,33 @@
+-----------------------------------------------------------------------
+--           Code Archetypes for the CHESS Component Model           --
+--                                                                   --
+--                   Copyright (C) 2011-2012                         --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author: Marco Panunzio         panunzio@math.unipd.it             --
+--                                                                   --
+-- All rights reserved. This program and the accompanying materials  --
+-- are made available under the terms of the Eclipse Public License  --
+-- v1.0 which accompanies this distribution, and is available at     --
+-- http://www.eclipse.org/legal/epl-v10.html                         --
+-----------------------------------------------------------------------
+
+with System;
+with Data_Structure;
+with Ada.Real_Time;
+
+package Sporadic_Task is
+
+   -- Cannot use Time_Span for offset/period in task discriminant => Natural
+
+   task type Thread_T
+     (My_Task_ID : Data_Structure.Task_Gen_ID;
+      Thread_Priority : System.Any_Priority;
+      MIAT : Natural;
+      Get_Request : access procedure (Req : out Data_Structure.Request_Descriptor_T;
+      Release : out Ada.Real_Time.Time)) is
+
+      pragma Priority (Thread_Priority);
+   end Thread_T;
+
+end Sporadic_Task;
diff --git a/plugins/org.polarsys.chess.codegen.ada.singlenode/src/org/polarsys/chess/codegen/ada/singlenode/Activator.java b/plugins/org.polarsys.chess.codegen.ada.singlenode/src/org/polarsys/chess/codegen/ada/singlenode/Activator.java
new file mode 100644
index 000000000..4a7a8a187
--- /dev/null
+++ b/plugins/org.polarsys.chess.codegen.ada.singlenode/src/org/polarsys/chess/codegen/ada/singlenode/Activator.java
@@ -0,0 +1,69 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova.
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Alessandro Zovi
+ *
+ *****************************************************************************/
+package org.polarsys.chess.codegen.ada.singlenode;
+
+import org.eclipse.core.runtime.Plugin;
+import org.osgi.framework.BundleContext;
+
+/**
+ * The activator class controls the plug-in life cycle.
+ */
+public class Activator extends Plugin {
+
+    /**
+     * The plug-in ID.
+     */
+    public static final String PLUGIN_ID = "org.polarsys.chess.codegen.ada.singlenode";
+
+    /**
+     * The shared instance.
+     */
+    private static Activator plugin;
+    
+    /**
+     * The constructor.
+     */
+    public Activator() {
+    }
+
+    /**
+     * {@inheritDoc}
+     *
+     * @see org.eclipse.core.runtime.Plugin#start(org.osgi.framework.BundleContext)
+     */
+    public void start(BundleContext context) throws Exception {
+        super.start(context);
+        plugin = this;
+    }
+
+    /**
+     * {@inheritDoc}
+     *
+     * @see org.eclipse.core.runtime.Plugin#stop(org.osgi.framework.BundleContext)
+     */
+    public void stop(BundleContext context) throws Exception {
+        plugin = null;
+        super.stop(context);
+    }
+
+    /**
+     * Returns the shared instance.
+     *
+     * @return the shared instance
+     */
+    public static Activator getDefault() {
+        return plugin;
+    }
+
+}
diff --git a/plugins/org.polarsys.chess.codegen.ada.singlenode/src/org/polarsys/chess/codegen/ada/singlenode/AdaGenUIHandler.java b/plugins/org.polarsys.chess.codegen.ada.singlenode/src/org/polarsys/chess/codegen/ada/singlenode/AdaGenUIHandler.java
new file mode 100644
index 000000000..ab29b0033
--- /dev/null
+++ b/plugins/org.polarsys.chess.codegen.ada.singlenode/src/org/polarsys/chess/codegen/ada/singlenode/AdaGenUIHandler.java
@@ -0,0 +1,118 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova.
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Alessandro Zovi
+ *
+ *****************************************************************************/
+
+package org.polarsys.chess.codegen.ada.singlenode;
+
+import java.io.PrintWriter;
+import java.io.StringWriter;
+
+import org.eclipse.core.commands.AbstractHandler;
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.core.runtime.jobs.IJobChangeEvent;
+import org.eclipse.core.runtime.jobs.Job;
+import org.eclipse.core.runtime.jobs.JobChangeAdapter;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.papyrus.editor.PapyrusMultiDiagramEditor;
+import org.eclipse.papyrus.infra.core.services.ServiceException;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.IFileEditorInput;
+import org.eclipse.ui.handlers.HandlerUtil;
+import org.polarsys.chess.codegen.ada.singlenode.transformations.Transformation;
+import org.polarsys.chess.core.util.CHESSProjectSupport;
+import org.polarsys.chess.core.util.uml.ResourceUtils;
+import org.polarsys.chess.m2m.Activator;
+
+public class AdaGenUIHandler extends AbstractHandler {
+
+
+	private IProject getActiveProject(IEditorPart editor) {
+		IFileEditorInput input = (IFileEditorInput) editor.getEditorInput();
+		IFile file = input.getFile();
+		return file.getProject();
+	}
+
+	public Object execute(final ExecutionEvent event) throws ExecutionException {
+		final IEditorPart editor = HandlerUtil.getActiveEditor(event);
+		
+		final Job job = new Job("Transforming") {
+			protected IStatus run(IProgressMonitor monitor) {
+				try {
+					try {
+						AdaGenUIHandler.this.execute_(editor, monitor);
+						//Reopen the editor
+//						CHESSEditorUtils.reopenEditor(editor);
+					} catch (Exception e) {
+						throw e;
+					} finally {
+						getActiveProject(editor).refreshLocal(IResource.DEPTH_INFINITE, monitor);
+					}
+				} catch (Exception e) {
+					e.printStackTrace();
+					StringWriter sw = new StringWriter();
+					PrintWriter pw = new PrintWriter(sw);
+				    e.printStackTrace(pw);
+				    CHESSProjectSupport.printlnToCHESSConsole(sw.toString());
+				    
+				    
+					
+					return new Status(Status.ERROR, Activator.PLUGIN_ID, 1,
+							"Error in transformation "+ e.getMessage(), null);
+				}
+				if (monitor.isCanceled())
+					return Status.CANCEL_STATUS;
+				return Status.OK_STATUS;
+			}
+		};
+		job.addJobChangeListener(new JobChangeAdapter() {
+			public void done(IJobChangeEvent event) {
+				if (event.getResult().isOK())
+					CHESSProjectSupport.printlnToCHESSConsole("Job completed successfully");
+				else
+					CHESSProjectSupport.printlnToCHESSConsole("Job did not complete successfully");
+			}
+		});
+
+		job.setUser(true);
+		job.setPriority(Job.SHORT);
+		job.schedule();
+		return null;
+	}
+	
+	public Object execute_(IEditorPart editor, IProgressMonitor monitor) throws Exception {
+		monitor.beginTask("Transforming", 4);
+		if (!(editor instanceof PapyrusMultiDiagramEditor))
+			return null;
+		PapyrusMultiDiagramEditor cEditor = (PapyrusMultiDiagramEditor) editor;
+		Resource inResource = null;
+		try {
+			inResource = ResourceUtils.getUMLResource(cEditor.getServicesRegistry());
+		} catch (ServiceException e) {
+			e.printStackTrace();
+			throw new Exception("Unable to load the model");
+		}
+			
+		IFile inputFile = CHESSProjectSupport.resourceToFile(inResource);
+		Transformation.performCodeGeneration((PapyrusMultiDiagramEditor)editor, inputFile, monitor);
+		
+		//CHESSProjectSupport.fileReplace(newFile, inputFile);
+		return null;
+	}
+}
diff --git a/plugins/org.polarsys.chess.codegen.ada.singlenode/src/org/polarsys/chess/codegen/ada/singlenode/component/ComponentImplementation.mtl b/plugins/org.polarsys.chess.codegen.ada.singlenode/src/org/polarsys/chess/codegen/ada/singlenode/component/ComponentImplementation.mtl
new file mode 100644
index 000000000..8439139b9
--- /dev/null
+++ b/plugins/org.polarsys.chess.codegen.ada.singlenode/src/org/polarsys/chess/codegen/ada/singlenode/component/ComponentImplementation.mtl
@@ -0,0 +1,36 @@
+[comment encoding = UTF-8 /]
+[comment
+-----------------------------------------------------------------------
+--                Ada infrastructural code generator                 -- 
+--                  for the CHESS component model                    --
+--                                                                   --
+--                    Copyright (C) 2011-2012                        --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author: Marco Panunzio         panunzio@math.unipd.it             --
+--                                                                   --
+-- All rights reserved. This program and the accompanying materials  --
+-- are made available under the terms of the Eclipse Public License  --
+-- v1.0 which accompanies this distribution, and is available at     --
+-- http://www.eclipse.org/legal/epl-v10.html                         --
+-----------------------------------------------------------------------
+/]
+[module ComponentImplementation('http://www.eclipse.org/uml2/3.0.0/UML')/]
+[import org::polarsys::chess::codegen::ada::singlenode::main::Copyright /]
+[import org::polarsys::chess::codegen::ada::singlenode::component::ComponentImplementationAda /]
+[import org::polarsys::chess::codegen::ada::singlenode::component::ComponentImplementationC /]
+
+[template public generateComponentImplementation(model : Model, procNode: InstanceSpecification, cImpl : Component, rType : Component ) {
+    cImplStName : String = 'CHESS::ComponentModel::ComponentImplementation';
+}
+]
+[if (getImplementationLanguage(cImpl, cImplStName) = 'Ada') or (getImplementationLanguage(cImpl, cImplStName) = 'ada')]
+[generateComponentImplementationAda(model, procNode, cImpl, rType)/]
+[elseif (getImplementationLanguage(cImpl, cImplStName) = 'C')]
+[generateComponentImplementationC(model, procNode, cImpl, rType)/] 
+[/if]
+[/template]
+
+
+[query public getImplementationLanguage (arg0 : Component, arg1 : String) : String
+	= invoke('org.polarsys.chess.codegen.ada.singlenode.service.UML2Service', 'getImplementationLanguage(org.eclipse.uml2.uml.Component , java.lang.String)', Sequence{arg0, arg1}) /]
\ No newline at end of file
diff --git a/plugins/org.polarsys.chess.codegen.ada.singlenode/src/org/polarsys/chess/codegen/ada/singlenode/component/ComponentImplementationAda.mtl b/plugins/org.polarsys.chess.codegen.ada.singlenode/src/org/polarsys/chess/codegen/ada/singlenode/component/ComponentImplementationAda.mtl
new file mode 100644
index 000000000..246ab89f2
--- /dev/null
+++ b/plugins/org.polarsys.chess.codegen.ada.singlenode/src/org/polarsys/chess/codegen/ada/singlenode/component/ComponentImplementationAda.mtl
@@ -0,0 +1,161 @@
+[comment encoding = UTF-8 /]
+[comment
+-----------------------------------------------------------------------
+--                Ada infrastructural code generator                 -- 
+--                  for the CHESS component model                    --
+--                                                                   --
+--                    Copyright (C) 2011-2012                        --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author: Marco Panunzio         panunzio@math.unipd.it             --
+--                                                                   --
+-- All rights reserved. This program and the accompanying materials  --
+-- are made available under the terms of the Eclipse Public License  --
+-- v1.0 which accompanies this distribution, and is available at     --
+-- http://www.eclipse.org/legal/epl-v10.html                         --
+-----------------------------------------------------------------------
+/]
+[module ComponentImplementationAda('http://www.eclipse.org/uml2/3.0.0/UML')/]
+[import org::polarsys::chess::codegen::ada::singlenode::main::Copyright /]
+
+[template public generateComponentImplementationAda(model : Model, procNode: InstanceSpecification, cImpl : Component, rType : Component ) {
+	ptList : Sequence(OclAny) = cImpl.ownedAttribute->filter("Port")->asSequence();
+    procNodeName : String = procNode.name;
+    clSvPortStName : String = 'MARTE::MARTE_DesignModel::GCM::ClientServerPort';
+    pkgName : String = rType.name.concat('s.').concat(cImpl.name).concat('s');
+}
+]
+
+[file (procNodeName.concat('/src/component_repository/impl/ada/').concat(rType.name).concat('s-').concat(cImpl.name).
+                                 concat('s.ads').toLower(), false, 'UTF-8')]
+[generateCopyrightAda(model)/]
+
+-- Comment the with below if you do not use user-defined datatypes
+with Datatype; use Datatype;
+
+package [pkgName/] is
+
+ -- Declaration of the component implementation
+   type [cImpl.name/] is new [rType.name /] with private;
+ 
+ -- Declaration of the component implementation operation
+   [for (op: Operation | cImpl.ownedOperation)]
+
+      [if (op.ownedParameter->size() = 0)]
+   overriding 
+   procedure [op.name /] (Self : in out [cImpl.name/]);
+      [else]
+   overriding 
+   procedure [op.name/] (Self: in out [cImpl.name/][for (par : Parameter | op.ownedParameter)];
+                          [par.name/] : [par.direction/] [par.type.name/][/for]);
+      [/if]
+   [/for]
+
+private
+
+   type [cImpl.name/] is new [rType.name /] with null record;
+
+--/ ** Insert below your private declarations
+--/ ** [protected (pkgName.concat('_PrivateDeclarations'))]
+
+--/ ** [/protected]
+
+end [pkgName/];
+
+[/file]
+
+[comment Package body/]
+[file (procNodeName.concat('/src/component_repository/impl/ada/').concat(rType.name).concat('s-').concat(cImpl.name).
+                                 concat('s.adb').toLower(), false, 'UTF-8')]
+[generateReducedCopyrightAda(model)/]
+
+--/ ** Insert below your with'ed packages
+--/ ** [protected ('with packages')]
+
+--/ ** [/protected]
+
+package body [pkgName/] is
+
+--/ ** Insert below your package local definitions
+--/ ** [protected (pkgName.concat('_pkgDefinitions'))]
+
+--/ ** [/protected]
+
+   [for (op: Operation | cImpl.ownedOperation)]
+
+       [if (op.ownedParameter->size() = 0)]
+          [let opName : String = getOperationSignature(cImpl, op)]
+   overriding 
+   procedure [op.name/] (Self : in out [cImpl.name/]) is
+     pragma Warnings (Off, Self);
+   --/ ** Insert below your local variables declarations;
+   --/ ** [protected (opName.concat('_LocalVariables'))]
+
+   --/ ** [/protected]
+   begin
+   --/ ** Summary of calls to Required Interfaces (Worst-case scenario) **
+
+     		[if op.method->size() > 0]
+     			[let act : Activity = op.method->filter(Activity)->asSequence()->first()]
+					[for (coa: CallOperationAction | act.node->filter(CallOperationAction))]
+   --/ 1 call to -> Self.[coa.onPort.name/].[coa.operation.name/]
+   					[/for]
+     			[/let]
+            [else]
+   --/ No calls to Required Interfaces
+			[/if]
+
+   --/ ** End of calls to Required Interfaces **
+   
+      null; -- Remove in your final build
+   --/ ** [protected (opName)]
+
+   --/ ** [/protected]
+   end [op.name/];
+          [/let]
+      [else]
+        [comment TODO: take parameterType into account when creating operation name/]
+         [let opName : String = getOperationSignature(cImpl, op)]
+   overriding 
+   procedure [op.name/] (Self: in out [cImpl.name/][for (par : Parameter | op.ownedParameter)];
+                          [par.name/] : [par.direction/] [par.type.name/][/for]) is
+      pragma Warnings (Off, Self);
+   --/ ** Insert below your local variables declarations;
+   --/ ** [protected (opName.concat('_LocalVariables'))]
+
+   --/ ** [/protected]
+
+   begin
+   --/ ** Summary of calls to Required Interfaces (Worst-case scenario) **
+
+     		[if op.method->size() > 0]
+     			[let act : Activity = op.method->filter(Activity)->asSequence()->first()]
+					[for (coa: CallOperationAction | act.node->filter(CallOperationAction))]
+   --/ 1 call to -> Self.[coa.onPort.name/].[coa.operation.name/]
+   					[/for]
+     			[/let]
+            [else]
+   --/ No calls to Required Interfaces
+			[/if]
+
+   --/ ** End of calls to Required Interfaces **
+   
+      null; -- Remove in your final build
+   --/ ** [protected (opName)]
+
+   --/ ** [/protected]
+   end [op.name/];
+         [/let]
+      [/if]
+   [/for]
+
+end [pkgName/];
+[/file]
+
+[/template]
+
+[query public getOperationSignature(arg0 : Component, arg1 : Operation) : String
+	= invoke('org.polarsys.chess.codegen.ada.singlenode.service.UML2Service', 'getOperationSignature(org.eclipse.uml2.uml.Component, org.eclipse.uml2.uml.Operation)', Sequence{arg0, arg1}) /]
+
+[query public getCalledOperation(arg0 : Operation) : Sequence(OclAny)
+	= invoke('org.polarsys.chess.codegen.ada.singlenode.service.UML2Service', 'getCalledOperation(org.eclipse.uml2.uml.Operation)', Sequence{arg0}) /]
diff --git a/plugins/org.polarsys.chess.codegen.ada.singlenode/src/org/polarsys/chess/codegen/ada/singlenode/component/ComponentImplementationC.mtl b/plugins/org.polarsys.chess.codegen.ada.singlenode/src/org/polarsys/chess/codegen/ada/singlenode/component/ComponentImplementationC.mtl
new file mode 100644
index 000000000..29fd4ad92
--- /dev/null
+++ b/plugins/org.polarsys.chess.codegen.ada.singlenode/src/org/polarsys/chess/codegen/ada/singlenode/component/ComponentImplementationC.mtl
@@ -0,0 +1,267 @@
+[comment encoding = UTF-8 /]
+[comment
+-----------------------------------------------------------------------
+--                Ada infrastructural code generator                 -- 
+--                  for the CHESS component model                    --
+--                                                                   --
+--                    Copyright (C) 2011-2012                        --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author: Marco Panunzio         panunzio@math.unipd.it             --
+--                                                                   --
+-- All rights reserved. This program and the accompanying materials  --
+-- are made available under the terms of the Eclipse Public License  --
+-- v1.0 which accompanies this distribution, and is available at     --
+-- http://www.eclipse.org/legal/epl-v10.html                         --
+-----------------------------------------------------------------------
+/]
+[module ComponentImplementationC('http://www.eclipse.org/uml2/3.0.0/UML')/]
+[import org::polarsys::chess::codegen::ada::singlenode::main::Copyright /]
+
+[template public generateComponentImplementationC(model : Model, procNode: InstanceSpecification, cImpl : Component, rType : Component ) {
+	ptList : Sequence(OclAny) = cImpl.ownedAttribute->filter("Port")->asSequence();
+    procNodeName : String = procNode.name;
+    clSvPortStName : String = 'MARTE::MARTE_DesignModel::GCM::ClientServerPort';
+    pkgName : String = rType.name.concat('s.').concat(cImpl.name).concat('s');
+}
+]
+
+[file (procNodeName.concat('/src/component_repository/impl/c/wrapper/').concat(rType.name).concat('s-').concat(cImpl.name).
+                                 concat('s.ads').toLower(), false, 'UTF-8')]
+[generateCopyrightAda(model)/]
+
+-- Comment the with below if you do not use user-defined datatypes
+with Datatype; use Datatype;
+
+package [pkgName/] is
+
+ -- Declaration of the Ada wrapper for the component implementation
+   type [cImpl.name/] is new [rType.name /] with private;
+ 
+ -- Declaration of the component implementation operation
+   [for (op: Operation | cImpl.ownedOperation)]
+
+      [if (op.ownedParameter->size() = 0)]
+   overriding 
+   procedure [op.name /] (Self : in out [cImpl.name/]);
+      [else]
+   overriding 
+   procedure [op.name/] (Self: in out [cImpl.name/][for (par : Parameter | op.ownedParameter)];
+                          [par.name/] : [par.direction/] [par.type.name/][/for]);
+      [/if]
+   [/for]
+
+private
+   -- Declaration of the import directives
+   [for (op: Operation | cImpl.ownedOperation)]
+
+         [if (op.method->size() = 0)]
+            [let parList : OrderedSet(Parameter) = op.ownedParameter]
+   procedure [op.name/]_Ada([parList->first().name/] : [parList->first().direction/] [parList->first().type.name/][for (par : Parameter | parList->excluding(parList->first())->asOrderedSet())];
+                          [par.name/] : [par.direction/] [par.type.name/][/for]);
+            [/let]
+         [else]
+   procedure [op.name/]_Ada(Self: in [cImpl.name/][for (par : Parameter | op.ownedParameter)];
+                          [par.name/] : [par.direction/] [par.type.name/][/for]);
+         [/if]
+   pragma Import (Convention => C,
+                  Entity => [op.name/]_Ada,
+                  External_Name => "[op.name/]");
+   [/for]
+
+
+   type [cImpl.name/] is new [rType.name /] with null record;
+
+end [pkgName/];
+[/file]
+
+[comment Package body/]
+[file (procNodeName.concat('/src/component_repository/impl/c/wrapper/').concat(rType.name).concat('s-').concat(cImpl.name).
+                                 concat('s.adb').toLower(), false, 'UTF-8')]
+[generateCopyrightAda(model)/]
+
+--/ ** Insert below your with'ed packages
+--/ ** [protected ('with packages')]
+
+--/ ** [/protected]
+
+package body [pkgName/] is
+
+  -- Dispatching procedures called from foreign code
+[for (op: Operation | cImpl.ownedOperation)]
+
+   [if op.method->size() > 0]
+      [let act : Activity = op.method->filter(Activity)->asSequence()->first()]
+         [for (coa: CallOperationAction | act.node->filter(CallOperationAction))]
+            [if (coa.operation.ownedParameter->size() = 0)]
+   procedure Dispatch_[coa.onPort.name/]_[coa.operation.name/](obj: in [cImpl.name/]'Class);
+            [else]
+   procedure Dispatch_[coa.onPort.name/]_[coa.operation.name/](obj: in [cImpl.name/]'Class[for (par : Parameter | coa.operation.ownedParameter)];
+                          [par.name/] : [par.direction/] [par.type.name/][/for]);
+            [/if]
+   pragma Export(C, Dispatch_[coa.onPort.name/]_[coa.operation.name/], "Dispatch_[coa.onPort.name/]_[coa.operation.name/]");
+
+            [if (coa.operation.ownedParameter->size() = 0)]
+   procedure Dispatch_[coa.onPort.name/]_[coa.operation.name/](obj: in [cImpl.name/]'Class) is
+            [else]
+   procedure Dispatch_[coa.onPort.name/]_[coa.operation.name/](obj: in [cImpl.name/]'Class[for (par : Parameter | coa.operation.ownedParameter)];
+                          [par.name/] : [par.direction/] [par.type.name/][/for]) is
+            [/if]
+     pragma Warnings (Off, obj);
+   begin
+      -- Ada.Text_IO.Put_Line("(Ada) Calling [coa.onPort.name/].[coa.operation.name/]");
+            [if (coa.operation.ownedParameter->size() = 0)] [comment 0 parameters/]
+      obj.[coa.onPort.name/].[coa.operation.name/];
+            [else]
+               [let parList : OrderedSet(Parameter) = coa.operation.ownedParameter]
+      obj.[coa.onPort.name/].[coa.operation.name/]([parList->first().name/][for (par : Parameter | parList->excluding(parList->first())->asOrderedSet())],[par.name/][/for]);
+               [/let]
+            [/if]
+   end Dispatch_[coa.onPort.name/]_[coa.operation.name/];
+         [/for]
+      [/let]
+   [/if]
+[/for]
+
+-- wrappers for procedures implemented in foreign code
+[for (op: Operation | cImpl.ownedOperation)]
+
+   [if (op.ownedParameter->size() = 0)]
+   overriding 
+   procedure [op.name/] (Self : in out [cImpl.name/]) is
+     pragma Warnings (Off, Self);
+   begin
+      [if (op.method->size() = 0)]
+      [op.name/]_Ada;
+      [else]
+      [op.name/]_Ada(Self);
+      [/if]
+   end [op.name/];
+   [else] [comment The operation has parameters /]
+   overriding 
+   procedure [op.name/] (Self: in out [cImpl.name/][for (par : Parameter | op.ownedParameter)];
+                          [par.name/] : [par.direction/] [par.type.name/][/for]) is
+      pragma Warnings (Off, Self);
+   begin
+      [if (op.method->size() = 0)]
+         [let parList : OrderedSet(Parameter) = op.ownedParameter]
+      [op.name/]_Ada([parList->first().name/][for (par : Parameter | parList->excluding(parList->first())->asOrderedSet())],[par.name/][/for]);
+         [/let]
+      [else]
+      [op.name/]_Ada(Self[for (par : Parameter | op.ownedParameter)],[par.name/][/for]);
+      [/if]
+   end [op.name/];
+   [/if]
+[/for]
+ 
+end [pkgName/];
+[/file]
+
+[comment C implementation spec /]
+[file (procNodeName.concat('/src/component_repository/impl/c/').concat(cImpl.name).concat('.h').toLower(), false, 'UTF-8')]
+[generateCopyrightC(model)/]
+
+#ifndef [cImpl.name.concat('_H_').toUpper()/]
+#define [cImpl.name.concat('_H_').toUpper()/]
+
+#include "datatype.h"
+
+extern "C"
+{
+[for (op: Operation | cImpl.ownedOperation)]
+   [if (op.ownedParameter->size() = 0)]
+      [if (op.method->size() = 0)]
+   void [op.name/]();
+      [else]
+   void [op.name/](const void *obj);
+      [/if]
+   [else]
+      [let parList : OrderedSet(Parameter) = op.ownedParameter]
+         [if (op.method->size() = 0)]
+   void [op.name/]([if (parList->first().direction.toString().equalsIgnoreCase('out') or parList->first().direction.toString().equalsIgnoreCase('inout'))][adaTypeToCtype(parList->first().type)/] &[else]const [adaTypeToCtype(parList->first().type)/] [/if][parList->first().name/][for (par : Parameter | parList->excluding(parList->first())->asOrderedSet())], [if (par.direction.toString().equalsIgnoreCase('out') or par.direction.toString().equalsIgnoreCase('inout'))][adaTypeToCtype(par.type)/] &[else] const [adaTypeToCtype(par.type)/] [/if][par.name/][/for]);
+         [else]
+   void [op.name/](const void *obj[for (par : Parameter | parList)], [if (par.direction.toString().equalsIgnoreCase('out') or par.direction.toString().equalsIgnoreCase('inout'))][adaTypeToCtype(par.type)/] &[else]const [adaTypeToCtype(par.type)/] [/if][par.name/][/for]);
+         [/if]
+      [/let]
+   [/if]
+[/for]
+}
+
+#endif /* [cImpl.name.concat('_H_').toUpper()/] */
+[/file]
+
+[comment C implementation body /]
+[file (procNodeName.concat('/src/component_repository/impl/c/').concat(cImpl.name).concat('.cpp').toLower(), false, 'UTF-8')]
+[generateReducedCopyrightC(model)/]
+
+#include "[cImpl.name.concat('.h').toLower()/]"
+
+// Import below your "included" files.
+// Define below your global variables.
+// [protected (pkgName.concat('_includedFiles_GlobalVariables'))]
+
+// [/protected]
+
+// Declaration of the external subprograms to call RI operations 
+[for (op: Operation | cImpl.ownedOperation)]
+   [if op.method->size() > 0]
+extern "C" {
+      [let act : Activity = op.method->filter(Activity)->asSequence()->first()]
+         [for (coa: CallOperationAction | act.node->filter(CallOperationAction))]
+            [if (coa.operation.ownedParameter->size() = 0)]
+   void Dispatch_[coa.onPort.name/]_[coa.operation.name/](const void *obj);
+            [else]
+   void Dispatch_[coa.onPort.name/]_[coa.operation.name/](const void *obj[for (par : Parameter | coa.operation.ownedParameter)], [adaTypeToCtype(par.type)/] [if (par.direction.toString().equalsIgnoreCase('out') or par.direction.toString().equalsIgnoreCase('inout'))]&[/if][par.name/][/for]);
+            [/if]
+         [/for]
+      [/let]
+}
+  [/if]
+[/for]
+
+[for (op: Operation | cImpl.ownedOperation)]
+
+   [if (op.ownedParameter->size() = 0)]
+      [if (op.method->size() = 0)]
+extern "C" void [op.name/]() {
+      [else]
+extern "C" void [op.name/](const void *obj) {
+      [/if]
+   [else]
+      [let parList : OrderedSet(Parameter) = op.ownedParameter]
+         [if (op.method->size() = 0)]
+extern "C" void [op.name/]([if (parList->first().direction.toString().equalsIgnoreCase('out') or parList->first().direction.toString().equalsIgnoreCase('inout'))][adaTypeToCtype(parList->first().type)/]  &[else]const [adaTypeToCtype(parList->first().type)/] [/if][parList->first().name/][for (par : Parameter | parList->excluding(parList->first())->asOrderedSet())], [if (par.direction.toString().equalsIgnoreCase('out') or par.direction.toString().equalsIgnoreCase('inout'))][adaTypeToCtype(par.type)/] &[else]const [adaTypeToCtype(par.type)/] [/if][par.name/][/for]) {
+         [else]
+extern "C" void [op.name/](const void *obj[for (par : Parameter | parList)], [if (par.direction.toString().equalsIgnoreCase('out') or par.direction.toString().equalsIgnoreCase('inout'))][adaTypeToCtype(par.type)/] &[else]const [adaTypeToCtype(par.type)/] [/if][par.name/][/for]) {
+         [/if]
+      [/let]
+   [/if]
+   // ** Summary of calls to Required Interfaces **
+   [let opName : String = getOperationSignature(cImpl, op)]
+      [if op.method->size() > 0]
+         [let act : Activity = op.method->filter(Activity)->asSequence()->first()]
+		    [for (coa: CallOperationAction | act.node->filter(CallOperationAction))]
+   //  1 call to -> Dispatch_[coa.onPort.name/]_[coa.operation.name/]
+   			[/for]
+         [/let]
+      [else]
+   // No calls to Required Interfaces
+	  [/if]
+   // ** End of calls to Required Interfaces ** 
+ 
+   // ** [protected (opName)]
+
+   // ** [/protected]
+   [/let]
+};
+[/for]
+
+[/file]
+
+[/template]
+
+[query public adaTypeToCtype(arg0: Type) : String
+	= invoke('org.polarsys.chess.codegen.ada.singlenode.service.UML2Service', 'adaTypeToCtype(org.eclipse.uml2.uml.Type)', Sequence{arg0}) /]
+
+[query public getOperationSignature(arg0 : Component, arg1 : Operation) : String
+	= invoke('org.polarsys.chess.codegen.ada.singlenode.service.UML2Service', 'getOperationSignature(org.eclipse.uml2.uml.Component, org.eclipse.uml2.uml.Operation)', Sequence{arg0, arg1}) /]
\ No newline at end of file
diff --git a/plugins/org.polarsys.chess.codegen.ada.singlenode/src/org/polarsys/chess/codegen/ada/singlenode/component/ComponentType.mtl b/plugins/org.polarsys.chess.codegen.ada.singlenode/src/org/polarsys/chess/codegen/ada/singlenode/component/ComponentType.mtl
new file mode 100644
index 000000000..0dcc767d6
--- /dev/null
+++ b/plugins/org.polarsys.chess.codegen.ada.singlenode/src/org/polarsys/chess/codegen/ada/singlenode/component/ComponentType.mtl
@@ -0,0 +1,125 @@
+[comment encoding = UTF-8 /]
+[comment
+-----------------------------------------------------------------------
+--                Ada infrastructural code generator                 -- 
+--                  for the CHESS component model                    --
+--                                                                   --
+--                    Copyright (C) 2011-2012                        --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author: Marco Panunzio         panunzio@math.unipd.it             --
+--                                                                   --
+-- All rights reserved. This program and the accompanying materials  --
+-- are made available under the terms of the Eclipse Public License  --
+-- v1.0 which accompanies this distribution, and is available at     --
+-- http://www.eclipse.org/legal/epl-v10.html                         --
+-----------------------------------------------------------------------
+/]
+[module ComponentType('http://www.eclipse.org/uml2/3.0.0/UML', 'http://www.eclipse.org/papyrus/GCM/1')]
+[import org::polarsys::chess::codegen::ada::singlenode::main::Copyright /]
+
+[template public generateComponentType(model : Model, procNode : InstanceSpecification, ct : Component) {
+	ptList : Sequence(Port) = ct.ownedAttribute->filter(Port)->asSequence();
+    procNodeName : String = procNode.name;
+    clSvPortStName : String = 'MARTE::MARTE_DesignModel::GCM::ClientServerPort';
+}
+]
+
+[file (procNodeName.concat('/src/component_repository/type/').concat(ct.name).concat('s.ads').toLower(), false, 'UTF-8')]
+[generateCopyrightAda(model)/]
+
+[comment With section to import Interfaces referenced as PI and RI /]
+[for (pt : Port | ct.ownedAttribute->filter("Port"))]
+	    [if (isProvidedPort(pt, clSvPortStName))]
+with [getProvidedInterface(pt, clSvPortStName).name /];
+        [/if]
+        [if (isRequiredPort(pt, clSvPortStName))]
+with [getRequiredInterface(pt, clSvPortStName).name /];
+        [/if]
+[/for]
+
+
+[comment Package declaration and type declaration /]
+package [ct.name.concat('s')/] is
+   
+   -- Declaration of the component type
+   type [ct.name/] is abstract new [getProvidedInterfaceListAsQualifiedString(ptList, clSvPortStName)/] with private;
+
+   -- Setters for the RI
+
+  [for (pt : Port | ct.ownedAttribute->filter("Port"))]
+    [let st : Stereotype = pt.getAppliedStereotype(clSvPortStName)]
+  	  [if (isRequiredPort(pt, clSvPortStName))]
+  procedure Set_[pt.name/] (Self: in out [ct.name/];
+                             ptr : in [getRequiredInterface(pt, clSvPortStName).name/].[getRequiredInterface(pt, clSvPortStName).name/]_ptr);
+
+      [/if]
+    [/let]
+  [/for]
+
+private
+
+   [if hasRequiredInterface(ptList, clSvPortStName)]
+
+   type [ct.name/] is abstract new [getProvidedInterfaceListAsQualifiedString(ptList, clSvPortStName)/] with record
+
+      -- List of RI
+      [for (pt : Port | ct.ownedAttribute->filter("Port"))]
+        [if (isRequiredPort(pt, clSvPortStName))]
+      [pt.name/] : [getRequiredInterface(pt, clSvPortStName).name/].[getRequiredInterface(pt, clSvPortStName).name/]_ptr;
+        [/if]
+      [/for]      
+   end record;
+   [else]
+
+   type [ct.name/] is abstract new [getProvidedInterfaceListAsQualifiedString(ptList, clSvPortStName)/] with null record;
+   [/if]
+
+end [ct.name.concat('s')/];
+[/file]
+
+[comment Generate .adb only if RI list is not empty 
+ (The declaration of setter bodies is then necessary) /]
+ 
+[if hasRequiredInterface(ptList, clSvPortStName)]
+[file (procNodeName.concat('/src/component_repository/type/').concat(ct.name).concat('s.adb').toLower(), false, 'UTF-8')]
+[generateCopyrightAda(model)/]
+
+package body [ct.name.concat('s')/] is
+
+   -- Setters for the RI
+
+  [for (pt : Port | ct.ownedAttribute->filter("Port"))]
+     [if (isRequiredPort(pt, clSvPortStName))]
+  procedure Set_[pt.name/] (Self: in out [ct.name/];
+                             ptr : in [getRequiredInterface(pt, clSvPortStName).name/].[getRequiredInterface(pt, clSvPortStName).name/]_ptr) is
+  begin
+    Self.[pt.name/] := ptr;
+  end Set_[pt.name/];
+     [/if]
+  [/for]
+
+
+end [ct.name.concat('s')/];
+[/file]
+[/if]
+
+[/template]
+
+[query public getProvidedInterface(arg0 : Port, arg1 : String) : Interface
+	= invoke('org.polarsys.chess.codegen.ada.singlenode.service.UML2Service', 'getProvidedInterface(org.eclipse.uml2.uml.Port, java.lang.String)', Sequence{arg0, arg1}) /]
+
+[query public getRequiredInterface(arg0 : Port, arg1 : String) : Interface
+	= invoke('org.polarsys.chess.codegen.ada.singlenode.service.UML2Service', 'getRequiredInterface(org.eclipse.uml2.uml.Port, java.lang.String)', Sequence{arg0, arg1}) /]
+
+[query public isProvidedPort(arg0 : Port, arg1: String) : Boolean
+    = invoke('org.polarsys.chess.codegen.ada.singlenode.service.UML2Service', 'isProvidedPort(org.eclipse.uml2.uml.Port, java.lang.String)', Sequence{arg0, arg1}) /]
+
+[query public isRequiredPort(arg0 : Port, arg1: String) : Boolean
+    = invoke('org.polarsys.chess.codegen.ada.singlenode.service.UML2Service', 'isRequiredPort(org.eclipse.uml2.uml.Port, java.lang.String)', Sequence{arg0, arg1}) /]
+
+[query public getProvidedInterfaceListAsQualifiedString(arg0 : Sequence(OclAny), arg1 : String) : String
+	= invoke('org.polarsys.chess.codegen.ada.singlenode.service.UML2Service', 'getProvidedInterfaceListAsQualifiedString(java.util.List, java.lang.String)', Sequence{arg0, arg1}) /]
+
+[query public hasRequiredInterface(arg0 : Sequence(OclAny), arg1 : String) : Boolean
+	= invoke('org.polarsys.chess.codegen.ada.singlenode.service.UML2Service', 'hasRequiredInterface(java.util.List, java.lang.String)', Sequence{arg0, arg1}) /]
diff --git a/plugins/org.polarsys.chess.codegen.ada.singlenode/src/org/polarsys/chess/codegen/ada/singlenode/container/Container.mtl b/plugins/org.polarsys.chess.codegen.ada.singlenode/src/org/polarsys/chess/codegen/ada/singlenode/container/Container.mtl
new file mode 100644
index 000000000..eb6c81e2c
--- /dev/null
+++ b/plugins/org.polarsys.chess.codegen.ada.singlenode/src/org/polarsys/chess/codegen/ada/singlenode/container/Container.mtl
@@ -0,0 +1,557 @@
+[comment encoding = UTF-8 /]
+[comment
+-----------------------------------------------------------------------
+--                Ada infrastructural code generator                 -- 
+--                  for the CHESS component model                    --
+--                                                                   --
+--                    Copyright (C) 2011-2012                        --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author: Marco Panunzio         panunzio@math.unipd.it             --
+--                                                                   --
+-- All rights reserved. This program and the accompanying materials  --
+-- are made available under the terms of the Eclipse Public License  --
+-- v1.0 which accompanies this distribution, and is available at     --
+-- http://www.eclipse.org/legal/epl-v10.html                         --
+-----------------------------------------------------------------------
+/]
+[module Container('http://www.eclipse.org/uml2/3.0.0/UML',
+                  'http://CHESS/Predictability/RTComponentModel')/]
+[import org::polarsys::chess::codegen::ada::singlenode::main::Copyright /]
+
+[template public generateContainer(model : Model, procNode: InstanceSpecification, instSpec : InstanceSpecification, cImpl : Component) {
+    pkgName : String = 'CT_'.concat(instSpec.name).concat('s');
+	procNodeName : String = procNode.name;
+    ptList : Sequence(Port) = instSpec.classifier.oclAsType(Component).ownedAttribute->asSequence()->filter(Port);
+    clSvPortStName : String = 'MARTE::MARTE_DesignModel::GCM::ClientServerPort';
+    CHRtPortStName : String = 'CHESS::Dependability::RTComponentModel::CHRtPortSlot';
+    CHRtSpecificationStName : String = 'CHESS::Dependability::RTComponentModel::CHRtSpecification';
+    cType : Component = cImpl.clientDependency.supplier->asSequence()->first().oclAsType(Component);
+    instTypePkg : String = cType.name.concat('s.').concat(cImpl.name).concat('s');
+    slotSeq : Sequence(OclAny) = instSpec.slot->asSequence();
+    cyclicOpList : Sequence(Operation) = getCyclicOperationList(slotSeq, CHRtPortStName)->filter(Operation);
+    sporadicOpList : Sequence(Operation) = getSporadicOperationList(slotSeq, CHRtPortStName)->filter(Operation);
+    protectedOpList : Sequence(Operation) = getProtectedOperationList(slotSeq, CHRtPortStName)->filter(Operation);
+    unprotectedOpList : Sequence(Operation) = getUnprotectedOperationList(slotSeq, CHRtPortStName)->filter(Operation);
+    providedIntList : Sequence(Interface) = getProvidedInterfaceList(ptList, clSvPortStName)
+}
+]
+
+[file (procNodeName.concat('/src/container/').concat(pkgName).concat('.ads').toLower(), false, 'UTF-8')]
+[generateCopyrightAda(model) /]
+
+[comment With section /]
+-- Comment the with below if you do not use user-defined datatypes
+with Datatype; use Datatype;
+
+[comment With of interface packages/]
+-- with of interface and component implementation packages
+[for (aInterface: Interface | getProvidedInterfaceList(ptList, clSvPortStName)->filter(Interface))]
+with [aInterface.name/];
+[/for]
+[for (aInterface: Interface | getRequiredInterfaceList(ptList, clSvPortStName)->filter(Interface))]
+with [aInterface.name/];
+[/for]
+[comment With of the component implementation/]
+with [cType.name/]s.[cImpl.name/]s;
+[comment With of packages to enforce extra-functional properties/]
+
+--with of packages for enforcement of extra-functional properties
+[for (str: String | getPackageToWithSpec(slotSeq, CHRtPortStName, CHRtSpecificationStName)->filter(String))]
+[str/]
+[/for]
+
+
+package [pkgName/] is 
+ 
+   procedure Initialize_Container;
+
+   -- Getter subprograms for provided interfaces
+   [for (aInterface: Interface | getProvidedInterfaceList(ptList, clSvPortStName)->filter(Interface))]
+   function Get_[aInterface.name/] return [aInterface.name/].[aInterface.name/]_ptr;
+ 
+   [/for]
+
+   -- Setter subprograms for required interfaces
+   [for (pt : Port | ptList)]
+  	     [if (isRequiredPort(pt, clSvPortStName))]
+   procedure Set_[pt.name/] (ptr : in [getRequiredInterface(pt, clSvPortStName).name/].[getRequiredInterface(pt, clSvPortStName).name/]_ptr);
+         [/if]
+   [/for]
+
+private
+   
+   -- Component instance
+   [instSpec.name/]: aliased [instTypePkg/].[cImpl.name/];
+   -- Access pointers to the instance (1 x PI)
+   [for (aInterface: Interface | getProvidedInterfaceList(ptList, clSvPortStName)->filter(Interface))]
+   [instSpec.name/]_as_[aInterface.name/]_ptr : [aInterface.name/].[aInterface.name/]_ptr := [instSpec.name/]'access;
+   [/for]
+   
+   -- Type definition for the container
+   type ['CT_'.concat(instSpec.name)/]_T is new [getProvidedInterfaceListAsQualifiedString(ptList, clSvPortStName)/] with null record;
+
+   -- Overriding of operations of interfaces
+   [for (op: Operation | cImpl.ownedOperation)]
+
+      [if (op.ownedParameter->size() = 0)]
+   overriding 
+   procedure [op.name /] (Self : in out ['CT_'.concat(instSpec.name)/]_T)[if (isCyclicOperation(slotSeq, op, CHRtPortStName))] is null[/if];
+      [else]
+   overriding 
+   procedure [op.name/] (Self: in out ['CT_'.concat(instSpec.name)/]_T[for (par : Parameter | op.ownedParameter)];
+                          [par.name/] : [par.direction/] [par.type.name/][/for]);
+      [/if]
+   [/for]
+
+   -- Instantiation of the container
+   ['CT_'.concat(instSpec.name)/]_T_inst_0 : aliased ['CT_'.concat(instSpec.name)/]_T;
+   
+
+
+   -- Entities for the enforcement of extra-functional properties --
+   [comment Cyclic operations /]
+   [for (op : Operation | cyclicOpList)]
+   
+   -- Wrapper procedure for the cyclic operation
+   procedure [op.name/];
+
+   procedure Enqueueing_Procedure_My_Thread_[i-1/] (Release : out Time);
+
+   My_CPA_[i-1/] : aliased Release_Control_OBCS([getCeiling(slotSeq, op, CHRtPortStName)/]);
+
+   My_Thread_[i-1/] : aliased Cyclic_Task.Thread_T(Data_Structure.Generate_Task_ID, [getPriority(slotSeq, op, CHRtPortStName)/], 0, [getPeriodOrMIAT(slotSeq, op, CHRtPortStName)/],
+                                  Enqueueing_Procedure_My_Thread_[i-1/]'access,
+                                  [op.name/]'access);
+   [/for]
+   [comment end Cyclic operations /]
+   [comment Sporadic operations /]
+   [if (sporadicOpList->notEmpty()) ]
+   -- Configuration parameters for all queues and OBCS
+   Param_Queue_Size : constant Integer := 3;
+   OBCS_Queue_Size : constant Integer := Param_Queue_Size * 2;
+
+   -- Instantiation of queues and OBCS
+   [/if]
+   [for (op : Operation | sporadicOpList)]
+      [let aInterface : Interface = getInterface(op, ptList, clSvPortStName)]
+   [op.name/]_OBCS_Ceiling : System.Priority := [getCeiling(slotSeq, op, CHRtPortStName)/];
+
+   type [op.name/]_Param_T is new Data_Structure.Param_Type with record
+      OPCS_Instance : [aInterface.name/].[aInterface.name/]_ptr;
+      [for (par : Parameter | op.ownedParameter)]
+      [par.name/] : [par.type.name/];
+      [/for]
+   end record;
+   type [op.name/]_Param_T_Ref is access all [op.name/]_Param_T;
+
+   type [op.name/]_Param_Arr is array(Integer range <>) of aliased [op.name/]_Param_T;
+
+   overriding
+   procedure My_OPCS(Self : in out [op.name/]_Param_T);
+
+   -- create an OBCS that matches the interface of the OPCS
+   protected type [op.name/]_OBCS(Ceiling : System.Any_Priority;
+                       [op.name/]_Params_Arr_Ref_P : Data_Structure.Param_Arr_Ref) is
+      pragma Priority(Ceiling);
+      entry Get_Request(Req : out Data_Structure.Request_Descriptor_T;
+                        Release : out Time);
+
+      -- Subprograms
+      [if (op.ownedParameter->size() = 0)] [comment 0 parameters/]
+      procedure [op.name/];
+      [else]
+         [let parList : OrderedSet(Parameter) = op.ownedParameter]
+            [if (parList->size() = 1)] [comment 1 parameter /]
+      procedure [op.name/] ([parList->first().name/] : [parList->first().direction/] [parList->first().type.name/]);
+            [else] [comment more than 1 parameter/]
+      procedure [op.name/] ([parList->first().name/] : [parList->first().direction/] [parList->first().type.name/][for (par : Parameter | parList->excluding(parList->first())->asOrderedSet())];
+                            [par.name/] : [par.direction/] [par.type.name/][/for]);
+            [/if]
+          [/let]
+      [/if]
+
+   private
+      -- The queue system for [op.name/]_OBCS
+      [op.name/]_OBCS_Queue : Data_Structure.Request_Queue(OBCS_Queue_Size);
+      -- Arrays to store a set of reified invocations for [op.name/]
+      [op.name/]_Params : Data_Structure.Param_Buffer_T(Param_Queue_Size) :=
+        (Size => Param_Queue_Size, Index => 1, Buffer => [op.name/]_Params_Arr_Ref_P.all);
+      Pending : Standard.Boolean := False;
+   end [op.name/]_OBCS;
+      [/let]
+   [/for]
+   [comment End Sporadic operations /]
+   [comment Protected operations /]
+   [for (sl : Slot | slotSeq->filter(Slot))]
+      [let protectedOpList : Sequence(Operation) = getSlotProtectedOperation(sl, CHRtPortStName)]
+        [if (protectedOpList->notEmpty())]
+
+   [instSpec.name/]_[sl.definingFeature.name/]_PO_Ceiling : System.Priority := [getCeiling(slotSeq, protectedOpList->first(), CHRtPortStName)/];   
+
+   protected type [instSpec.name/]_[sl.definingFeature.name/]_PO is
+      pragma Priority([instSpec.name/]_[sl.definingFeature.name/]_PO_Ceiling);
+
+      -- Subprograms
+            [for (op : Operation | protectedOpList)]
+                [if (op.ownedParameter->size() = 0)] [comment 0 parameters/]
+      procedure [op.name/];
+                [else]
+                   [let parList : OrderedSet(Parameter) = op.ownedParameter]
+                      [if (parList->size() = 1)] [comment 1 parameter /]
+      procedure [op.name/] ([parList->first().name/] : [parList->first().direction/] [parList->first().type.name/]);
+                      [else] [comment more than 1 parameter/]
+      procedure [op.name/] ([parList->first().name/] : [parList->first().direction/] [parList->first().type.name/][for (par : Parameter | parList->excluding(parList->first())->asOrderedSet())];
+                          [par.name/] : [par.direction/] [par.type.name/][/for]);
+                      [/if]
+                   [/let]
+                [/if]
+            [/for]
+
+   private
+
+   end [instSpec.name/]_[sl.definingFeature.name/]_PO;
+         [/if]
+      [/let]
+   [/for]
+  [comment end Protected Operations /]
+
+end [pkgName/];
+[/file]
+
+[file (procNodeName.concat('/src/container/').concat(pkgName).concat('.adb').toLower(), false, 'UTF-8')]
+[generateCopyrightAda(model)/]
+
+[comment Package "Sporadic_Task" is to be with'ed if there is at 
+         least one sporadic operation to be supported /]
+[if (sporadicOpList->notEmpty())]
+with Sporadic_Task;
+
+-- With of data types and Default Values. 
+-- Remove it if it is already included in the spec.
+with Datatype; use Datatype;
+[/if]
+--with Ada.Text_IO;
+
+package body [pkgName/] is 
+
+
+   procedure Initialize_Container is
+   begin
+      --Ada.Text_IO.Put_Line("-- Container [pkgName/].Initialize_Container -- ");
+      null;
+   end Initialize_Container;
+
+   [comment getters for Provided Interfaces /]
+   -- Getter subprograms for Provided Interfaces
+
+   [for (aInterface: Interface | getProvidedInterfaceList(ptList, clSvPortStName)->filter(Interface))]
+   function Get_[aInterface.name/] return [aInterface.name/].[aInterface.name/]_ptr is
+   begin
+      return ['CT_'.concat(instSpec.name)/]_T_inst_0'access;
+   end Get_[aInterface.name/];
+
+   [/for]
+
+   [comment setters for Required Interfaces /]
+   -- Setter subprograms for Required Interfaces
+
+   [for (pt : Port | ptList)]
+  	     [if (isRequiredPort(pt, clSvPortStName))]
+   procedure Set_[pt.name/] (ptr : in [getRequiredInterface(pt, clSvPortStName).name/].[getRequiredInterface(pt, clSvPortStName).name/]_ptr) is
+      use type [getRequiredInterface(pt, clSvPortStName).name/].[getRequiredInterface(pt, clSvPortStName).name/]_ptr;
+   begin
+      if ptr /= null then
+         [instSpec.name/].Set_[pt.name/](ptr);
+      end if;
+   end Set_[pt.name/];
+         [/if]
+
+   [/for]
+
+   [comment Cyclic operations BODY /]
+   [for (op : Operation | cyclicOpList)]
+   procedure Enqueueing_Procedure_My_Thread_[i-1/] (Release : out Time) is
+   begin
+      My_CPA_[i-1/].Enqueue_for_Release(Release);
+   end Enqueueing_Procedure_My_Thread_[i-1/];
+   
+   -- Wrapper procedure for the cyclic operation
+   procedure [op.name/] is
+   begin
+      [instSpec.name/].[op.name/];
+   end [op.name/];
+
+   [/for]
+   [comment end Cyclic operations BODY /]
+   [comment Sporadic operations BODY /]
+   [for (op : Operation | sporadicOpList)]
+      [let aInterface : Interface = getInterface(op, ptList, clSvPortStName)]
+
+   -- Redefinition of My_OPCS. 
+   -- Call [op.name/] and set In_Use to false.
+   procedure My_OPCS(Self : in out [op.name/]_Param_T) is
+   begin
+         [if (op.ownedParameter->size() = 0)] [comment 0 parameters/]
+      Self.OPCS_Instance.[op.name/];
+         [else]
+            [let parList : OrderedSet(Parameter) = op.ownedParameter]
+               [if (parList->size() = 1)] [comment 1 parameter /]
+      Self.OPCS_Instance.[op.name/](Self.[parList->first().name/]);
+               [else] [comment more than 1 parameter/]
+      Self.OPCS_Instance.[op.name/](Self.[parList->first().name/],[for (par : Parameter | parList->excluding(parList->first())->asOrderedSet())]Self.[par.name/][/for]);
+               [/if]
+            [/let]
+         [/if]       
+       Self.In_Use := False;
+   end My_OPCS;
+
+   protected body [op.name/]_OBCS is
+
+      procedure Update_Barrier is
+      begin
+         Pending := ([op.name/]_OBCS_Queue.Request_Pending) > 0;
+      end Update_Barrier;
+
+      -- Get_Request stores the time of the release of the task,
+      -- gets the next request (according to the OBCS queueing policy),
+      -- and updates the guard.
+      entry Get_Request (Req : out Data_Structure.Request_Descriptor_T;
+                         Release : out Time)
+        when Pending is
+      begin
+        -- Ada.Text_IO.Put_Line("OBCS: Executing entry Get_Request");
+         Release := Clock;
+         Data_Structure.Get([op.name/]_OBCS_Queue, Req);
+         Update_Barrier;
+      end Get_Request;
+
+      -- When a client calls [op.name/], the request is reified and put in the OBCS queue.
+         [if (op.ownedParameter->size() = 0)] [comment 0 parameters/]
+      procedure [op.name/] is
+         [else]
+            [let parList : OrderedSet(Parameter) = op.ownedParameter]
+               [if (parList->size() = 1)] [comment 1 parameter /]
+      procedure [op.name/] ([parList->first().name/] : [parList->first().direction/] [parList->first().type.name/]) is
+               [else] [comment more than 1 parameter/]
+      procedure [op.name/] ([parList->first().name/] : [parList->first().direction/] [parList->first().type.name/][for (par : Parameter | parList->excluding(parList->first())->asOrderedSet())];
+                          [par.name/] : [par.direction/] [par.type.name/][/for]) is
+               [/if]
+             [/let]
+          [/if]         
+      begin
+         --Ada.Text_IO.Put_Line("OBCS: [op.name/]");
+         if [op.name/]_Params.Buffer([op.name/]_Params.Index).In_Use then
+            Data_Structure.Increase_Index([op.name/]_Params);
+         end if;
+
+         [for (par : Parameter | op.ownedParameter)]
+         [op.name/]_Param_T_Ref([op.name/]_Params.Buffer([op.name/]_Params.Index)).[par.name/] := [par.name/];
+         [/for]
+         Data_Structure.Put([op.name/]_OBCS_Queue, [op.name/]_Params.Buffer([op.name/]_Params.Index));
+         Data_Structure.Increase_Index([op.name/]_Params);
+         Update_Barrier;
+      end [op.name/];
+   end [op.name/]_OBCS;
+
+   [op.name/]_Par_Arr : [op.name/]_Param_Arr(1..Param_Queue_Size):=
+     (others =>  (In_Use => false,
+                  OPCS_Instance => [instSpec.name/]'access,
+             [let parList : OrderedSet(Parameter) = op.ownedParameter]
+                [if (parList->size() > 0)]
+                  [parList->first().name/] => [parList->first().type.name/]_Default_Value[for (par : Parameter | parList->excluding(parList->first())->asOrderedSet())],
+                  [par.name/] => [par.type.name/]_Default_Value [/for]));
+                [/if]
+            [/let]
+
+   [op.name/]_Ref_Par_Arr : aliased Data_Structure.Param_Arr :=
+     ([op.name/]_Par_Arr(1)'access,
+      [op.name/]_Par_Arr(2)'access,
+      [op.name/]_Par_Arr(3)'access);
+
+
+   -- Instance of OBCS
+   [op.name/]_OBCS_inst : aliased [op.name/]_OBCS([op.name/]_OBCS_Ceiling, [op.name/]_Ref_Par_Arr'access);
+
+   -- Wrapper for OBCS_inst entry
+   procedure Enqueue_in_Entry(Req : out Data_Structure.Request_Descriptor_T;
+                              Release : out Time) is
+   begin
+      [op.name/]_OBCS_inst.Get_Request(Req, Release);
+   end Enqueue_in_Entry;
+
+   -- Sporadic Task
+   My_Thread_[i-1/] : aliased Sporadic_Task.Thread_T(Data_Structure.Generate_Task_ID, [getPriority(slotSeq, op, CHRtPortStName)/], [getPeriodOrMIAT(slotSeq, op, CHRtPortStName)/],
+                                                Enqueue_In_Entry'access);
+
+         [if (op.ownedParameter->size() = 0)]
+   procedure [op.name/] (Self : in out ['CT_'.concat(instSpec.name)/]_T) is
+         [else]
+   procedure [op.name/] (Self: in out ['CT_'.concat(instSpec.name)/]_T[for (par : Parameter | op.ownedParameter)];
+                          [par.name/] : [par.direction/] [par.type.name/][/for]) is
+         [/if]
+      pragma Warnings (Off, Self);
+   begin
+      --Ada.Text_IO.Put_Line("Container ['CT_'.concat(instSpec.name)/] : Reifiying [op.name/] call to OBCS ");
+         [if (op.ownedParameter->size() = 0)] [comment 0 parameters/]
+      [op.name/]_OBCS_inst.[op.name/];
+         [else]
+            [let parList : OrderedSet(Parameter) = op.ownedParameter]
+      [op.name/]_OBCS_inst.[op.name/]([parList->first().name/][for (par : Parameter | parList->excluding(parList->first())->asOrderedSet())], [par.name/][/for]);
+            [/let]
+         [/if]         
+   end [op.name/];
+
+      [/let]
+   [/for]
+   [comment End Sporadic operations BODY /]
+   [comment Protected operations BODY /]
+   [for (sl : Slot | slotSeq->filter(Slot))]
+      [let protectedOpList : Sequence(Operation) = getSlotProtectedOperation(sl, CHRtPortStName)]
+        [if (protectedOpList->notEmpty())]
+
+   -- Instance of [instSpec.name/]_[sl.definingFeature.name/] protected object
+   [instSpec.name/]_[sl.definingFeature.name/]_PO_inst : aliased [instSpec.name/]_[sl.definingFeature.name/]_PO;
+
+   protected body [instSpec.name/]_[sl.definingFeature.name/]_PO is
+
+            [for (op : Operation | protectedOpList)]
+                [if (op.ownedParameter->size() = 0)] [comment 0 parameters/]
+      procedure [op.name/] is
+                [else]
+                   [let parList : OrderedSet(Parameter) = op.ownedParameter]
+                      [if (parList->size() = 1)] [comment 1 parameter /]
+      procedure [op.name/] ([parList->first().name/] : [parList->first().direction/] [parList->first().type.name/]) is
+                      [else] [comment more than 1 parameter/]
+      procedure [op.name/] ([parList->first().name/] : [parList->first().direction/] [parList->first().type.name/][for (par : Parameter | parList->excluding(parList->first())->asOrderedSet())];
+                          [par.name/] : [par.direction/] [par.type.name/][/for]) is
+                      [/if]
+                   [/let]
+                [/if]         
+      begin
+         --Ada.Text_IO.Put_Line("PO.[op.name/]");
+         [if (op.ownedParameter->size() = 0)] [comment 0 parameters/]
+         [instSpec.name/].[op.name/];
+         [else]
+            [let parList : OrderedSet(Parameter) = op.ownedParameter]
+               [if (parList->size() = 1)] [comment 1 parameter /]
+         [instSpec.name/].[op.name/]([parList->first().name/]);
+               [else] [comment more than 1 parameter/]
+         [instSpec.name/].[op.name/]([parList->first().name/],[for (par : Parameter | parList->excluding(parList->first())->asOrderedSet())][par.name/][/for]);
+                      [/if]
+                   [/let]
+                [/if]         
+      end [op.name/];
+
+            [/for]
+   end [instSpec.name/]_[sl.definingFeature.name/]_PO;
+
+-- Redefinition of procedures of the container
+            [for (op : Operation | protectedOpList)]
+
+               [if (op.ownedParameter->size() = 0)]
+   procedure [op.name/] (Self : in out ['CT_'.concat(instSpec.name)/]_T) is
+               [else]
+   procedure [op.name/] (Self: in out ['CT_'.concat(instSpec.name)/]_T[for (par : Parameter | op.ownedParameter)];
+                          [par.name/] : [par.direction/] [par.type.name/][/for]) is
+               [/if]
+      pragma Warnings (Off, Self);
+   begin
+      --Ada.Text_IO.Put_Line("Container ['CT_'.concat(instSpec.name)/] : Indirection to PO.[op.name/]");
+               [if (op.ownedParameter->size() = 0)] [comment 0 parameters/]
+      [instSpec.name/]_[sl.definingFeature.name/]_PO_inst.[op.name/];
+               [else]
+            [let parList : OrderedSet(Parameter) = op.ownedParameter]
+               [if (parList->size() = 1)] [comment 1 parameter /]
+      [instSpec.name/]_[sl.definingFeature.name/]_PO_inst.[op.name/]([parList->first().name/]);
+               [else] [comment more than 1 parameter/]
+      [instSpec.name/]_[sl.definingFeature.name/]_PO_inst.[op.name/]([parList->first().name/],[for (par : Parameter | parList->excluding(parList->first())->asOrderedSet())][par.name/][/for]);
+                      [/if]
+                   [/let]
+                [/if]         
+   end [op.name/];
+            [/for]
+         [/if]
+      [/let]
+   [/for]
+   [comment End protected operations /]
+   [comment Unprotected Operations /]
+   [for (op: Operation | unprotectedOpList)]
+
+      [if (op.ownedParameter->size() = 0)]
+   procedure [op.name /] (Self : in out ['CT_'.concat(instSpec.name)/]_T) is
+      [else]
+   overriding 
+   procedure [op.name/] (Self: in out ['CT_'.concat(instSpec.name)/]_T[for (par : Parameter | op.ownedParameter)];
+                          [par.name/] : [par.direction/] [par.type.name/][/for]) is
+      [/if]
+      pragma Warnings (Off, Self);
+   begin
+      --Ada.Text_IO.Put_Line("Container ['CT_'.concat(instSpec.name)/] : Unprotected execution of [op.name/]");
+               [if (op.ownedParameter->size() = 0)] [comment 0 parameters/]
+      [instSpec.name/].[op.name/];
+               [else]
+                  [let parList : OrderedSet(Parameter) = op.ownedParameter]
+                     [if (parList->size() = 1)] [comment 1 parameter /]
+      [instSpec.name/].[op.name/]([parList->first().name/]);
+                     [else] [comment more than 1 parameter/]
+      [instSpec.name/].[op.name/]([parList->first().name/],[for (par : Parameter | parList->excluding(parList->first())->asOrderedSet())][par.name/][/for]);
+                     [/if]
+                   [/let]
+                [/if]         
+   end [op.name/];
+   [/for]
+   [comment end Unprotected Operations /]
+
+end [pkgName/];
+[/file]
+
+[/template]
+
+[query public getRequiredInterface(arg0 : Port, arg1 : String) : Interface
+	= invoke('org.polarsys.chess.codegen.ada.singlenode.service.UML2Service', 'getRequiredInterface(org.eclipse.uml2.uml.Port, java.lang.String)', Sequence{arg0, arg1}) /]
+
+[query public isRequiredPort(arg0 : Port, arg1 : String) : Boolean
+	= invoke('org.polarsys.chess.codegen.ada.singlenode.service.UML2Service', 'isRequiredPort(org.eclipse.uml2.uml.Port, java.lang.String)', Sequence{arg0, arg1}) /]
+
+[query public getProvidedInterfaceList(arg0 : Sequence(OclAny), arg1 : String) : Sequence(OclAny)
+	= invoke('org.polarsys.chess.codegen.ada.singlenode.service.UML2Service', 'getProvidedInterfaceList(java.util.List, java.lang.String)', Sequence{arg0, arg1}) /]
+
+[query public getProvidedInterfaceListAsQualifiedString(arg0 : Sequence(OclAny), arg1 : String) : String
+	= invoke('org.polarsys.chess.codegen.ada.singlenode.service.UML2Service', 'getProvidedInterfaceListAsQualifiedString(java.util.List, java.lang.String)', Sequence{arg0, arg1}) /]
+
+[query public getRequiredInterfaceList(arg0 : Sequence(OclAny), arg1 : String) : Sequence(OclAny)
+	= invoke('org.polarsys.chess.codegen.ada.singlenode.service.UML2Service', 'getRequiredInterfaceList(java.util.List, java.lang.String)', Sequence{arg0, arg1}) /]
+
+[query public getPackageToWithSpec(arg0 : Sequence(OclAny), arg1 : String, arg2 : String) : Sequence(OclAny)
+	= invoke('org.polarsys.chess.codegen.ada.singlenode.service.UML2Service', 'getPackageToWithSpec(java.util.List, java.lang.String, java.lang.String)', Sequence{arg0, arg1, arg2}) /]
+
+[query public getPriority(arg0 : Sequence(OclAny), arg1 : Operation, arg2 : String) : String
+	= invoke('org.polarsys.chess.codegen.ada.singlenode.service.UML2Service', 'getPriority(java.util.List, org.eclipse.uml2.uml.Operation, java.lang.String)', Sequence{arg0, arg1, arg2}) /]
+
+[query public getPeriodOrMIAT(arg0 : Sequence(OclAny), arg1 : Operation, arg2 : String) : String
+	= invoke('org.polarsys.chess.codegen.ada.singlenode.service.UML2Service', 'getPeriodOrMIAT(java.util.List, org.eclipse.uml2.uml.Operation, java.lang.String)', Sequence{arg0, arg1, arg2}) /]
+
+[query public getCeiling(arg0 : Sequence(OclAny), arg1 : Operation, arg2 : String) : String
+	= invoke('org.polarsys.chess.codegen.ada.singlenode.service.UML2Service', 'getCeiling(java.util.List, org.eclipse.uml2.uml.Operation, java.lang.String)', Sequence{arg0, arg1, arg2}) /]
+
+[query public getCyclicOperationList(arg0 : Sequence(OclAny), arg1 : String) : Sequence(OclAny)
+	= invoke('org.polarsys.chess.codegen.ada.singlenode.service.UML2Service', 'getCyclicOperationList(java.util.List, java.lang.String)', Sequence{arg0, arg1}) /]
+
+[query public getSporadicOperationList(arg0 : Sequence(OclAny), arg1 : String) : Sequence(OclAny)
+	= invoke('org.polarsys.chess.codegen.ada.singlenode.service.UML2Service', 'getSporadicOperationList(java.util.List, java.lang.String)', Sequence{arg0, arg1}) /]
+
+[query public getProtectedOperationList(arg0 : Sequence(OclAny), arg1 : String) : Sequence(OclAny)
+	= invoke('org.polarsys.chess.codegen.ada.singlenode.service.UML2Service', 'getProtectedOperationList(java.util.List, java.lang.String)', Sequence{arg0, arg1}) /]
+
+[query public getUnprotectedOperationList(arg0 : Sequence(OclAny), arg1 : String) : Sequence(OclAny)
+	= invoke('org.polarsys.chess.codegen.ada.singlenode.service.UML2Service', 'getUnprotectedOperationList(java.util.List, java.lang.String)', Sequence{arg0, arg1}) /]
+
+[query public getSlotProtectedOperation(arg0 : Slot, arg1 : String) : Sequence(OclAny)
+	= invoke('org.polarsys.chess.codegen.ada.singlenode.service.UML2Service', 'getSlotProtectedOperation(org.eclipse.uml2.uml.Slot, java.lang.String)', Sequence{arg0, arg1}) /]
+
+[query public isCyclicOperation(arg0 : Sequence(OclAny), arg1 : Operation, arg2 : String) : Boolean
+	= invoke('org.polarsys.chess.codegen.ada.singlenode.service.UML2Service', 'isCyclicOperation(java.util.List, org.eclipse.uml2.uml.Operation, java.lang.String)', Sequence{arg0, arg1, arg2}) /]
+
+[query public getInterface(arg0 : Operation, arg1 : Sequence(OclAny), arg2 : String) : Interface
+	= invoke('org.polarsys.chess.codegen.ada.singlenode.service.UML2Service', 'getInterface(org.eclipse.uml2.uml.Operation, java.util.List, java.lang.String)', Sequence{arg0, arg1, arg2}) /]
\ No newline at end of file
diff --git a/plugins/org.polarsys.chess.codegen.ada.singlenode/src/org/polarsys/chess/codegen/ada/singlenode/datatype/DataType.mtl b/plugins/org.polarsys.chess.codegen.ada.singlenode/src/org/polarsys/chess/codegen/ada/singlenode/datatype/DataType.mtl
new file mode 100644
index 000000000..43fb5ef9d
--- /dev/null
+++ b/plugins/org.polarsys.chess.codegen.ada.singlenode/src/org/polarsys/chess/codegen/ada/singlenode/datatype/DataType.mtl
@@ -0,0 +1,94 @@
+[comment encoding = UTF-8 /]
+[comment
+-----------------------------------------------------------------------
+--                Ada infrastructural code generator                 -- 
+--                  for the CHESS component model                    --
+--                                                                   --
+--                    Copyright (C) 2011-2012                        --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author: Marco Panunzio         panunzio@math.unipd.it             --
+--                                                                   --
+-- All rights reserved. This program and the accompanying materials  --
+-- are made available under the terms of the Eclipse Public License  --
+-- v1.0 which accompanies this distribution, and is available at     --
+-- http://www.eclipse.org/legal/epl-v10.html                         --
+-----------------------------------------------------------------------
+/]
+[module DataType('http://www.eclipse.org/uml2/3.0.0/UML')]
+[import org::polarsys::chess::codegen::ada::singlenode::main::Copyright /]
+
+[template public generateDataType(model: Model, procNode : InstanceSpecification) {
+    procNodeName : String = procNode.name;
+	primitiveTypeList : Sequence(PrimitiveType) = PrimitiveType.allInstances()->asSequence();
+    enumerationList : Sequence(Enumeration) = Enumeration.allInstances()->asSequence();
+	dataTypeList : Sequence(DataType) = DataType.allInstances()->select(dt | dt.oclIsTypeOf(DataType))->asSequence();
+}
+]
+
+[file (procNodeName.concat('/src/datatype/datatype.ads').toLower(), false, 'UTF-8')]
+[generateCopyrightAda(model)/]
+
+package Datatype is
+
+[for (pt : PrimitiveType | primitiveTypeList)]
+   [if (pt.name = 'Integer')]
+   Integer_Default_Value : constant Integer := 0;
+   [elseif (pt.name = 'Float')]
+   Float_Default_Value : constant Float := 0.0;
+   [elseif (pt.name = 'Natural')]
+   Natural_Default_Value : constant Natural := 0;
+   [elseif (pt.name = 'Boolean')]
+   Boolean_Default_Value : constant Boolean := False;
+   [else]
+      [comment Primitive type with constraints/]
+      [if (pt.ownedRule->select(c | c.name = 'digits')->asSequence()->size() = 1)]
+         [let digits : Constraint = pt.ownedRule->select(c | c.name = 'digits')->filter(Constraint)->any(true)]
+            [if (pt.ownedRule->select(c | c.name = 'range')->asSequence()->size() = 1)]
+               [let range : Constraint = pt.ownedRule->select(c | c.name = 'range')->filter(Constraint)->any(true)]
+   type [pt.name /] is digits [digits.specification->filter(LiteralInteger).value /] range [range.specification->filter(Interval).min->filter(LiteralString).value/] .. [range.specification->filter(Interval).max->filter(LiteralString).value/];
+   [pt.name/]_Default_Value : constant [pt.name/] := 0.0;
+               [/let]
+            [else]
+   type [pt.name /] is digits [digits.specification->filter(LiteralInteger).value /];
+   [pt.name/]_Default_Value : constant [pt.name/] := 0.0;
+            [/if]
+         [/let]
+      [else]
+         [if (pt.ownedRule->select(c | c.name = 'range')->asSequence()->size() = 1)]
+            [let range : Constraint = pt.ownedRule->select(c | c.name = 'range')->filter(Constraint)->any(true)]
+   type [pt.name /] is new Float range [range.specification->filter(Interval).min->filter(LiteralString).value/] .. [range.specification->filter(Interval).max->filter(LiteralString).value/];
+   [pt.name/]_Default_Value : constant [pt.name/] := 0.0;
+            [/let]
+         [/if]
+      [/if]     
+   [/if]
+
+[/for]
+
+[for (en : Enumeration | enumerationList)]
+   type [en.name/] is ([en.ownedLiteral->first().name/][for (el : EnumerationLiteral | en.ownedLiteral->excluding(en.ownedLiteral->first()))], [el.name/][/for]);
+   for [en.name/] use ([en.ownedLiteral->first().name/] => 0[for (el : EnumerationLiteral | en.ownedLiteral->excluding(en.ownedLiteral->first()))], [el.name/] => [i/][/for]);
+   pragma Convention(C, [en.name/]);
+
+   [en.name/]_Default_Value : constant [en.name/] := [en.ownedLiteral->first().name/];
+[/for]
+
+[for (dt : DataType | dataTypeList)]
+   [if (dt.attribute->size() > 0)]
+   type [dt.name/] is record
+      [for (p : Property | dt.attribute)]
+         [p.name/] : [p.type.name/];
+      [/for]
+   end record;
+   pragma Convention(C_pass_by_copy, [dt.name/]);
+
+   [dt.name/]_Default_Value : constant [dt.name/] := ([dt.attribute->asSequence()->first().name/] => [dt.attribute->asSequence()->first().type.name/]_Default_Value[for (p : Property | dt.attribute->excluding(dt.attribute->asSequence()->first()))],
+                                                      [p.name/] => [p.type.name/]_Default_Value[/for]);
+   [else]
+   [dt.name/]_Default_Value : constant [dt.name/] := (null record);
+   [/if]
+[/for]
+end Datatype;
+[/file]
+[/template]
\ No newline at end of file
diff --git a/plugins/org.polarsys.chess.codegen.ada.singlenode/src/org/polarsys/chess/codegen/ada/singlenode/datatype/DataTypeC.mtl b/plugins/org.polarsys.chess.codegen.ada.singlenode/src/org/polarsys/chess/codegen/ada/singlenode/datatype/DataTypeC.mtl
new file mode 100644
index 000000000..fdd334095
--- /dev/null
+++ b/plugins/org.polarsys.chess.codegen.ada.singlenode/src/org/polarsys/chess/codegen/ada/singlenode/datatype/DataTypeC.mtl
@@ -0,0 +1,59 @@
+[comment encoding = UTF-8 /]
+[comment
+-----------------------------------------------------------------------
+--                Ada infrastructural code generator                 -- 
+--                  for the CHESS component model                    --
+--                                                                   --
+--                    Copyright (C) 2011-2012                        --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author: Marco Panunzio         panunzio@math.unipd.it             --
+--                                                                   --
+-- All rights reserved. This program and the accompanying materials  --
+-- are made available under the terms of the Eclipse Public License  --
+-- v1.0 which accompanies this distribution, and is available at     --
+-- http://www.eclipse.org/legal/epl-v10.html                         --
+-----------------------------------------------------------------------
+/]
+[module DataTypeC('http://www.eclipse.org/uml2/3.0.0/UML')]
+[import org::polarsys::chess::codegen::ada::singlenode::main::Copyright /]
+
+[template public generateDataTypeC(model: Model, procNode : InstanceSpecification) {
+    procNodeName : String = procNode.name;
+    enumerationList : Sequence(Enumeration) = Enumeration.allInstances()->asSequence();
+	dataTypeList : Sequence(DataType) = DataType.allInstances()->select(dt | dt.oclIsTypeOf(DataType))->asSequence();
+}
+]
+
+[file (procNodeName.concat('/src/datatype/datatype.h').toLower(), false, 'UTF-8')]
+[generateCopyrightC(model)/]
+
+#ifndef DATATYPE_H_
+#define DATATYPE_H_
+
+[for (en : Enumeration | enumerationList)]
+   enum [en.name/] {[en.ownedLiteral->first().name/] = 0[for (el : EnumerationLiteral | en.ownedLiteral->excluding(en.ownedLiteral->first()))], [el.name/] = [i/][/for]};
+[/for]
+
+[for (dt : DataType | dataTypeList)]
+   [if (dt.attribute->size() > 0)]
+   struct [dt.name/] {
+      [for (p : Property | dt.attribute)]
+         [if (p.type->filter(PrimitiveType)->size() = 1 and p.type.name <> 'Integer' and p.type.name <> 'Boolean')]
+      float [p.name/];
+         [else]
+      [adaTypeToCtype(p.type)/] [p.name/];
+         [/if]
+      [/for]
+   };
+   
+   [else]
+   struct [dt.name/] {};
+   [/if]
+[/for]
+#endif /* DATATYPE_H_ */
+[/file]
+[/template]
+
+[query public adaTypeToCtype(arg0: Type) : String
+	= invoke('org.polarsys.chess.codegen.ada.singlenode.service.UML2Service', 'adaTypeToCtype(org.eclipse.uml2.uml.Type)', Sequence{arg0}) /]
\ No newline at end of file
diff --git a/plugins/org.polarsys.chess.codegen.ada.singlenode/src/org/polarsys/chess/codegen/ada/singlenode/deployment/Deployment.mtl b/plugins/org.polarsys.chess.codegen.ada.singlenode/src/org/polarsys/chess/codegen/ada/singlenode/deployment/Deployment.mtl
new file mode 100644
index 000000000..2424f81c8
--- /dev/null
+++ b/plugins/org.polarsys.chess.codegen.ada.singlenode/src/org/polarsys/chess/codegen/ada/singlenode/deployment/Deployment.mtl
@@ -0,0 +1,167 @@
+[comment encoding = UTF-8 /]
+[comment
+-----------------------------------------------------------------------
+--                Ada infrastructural code generator                 -- 
+--                  for the CHESS component model                    --
+--                                                                   --
+--                    Copyright (C) 2011-2012                        --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author: Marco Panunzio         panunzio@math.unipd.it             --
+--                                                                   --
+-- All rights reserved. This program and the accompanying materials  --
+-- are made available under the terms of the Eclipse Public License  --
+-- v1.0 which accompanies this distribution, and is available at     --
+-- http://www.eclipse.org/legal/epl-v10.html                         --
+-----------------------------------------------------------------------
+/]
+[module Deployment('http://www.eclipse.org/uml2/3.0.0/UML', 'http://www.eclipse.org/papyrus/GCM/1')]
+[import org::polarsys::chess::codegen::ada::singlenode::main::Copyright /]
+
+[template public generateDeployment(model : Model, procNode: InstanceSpecification, compInstInputList : Sequence(OclAny), connectorInstInputList: Sequence(OclAny)) {
+    procNodeName : String = procNode.name;
+    clSvPortStName : String = 'MARTE::MARTE_DesignModel::GCM::ClientServerPort';
+    assignStName   : String = 'MARTE::MARTE_Foundations::Alloc::Assign';
+    compImplStName : String = 'CHESS::ComponentModel::ComponentImplementation';
+	chHwProcessorStName  : String = 'CHESS::Predictability::DeploymentConfiguration::HardwareBaseline::CH_HwProcessor';
+    isSingleNodeSystem : Boolean = isSingleNodeSystem(InstanceSpecification.allInstances()->asSequence(), chHwProcessorStName);
+    compInstList : Sequence(InstanceSpecification) = compInstInputList->filter(InstanceSpecification);
+    requiredInterfaceSlotList : Sequence(Slot) = getRequiredInterfaceSlotList(compInstList, clSvPortStName)->filter(Slot);
+    providedInterfaceSlotList : Sequence(Slot) = getProvidedInterfaceSlotList(compInstList, clSvPortStName)->filter(Slot);
+    connectorInstList : Sequence(InstanceSpecification) = connectorInstInputList->filter(InstanceSpecification);
+    isRemoteMsgClientNecessary : Boolean = isRemoteMsgClientNecessary(requiredInterfaceSlotList, procNode, connectorInstList, Comment.allInstances()->asSequence(), assignStName);
+    isRemoteMsgServerNecessary : Boolean = isRemoteMsgServerNecessary(providedInterfaceSlotList, procNode, connectorInstList, Comment.allInstances()->asSequence(), assignStName);
+     }
+]
+
+[comment Deployment .ads /]
+[file (procNodeName.concat('/src/deployment/deployment.ads').toLower(), false, 'UTF-8')]
+[generateCopyrightAda(model)/]
+
+
+package Deployment is
+
+   procedure Initialize;
+   procedure Set_RI;
+
+end Deployment;
+[/file]
+
+[comment Deployment .adb /] 
+[file (procNodeName.concat('/src/deployment/deployment.adb').toLower(), false, 'UTF-8')]
+[generateCopyrightAda(model)/]
+
+--with Ada.Text_IO;
+
+[for (instSpec : InstanceSpecification | compInstList)]
+with ['CT_'.concat(instSpec.name).concat('s')/];
+[/for]
+
+[if (isRemoteMsgServerNecessary)]
+with Remote_Msg_Server;
+[/if]
+[if (isRemoteMsgClientNecessary)]
+with Remote_Msg_Client;
+[/if]
+
+package body Deployment is
+   
+   procedure Initialize is
+   begin
+[for (instSpec : InstanceSpecification | compInstList)]
+      ['CT_'.concat(instSpec.name).concat('s')/].Initialize_Container;
+[/for]
+   end Initialize;
+
+   -- Setting RI of Containers (for the component instance embedded therein)
+   procedure Set_RI is
+   begin  
+      --Ada.Text_IO.Put_Line("Deployment: Initializing RI of component instances");
+      null;
+[for (sl : Slot | requiredInterfaceSlotList)]
+   [let boundSlot : Slot = getBoundPIslot(sl, connectorInstList)]
+      [if (getDeploymentProcessingNode(boundSlot, Comment.allInstances()->asSequence(), assignStName) = procNode)]
+         [let st : Stereotype = boundSlot.definingFeature.getAppliedStereotype(clSvPortStName)]
+      ['CT_'.concat(sl.owningInstance.name).concat('s')/].Set_[sl.definingFeature.name/](['CT_'.concat(boundSlot.owningInstance.name).concat('s')/].Get_[getProvidedInterface((boundSlot.definingFeature.oclAsType(Port)), clSvPortStName).name/]);
+         [/let]
+      [/if]
+   [/let]
+[/for]
+   end Set_RI;
+
+
+
+   procedure Set_Remote_Msg_Client_Binding is
+   begin
+[if (not isRemoteMsgClientNecessary)]
+      null;
+[else]
+   [for (sl : Slot | requiredInterfaceSlotList)]
+      [let boundSlot : Slot = getBoundPIslot(sl, connectorInstList)]
+         [if (getDeploymentProcessingNode(boundSlot, Comment.allInstances()->asSequence(), assignStName) <> procNode)]
+            [let st : Stereotype = boundSlot.definingFeature.getAppliedStereotype(clSvPortStName)]
+      ['CT_'.concat(sl.owningInstance.name).concat('s')/].Set_[sl.definingFeature.name/](Remote_Msg_Client.Get_[getProvidedInterface((boundSlot.definingFeature.oclAsType(Port)), clSvPortStName).name/]);
+            [/let]
+         [/if]
+      [/let]
+   [/for]
+[/if]
+   end Set_Remote_Msg_Client_Binding;
+
+   procedure Init_Remote_Msg_Client is
+   begin
+[if (not isRemoteMsgClientNecessary)]
+      null;
+[else]
+      Remote_Msg_Client.Init_Remote_Msg_Client;
+[/if]
+   end Init_Remote_Msg_Client;
+
+   procedure Set_Remote_Msg_Server_Binding is
+   begin
+[if (not isRemoteMsgServerNecessary)]
+      null;
+[else]
+   [for (sl : Slot | providedInterfaceSlotList)]
+      [let boundSlot : Sequence(Slot) = getBoundRIslotList(sl, connectorInstList)->filter(Slot)]
+         [if (isRemoteCommNecessary(boundSlot, procNode, Comment.allInstances()->asSequence(), assignStName))]
+      Remote_Msg_Server.Set_[sl.definingFeature.name/](['CT_'.concat(sl.owningInstance.name).concat('s')/].Get_[getProvidedInterface((sl.definingFeature.oclAsType(Port)), clSvPortStName).name/]);
+         [/if]
+      [/let]
+   [/for]
+[/if]
+   end Set_Remote_Msg_Server_Binding;
+
+end Deployment;
+[/file]
+[/template]
+
+[query public isSingleNodeSystem(arg0 : Sequence(OclAny), arg1 : String) : Boolean
+	= invoke('org.polarsys.chess.codegen.ada.singlenode.service.UML2Service', 'isSingleNodeSystem(java.util.List, java.lang.String)', Sequence{arg0, arg1}) /]
+
+[query public getDeploymentProcessingNode(arg0: Slot, arg1 : Sequence(OclAny), arg2 : String) : InstanceSpecification
+	= invoke('org.polarsys.chess.codegen.ada.singlenode.service.UML2Service', 'getDeploymentProcessingNode(org.eclipse.uml2.uml.Slot, java.util.List, java.lang.String)', Sequence{arg0, arg1, arg2}) /]
+
+[query public getProvidedInterface(arg0 : Port, arg1 : String) : Interface
+	= invoke('org.polarsys.chess.codegen.ada.singlenode.service.UML2Service', 'getProvidedInterface(org.eclipse.uml2.uml.Port, java.lang.String)', Sequence{arg0, arg1}) /]
+
+[query public getRequiredInterfaceSlotList(arg0 : Sequence(OclAny), arg1 : String) : Sequence(OclAny)
+	= invoke('org.polarsys.chess.codegen.ada.singlenode.service.UML2Service', 'getRequiredInterfaceSlotList(java.util.List, java.lang.String)', Sequence{arg0, arg1}) /]
+
+[query public getProvidedInterfaceSlotList(arg0 : Sequence(OclAny), arg1 : String) : Sequence(OclAny)
+	= invoke('org.polarsys.chess.codegen.ada.singlenode.service.UML2Service', 'getProvidedInterfaceSlotList(java.util.List, java.lang.String)', Sequence{arg0, arg1}) /]
+
+[query public getBoundPIslot(arg0 : Slot, arg1 : Sequence(OclAny)) : Slot
+	= invoke('org.polarsys.chess.codegen.ada.singlenode.service.UML2Service', 'getBoundPIslot(org.eclipse.uml2.uml.Slot, java.util.List)', Sequence{arg0, arg1}) /]
+
+[query public getBoundRIslotList(arg0 : Slot, arg1 : Sequence(OclAny)) : Sequence(OclAny)
+	= invoke('org.polarsys.chess.codegen.ada.singlenode.service.UML2Service', 'getBoundRIslotList(org.eclipse.uml2.uml.Slot, java.util.List)', Sequence{arg0, arg1}) /]
+
+[query public isRemoteCommNecessary(arg0: Sequence(OclAny), arg1 : InstanceSpecification, arg2 : Sequence(OclAny), arg3 : String) : Boolean
+	= invoke('org.polarsys.chess.codegen.ada.singlenode.service.UML2Service', 'isRemoteCommNecessary(java.util.List, org.eclipse.uml2.uml.InstanceSpecification, java.util.List, java.lang.String)', Sequence{arg0, arg1, arg2, arg3}) /]
+
+[query public isRemoteMsgServerNecessary(arg0: Sequence(OclAny), arg1 : InstanceSpecification, arg2 : Sequence(OclAny), arg3 : Sequence(OclAny), arg4 : String) : Boolean
+	= invoke('org.polarsys.chess.codegen.ada.singlenode.service.UML2Service', 'isRemoteMsgServerNecessary(java.util.List, org.eclipse.uml2.uml.InstanceSpecification, java.util.List, java.util.List, java.lang.String)', Sequence{arg0, arg1, arg2, arg3, arg4}) /]
+
+[query public isRemoteMsgClientNecessary(arg0: Sequence(OclAny), arg1 : InstanceSpecification, arg2 : Sequence(OclAny), arg3 : Sequence(OclAny), arg4 : String) : Boolean
+	= invoke('org.polarsys.chess.codegen.ada.singlenode.service.UML2Service', 'isRemoteMsgClientNecessary(java.util.List, org.eclipse.uml2.uml.InstanceSpecification, java.util.List, java.util.List, java.lang.String)', Sequence{arg0, arg1, arg2, arg3, arg4}) /]
\ No newline at end of file
diff --git a/plugins/org.polarsys.chess.codegen.ada.singlenode/src/org/polarsys/chess/codegen/ada/singlenode/ifs/Interface.mtl b/plugins/org.polarsys.chess.codegen.ada.singlenode/src/org/polarsys/chess/codegen/ada/singlenode/ifs/Interface.mtl
new file mode 100644
index 000000000..2051f7a87
--- /dev/null
+++ b/plugins/org.polarsys.chess.codegen.ada.singlenode/src/org/polarsys/chess/codegen/ada/singlenode/ifs/Interface.mtl
@@ -0,0 +1,75 @@
+[comment encoding = UTF-8 /]
+[comment
+-----------------------------------------------------------------------
+--                Ada infrastructural code generator                 -- 
+--                  for the CHESS component model                    --
+--                                                                   --
+--                    Copyright (C) 2011-2012                        --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author: Marco Panunzio         panunzio@math.unipd.it             --
+--                                                                   --
+-- All rights reserved. This program and the accompanying materials  --
+-- are made available under the terms of the Eclipse Public License  --
+-- v1.0 which accompanies this distribution, and is available at     --
+-- http://www.eclipse.org/legal/epl-v10.html                         --
+-----------------------------------------------------------------------
+/]
+[module Interface('http://www.eclipse.org/uml2/3.0.0/UML')]
+[import org::polarsys::chess::codegen::ada::singlenode::main::Copyright /]
+
+[template public generateInterface(model: Model, procNode : InstanceSpecification, aInterface : Interface) {
+	datatypeWithRequired : Boolean = isDataTypeWithRequired(aInterface);
+    procNodeName : String = procNode.name
+}]
+
+[file (procNodeName.concat('/src/interface/').concat(aInterface.name).concat('.ads').toLower(), false, 'UTF-8')]
+[generateCopyrightAda(model)/]
+
+-- UNIT Name : Interface [aInterface.name/]
+-- generated from : [aInterface.qualifiedName/]
+--
+-- Contained Units :
+[for (op : Operation | aInterface.ownedOperation)] 
+--		procedure [op.name/]
+[/for] 
+--
+-- Description:
+[getDocumentation(aInterface)/]
+
+
+
+-- Comment the with below if you do not use user-defined datatypes
+with Datatype; use Datatype;
+
+package [aInterface.name/] is
+
+   type [aInterface.name/] is interface;
+    
+   [for (op : Operation | aInterface.ownedOperation)]
+
+   -- Module Name : procedure [op.name/]
+   -- generated from : [op.qualifiedName/]
+   --
+   -- Description: [getDocumentation(op)/]
+   --
+
+    [if (op.ownedParameter->size() = 0)]
+   procedure [op.name /] (Self : in out [aInterface.name/]) is abstract;
+	[else]
+   procedure [op.name /] (Self : in out [aInterface.name/] [for (par : Parameter | op.ownedParameter)];
+                           [par.name/] : [par.direction/] [par.type.name/][/for]) is abstract;
+    [/if]
+   [/for]
+
+   type [aInterface.name/]_ptr is access all [aInterface.name/]'class;
+
+end [aInterface.name/];
+[/file]
+[/template]
+
+[query public isDataTypeWithRequired(arg0 : Interface) : Boolean
+	= invoke('org.polarsys.chess.codegen.ada.singlenode.service.UML2Service', 'isDataTypeWithRequired(org.eclipse.uml2.uml.Interface)', Sequence{arg0}) /]
+
+[query public getDocumentation(arg : NamedElement) : String 
+	= invoke('org.polarsys.chess.codegen.ada.singlenode.service.UML2Service', 'getDocumentation(org.eclipse.uml2.uml.NamedElement)', Sequence{arg}) /]
\ No newline at end of file
diff --git a/plugins/org.polarsys.chess.codegen.ada.singlenode/src/org/polarsys/chess/codegen/ada/singlenode/main/Copyright.mtl b/plugins/org.polarsys.chess.codegen.ada.singlenode/src/org/polarsys/chess/codegen/ada/singlenode/main/Copyright.mtl
new file mode 100644
index 000000000..eb7cc5347
--- /dev/null
+++ b/plugins/org.polarsys.chess.codegen.ada.singlenode/src/org/polarsys/chess/codegen/ada/singlenode/main/Copyright.mtl
@@ -0,0 +1,130 @@
+[comment encoding = UTF-8 /]
+[comment
+-----------------------------------------------------------------------
+--                Ada infrastructural code generator                 -- 
+--                  for the CHESS component model                    --
+--                                                                   --
+--                    Copyright (C) 2011-2012                        --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author: Marco Panunzio         panunzio@math.unipd.it             --
+--                                                                   --
+-- All rights reserved. This program and the accompanying materials  --
+-- are made available under the terms of the Eclipse Public License  --
+-- v1.0 which accompanies this distribution, and is available at     --
+-- http://www.eclipse.org/legal/epl-v10.html                         --
+-----------------------------------------------------------------------
+/]
+[module Copyright('http://www.eclipse.org/uml2/3.0.0/UML')]
+
+[template public generateCopyrightAda(model : Model)]
+-----------------------------------------------------------------------
+--           This file was automatically generated by the            --
+--                                                                   --
+--                Ada infrastructural code generator                 -- 
+--                  for the CHESS component model                    --
+--                                                                   --
+--                   Copyright (C) 2011-2012                         --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author: Marco Panunzio         panunzio@math.unipd.it             --
+--                                                                   --
+-- All rights reserved. This program and the accompanying materials  --
+-- are made available under the terms of the Eclipse Public License  --
+-- v1.0 which accompanies this distribution, and is available at     --
+-- http://www.eclipse.org/legal/epl-v10.html                         --
+-----------------------------------------------------------------------
+[/template]
+
+[template public generateCopyrightC(model : Model)]
+/*
+-----------------------------------------------------------------------
+--           This file was automatically generated by the            --
+--                                                                   --
+--                Ada infrastructural code generator                 -- 
+--                  for the CHESS component model                    --
+--                                                                   --
+--                   Copyright (C) 2011-2012                         --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author: Marco Panunzio         panunzio@math.unipd.it             --
+--                                                                   --
+-- This program is free software; you can redistribute it and/or     --
+-- modify it under the terms of the GNU General Public License       --
+-- version 3 as published by the Free Software Foundation.           --
+--                                                                   --
+-- This program is distributed in the hope that it will be useful,   --
+-- but WITHOUT ANY WARRANTY; without even the implied warranty of    --
+-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU --
+-- General Public License for more details.                          --
+--                                                                   --
+-- You should have received a copy of the GNU General Public         --
+-- License along with this program; if not, write to the             --
+-- Free Software Foundation, Inc., 59 Temple Place - Suite 330,      --
+-- Boston, MA 02111-1307, USA.                                       --
+--                                                                   --
+-----------------------------------------------------------------------
+*/
+[/template]
+
+
+[template public generateReducedCopyrightAda(model : Model)]
+-----------------------------------------------------------------------
+--   The skeleton of this file was automatically generated by the    --
+--                                                                   --
+--                Ada infrastructural code generator                 -- 
+--                  for the CHESS component model                    --
+--                                                                   --
+--                   Copyright (C) 2011-2012                         --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author: Marco Panunzio         panunzio@math.unipd.it             --
+--                                                                   --
+-----------------------------------------------------------------------
+[/template]
+
+[template public generateReducedCopyrightC(model : Model)]
+/*
+-----------------------------------------------------------------------
+--   The skeleton of this file was automatically generated by the    --
+--                                                                   --
+--                Ada infrastructural code generator                 -- 
+--                  for the CHESS component model                    --
+--                                                                   --
+--                   Copyright (C) 2011-2012                         --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author: Marco Panunzio         panunzio@math.unipd.it             --
+--                                                                   --
+-----------------------------------------------------------------------
+*/
+[/template]
+
+[template public generateCopyrightAIT(model : Model)]
+######################################################################
+#            This file was automatically generated by the            #
+#                                                                    #
+#                 Ada infrastructural code generator                 # 
+#                   for the CHESS component model                    #
+#                                                                    #
+#                    Copyright (C) 2011-2012                         #
+#                  University of Padova, ITALY                       #
+#                                                                    #
+#  Author: Marco Panunzio         panunzio@math.unipd.it             #
+#                                                                    #
+#  This program is free software; you can redistribute it and/or     #
+#  modify it under the terms of the GNU General Public License       #
+#  version 2 as published by the Free Software Foundation.           #
+#                                                                    #
+#  This program is distributed in the hope that it will be useful,   #
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of    #
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU #
+#  General Public License for more details.                          #
+#                                                                    #
+#  You should have received a copy of the GNU General Public         #
+#  License along with this program; if not, write to the             #
+#  Free Software Foundation, Inc., 59 Temple Place - Suite 330,      #
+#  Boston, MA 02111-1307, USA.                                       #
+#                                                                    #
+######################################################################
+[/template]
diff --git a/plugins/org.polarsys.chess.codegen.ada.singlenode/src/org/polarsys/chess/codegen/ada/singlenode/main/GNATadc.mtl b/plugins/org.polarsys.chess.codegen.ada.singlenode/src/org/polarsys/chess/codegen/ada/singlenode/main/GNATadc.mtl
new file mode 100644
index 000000000..1aa15938a
--- /dev/null
+++ b/plugins/org.polarsys.chess.codegen.ada.singlenode/src/org/polarsys/chess/codegen/ada/singlenode/main/GNATadc.mtl
@@ -0,0 +1,68 @@
+[comment encoding = UTF-8 /]
+[comment
+-----------------------------------------------------------------------
+--                Ada infrastructural code generator                 -- 
+--                  for the CHESS component model                    --
+--                                                                   --
+--                    Copyright (C) 2011-2012                        --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author: Marco Panunzio         panunzio@math.unipd.it             --
+--                                                                   --
+-- All rights reserved. This program and the accompanying materials  --
+-- are made available under the terms of the Eclipse Public License  --
+-- v1.0 which accompanies this distribution, and is available at     --
+-- http://www.eclipse.org/legal/epl-v10.html                         --
+-----------------------------------------------------------------------
+/]
+[module GNATadc('http://www.eclipse.org/uml2/3.0.0/UML')]
+
+[template public generateGNATadc(model : Model, procNode : InstanceSpecification) {
+   procNodeName : String = procNode.name;
+   chHwProcessorStName  : String = 'CHESS::Predictability::DeploymentConfiguration::HardwareBaseline::CH_HwProcessor';
+   isSingleNodeSystem : Boolean = isSingleNodeSystem(InstanceSpecification.allInstances()->asSequence(), chHwProcessorStName);}
+]
+[file (procNodeName.concat('/').concat('gnat.adc').toLower(), false, 'UTF-8')]
+[if (isSingleNodeSystem)]
+
+-- Compliance to the Ravenscar Profile
+pragma Profile (Ravenscar);
+
+
+-- From AdaCore's High Integrity manual
+
+pragma Restrictions (No_Unchecked_Deallocation);
+--pragma Restrictions (No_Local_Allocators);
+
+
+
+-- From Annex H (High Integrity Systems)
+
+pragma Restrictions (No_Recursion);
+pragma Restrictions (No_Unchecked_Access); 
+[else]
+
+-- Compliance to the Ravenscar Profile
+pragma Profile (Ravenscar);
+
+
+-- From AdaCore's High Integrity manual
+
+--pragma Restrictions (No_Unchecked_Deallocation);
+--pragma Restrictions (No_Local_Allocators);
+
+
+
+-- From Annex H (High Integrity Systems)
+
+pragma Restrictions (No_Recursion);
+--pragma Restrictions (No_Unchecked_Access);
+[/if]
+[/file]
+[/template]
+
+[query public hasCimplementation(arg0 : Sequence(OclAny), arg1 : String) : Boolean
+	= invoke('org.polarsys.chess.codegen.ada.singlenode.service.UML2Service', 'hasCimplementation(java.util.List, java.lang.String)', Sequence{arg0, arg1}) /]
+
+[query public isSingleNodeSystem(arg0 : Sequence(OclAny), arg1 : String) : Boolean
+	= invoke('org.polarsys.chess.codegen.ada.singlenode.service.UML2Service', 'isSingleNodeSystem(java.util.List, java.lang.String)', Sequence{arg0, arg1}) /]
\ No newline at end of file
diff --git a/plugins/org.polarsys.chess.codegen.ada.singlenode/src/org/polarsys/chess/codegen/ada/singlenode/main/GPR.mtl b/plugins/org.polarsys.chess.codegen.ada.singlenode/src/org/polarsys/chess/codegen/ada/singlenode/main/GPR.mtl
new file mode 100644
index 000000000..fd86a06c9
--- /dev/null
+++ b/plugins/org.polarsys.chess.codegen.ada.singlenode/src/org/polarsys/chess/codegen/ada/singlenode/main/GPR.mtl
@@ -0,0 +1,69 @@
+[comment encoding = UTF-8 /]
+[comment
+-----------------------------------------------------------------------
+--                Ada infrastructural code generator                 -- 
+--                  for the CHESS component model                    --
+--                                                                   --
+--                    Copyright (C) 2011-2012                        --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author: Marco Panunzio         panunzio@math.unipd.it             --
+--                                                                   --
+-- All rights reserved. This program and the accompanying materials  --
+-- are made available under the terms of the Eclipse Public License  --
+-- v1.0 which accompanies this distribution, and is available at     --
+-- http://www.eclipse.org/legal/epl-v10.html                         --
+-----------------------------------------------------------------------
+/]
+[module GPR('http://www.eclipse.org/uml2/3.0.0/UML')]
+
+[template public generateGPR(model : Model, procNode : InstanceSpecification, deployedImplementationList : Sequence(Component)) {
+   procNodeName : String = procNode.name;
+   compImplStName : String = 'CHESS::ComponentModel::ComponentImplementation';
+   chHwProcessorStName  : String = 'CHESS::Predictability::DeploymentConfiguration::HardwareBaseline::CH_HwProcessor';
+   isSingleNodeSystem : Boolean = isSingleNodeSystem(InstanceSpecification.allInstances()->asSequence(), chHwProcessorStName);}
+]
+[file (procNodeName.concat('/').concat(model.name).concat('.gpr').toLower(), false, 'UTF-8')]
+[if (isSingleNodeSystem)]
+project [model.name/] is
+
+   for Main use ("main.adb");
+   for Source_Dirs use ("src", "../src/task", "src/deployment", "src/interface", "../src/dataStructure", "src/container", "../src/cpa", 
+                        "src/datatype", "src/component_repository/type", 
+                        "src/component_repository/impl/ada"[if (hasCimplementation(deployedImplementationList, compImplStName))], 
+                        "src/component_repository/impl/c",
+                        "src/component_repository/impl/c/wrapper");
+   for Object_Dir use "obj";
+   for Languages use ("Ada", "C++");
+   [else]);
+   for Object_Dir use "obj";
+   for Languages use ("Ada");
+   [/if]
+
+   package Compiler is
+      for Default_Switches ("ada") use ("-g", "-gnato", "-gnatwa", "-gnatQ", "-gnat05");
+   end Compiler;
+
+   package Builder is
+      for Default_Switches ("ada") use ("-g");
+      for Global_Configuration_Pragmas use "./gnat.adc";
+   end Builder;
+
+   package Ide is
+      for Compiler_Command ("c") use "gcc";
+   end Ide;
+
+   package Naming is
+      for Spec_Suffix ("C++") use ".h";
+   end Naming;
+
+end [model.name/];
+[/if]
+[/file]
+[/template]
+
+[query public hasCimplementation(arg0 : Sequence(OclAny), arg1 : String) : Boolean
+	= invoke('org.polarsys.chess.codegen.ada.singlenode.service.UML2Service', 'hasCimplementation(java.util.List, java.lang.String)', Sequence{arg0, arg1}) /]
+
+[query public isSingleNodeSystem(arg0 : Sequence(OclAny), arg1 : String) : Boolean
+	= invoke('org.polarsys.chess.codegen.ada.singlenode.service.UML2Service', 'isSingleNodeSystem(java.util.List, java.lang.String)', Sequence{arg0, arg1}) /]
\ No newline at end of file
diff --git a/plugins/org.polarsys.chess.codegen.ada.singlenode/src/org/polarsys/chess/codegen/ada/singlenode/main/GenerateInfrastructure.java b/plugins/org.polarsys.chess.codegen.ada.singlenode/src/org/polarsys/chess/codegen/ada/singlenode/main/GenerateInfrastructure.java
new file mode 100644
index 000000000..b845acc17
--- /dev/null
+++ b/plugins/org.polarsys.chess.codegen.ada.singlenode/src/org/polarsys/chess/codegen/ada/singlenode/main/GenerateInfrastructure.java
@@ -0,0 +1,407 @@
+/*******************************************************************************
+ * Copyright (c) 2008, 2011 Obeo.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ * 
+ * Contributors:
+ *     Obeo - initial API and implementation
+ *******************************************************************************/
+package org.polarsys.chess.codegen.ada.singlenode.main;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.acceleo.engine.event.IAcceleoTextGenerationListener;
+import org.eclipse.acceleo.engine.generation.strategy.IAcceleoGenerationStrategy;
+import org.eclipse.acceleo.engine.service.AbstractAcceleoGenerator;
+import org.eclipse.acceleo.model.mtl.resource.EMtlResourceFactoryImpl;
+import org.eclipse.emf.common.util.BasicMonitor;
+import org.eclipse.emf.common.util.Monitor;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.uml2.uml.resource.UMLResource;
+
+/**
+ * Entry point of the 'GenerateInfrastructure' generation module.
+ *
+ * @generated
+ */
+public class GenerateInfrastructure extends AbstractAcceleoGenerator {
+    /**
+     * The name of the module.
+     *
+     * @generated
+     */
+    public static final String MODULE_FILE_NAME = "/org/polarsys/chess/codegen/ada/singlenode/main/generateInfrastructure";
+    
+    /**
+     * The name of the templates that are to be generated.
+     *
+     * @generated
+     */
+    public static final String[] TEMPLATE_NAMES = { "generateInfrastructure" };
+    
+    /**
+     * The list of properties files from the launch parameters (Launch configuration).
+     *
+     * @generated
+     */
+    private List<String> propertiesFiles = new ArrayList<String>();
+
+    /**
+     * Allows the public constructor to be used. Note that a generator created
+     * this way cannot be used to launch generations before one of
+     * {@link #initialize(EObject, File, List)} or
+     * {@link #initialize(URI, File, List)} is called.
+     * <p>
+     * The main reason for this constructor is to allow clients of this
+     * generation to call it from another Java file, as it allows for the
+     * retrieval of {@link #getProperties()} and
+     * {@link #getGenerationListeners()}.
+     * </p>
+     *
+     * @generated
+     */
+    public GenerateInfrastructure() {
+        // Empty implementation
+    }
+
+    /**
+     * This allows clients to instantiates a generator with all required information.
+     * 
+     * @param modelURI
+     *            URI where the model on which this generator will be used is located.
+     * @param targetFolder
+     *            This will be used as the output folder for this generation : it will be the base path
+     *            against which all file block URLs will be resolved.
+     * @param arguments
+     *            If the template which will be called requires more than one argument taken from the model,
+     *            pass them here.
+     * @throws IOException
+     *             This can be thrown in three scenarios : the module cannot be found, it cannot be loaded, or
+     *             the model cannot be loaded.
+     * @generated
+     */
+    public GenerateInfrastructure(URI modelURI, File targetFolder,
+            List<? extends Object> arguments) throws IOException {
+        initialize(modelURI, targetFolder, arguments);
+    }
+
+    /**
+     * This allows clients to instantiates a generator with all required information.
+     * 
+     * @param model
+     *            We'll iterate over the content of this element to find Objects matching the first parameter
+     *            of the template we need to call.
+     * @param targetFolder
+     *            This will be used as the output folder for this generation : it will be the base path
+     *            against which all file block URLs will be resolved.
+     * @param arguments
+     *            If the template which will be called requires more than one argument taken from the model,
+     *            pass them here.
+     * @throws IOException
+     *             This can be thrown in two scenarios : the module cannot be found, or it cannot be loaded.
+     * @generated
+     */
+    public GenerateInfrastructure(EObject model, File targetFolder,
+            List<? extends Object> arguments) throws IOException {
+        initialize(model, targetFolder, arguments);
+    }
+    
+    /**
+     * This can be used to launch the generation from a standalone application.
+     * 
+     * @param args
+     *            Arguments of the generation.
+     * @generated
+     */
+    public static void main(String[] args) {
+        try {
+            if (args.length < 2) {
+                System.out.println("Arguments not valid : {model, folder}.");
+            } else {
+                URI modelURI = URI.createFileURI(args[0]);
+                File folder = new File(args[1]);
+                
+                List<String> arguments = new ArrayList<String>();
+                
+                /*
+                 * If you want to change the content of this method, do NOT forget to change the "@generated"
+                 * tag in the Javadoc of this method to "@generated NOT". Without this new tag, any compilation
+                 * of the Acceleo module with the main template that has caused the creation of this class will
+                 * revert your modifications.
+                 */
+
+                /*
+                 * Add in this list all the arguments used by the starting point of the generation
+                 * If your main template is called on an element of your model and a String, you can
+                 * add in "arguments" this "String" attribute.
+                 */
+                
+                GenerateInfrastructure generator = new GenerateInfrastructure(modelURI, folder, arguments);
+                
+                /*
+                 * Add the properties from the launch arguments.
+                 * If you want to programmatically add new properties, add them in "propertiesFiles"
+                 * You can add the absolute path of a properties files, or even a project relative path.
+                 * If you want to add another "protocol" for your properties files, please override 
+                 * "getPropertiesLoaderService(AcceleoService)" in order to return a new property loader.
+                 * The behavior of the properties loader service is explained in the Acceleo documentation
+                 * (Help -> Help Contents).
+                 */
+                 
+                for (int i = 2; i < args.length; i++) {
+                    generator.addPropertiesFile(args[i]);
+                }
+                
+                generator.doGenerate(new BasicMonitor());
+            }
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+    }
+
+    /**
+     * Launches the generation described by this instance.
+     * 
+     * @param monitor
+     *            This will be used to display progress information to the user.
+     * @throws IOException
+     *             This will be thrown if any of the output files cannot be saved to disk.
+     * @generated
+     */
+    @Override
+    public void doGenerate(Monitor monitor) throws IOException {
+        /*
+         * TODO if you wish to change the generation as a whole, override this. The default behavior should
+         * be sufficient in most cases. If you want to change the content of this method, do NOT forget to
+         * change the "@generated" tag in the Javadoc of this method to "@generated NOT". Without this new tag,
+         * any compilation of the Acceleo module with the main template that has caused the creation of this
+         * class will revert your modifications. If you encounter a problem with an unresolved proxy during the
+         * generation, you can remove the comments in the following instructions to check for problems. Please
+         * note that those instructions may have a significant impact on the performances.
+         */
+
+        //org.eclipse.emf.ecore.util.EcoreUtil.resolveAll(model);
+
+        /*
+         * If you want to check for potential errors in your models before the launch of the generation, you
+         * use the code below.
+         */
+
+        //if (model != null && model.eResource() != null) {
+        //    List<org.eclipse.emf.ecore.resource.Resource.Diagnostic> errors = model.eResource().getErrors();
+        //    for (org.eclipse.emf.ecore.resource.Resource.Diagnostic diagnostic : errors) {
+        //        System.err.println(diagnostic.toString());
+        //    }
+        //}
+
+        super.doGenerate(monitor);
+    }
+    
+    /**
+     * If this generator needs to listen to text generation events, listeners can be returned from here.
+     * 
+     * @return List of listeners that are to be notified when text is generated through this launch.
+     * @generated
+     */
+    @Override
+    public List<IAcceleoTextGenerationListener> getGenerationListeners() {
+        List<IAcceleoTextGenerationListener> listeners = super.getGenerationListeners();
+        /*
+         * TODO if you need to listen to generation event, add listeners to the list here. If you want to change
+         * the content of this method, do NOT forget to change the "@generated" tag in the Javadoc of this method
+         * to "@generated NOT". Without this new tag, any compilation of the Acceleo module with the main template
+         * that has caused the creation of this class will revert your modifications.
+         */
+        return listeners;
+    }
+    
+    /**
+     * If you need to change the way files are generated, this is your entry point.
+     * <p>
+     * The default is {@link org.eclipse.acceleo.engine.generation.strategy.DefaultStrategy}; it generates
+     * files on the fly. If you only need to preview the results, return a new
+     * {@link org.eclipse.acceleo.engine.generation.strategy.PreviewStrategy}. Both of these aren't aware of
+     * the running Eclipse and can be used standalone.
+     * </p>
+     * <p>
+     * If you need the file generation to be aware of the workspace (A typical example is when you wanna
+     * override files that are under clear case or any other VCS that could forbid the overriding), then
+     * return a new {@link org.eclipse.acceleo.engine.generation.strategy.WorkspaceAwareStrategy}.
+     * <b>Note</b>, however, that this <b>cannot</b> be used standalone.
+     * </p>
+     * <p>
+     * All three of these default strategies support merging through JMerge.
+     * </p>
+     * 
+     * @return The generation strategy that is to be used for generations launched through this launcher.
+     * @generated
+     */
+    @Override
+    public IAcceleoGenerationStrategy getGenerationStrategy() {
+        return super.getGenerationStrategy();
+    }
+    
+    /**
+     * This will be called in order to find and load the module that will be launched through this launcher.
+     * We expect this name not to contain file extension, and the module to be located beside the launcher.
+     * 
+     * @return The name of the module that is to be launched.
+     * @generated
+     */
+    @Override
+    public String getModuleName() {
+        return MODULE_FILE_NAME;
+    }
+    
+    /**
+     * If the module(s) called by this launcher require properties files, return their qualified path from
+     * here.Take note that the first added properties files will take precedence over subsequent ones if they
+     * contain conflicting keys.
+     * 
+     * @return The list of properties file we need to add to the generation context.
+     * @see java.util.ResourceBundle#getBundle(String)
+     * @generated
+     */
+    @Override
+    public List<String> getProperties() {
+        /*
+         * If you want to change the content of this method, do NOT forget to change the "@generated"
+         * tag in the Javadoc of this method to "@generated NOT". Without this new tag, any compilation
+         * of the Acceleo module with the main template that has caused the creation of this class will
+         * revert your modifications.
+         */
+
+        /*
+         * TODO if your generation module requires access to properties files, add their qualified path to the list here.
+         * 
+         * Properties files can be located in an Eclipse plug-in or in the file system (all Acceleo projects are Eclipse
+         * plug-in). In order to use properties files located in an Eclipse plugin, you need to add the path of the properties
+         * files to the "propertiesFiles" list:
+         * 
+         * final String prefix = "platform:/plugin/";
+         * final String pluginName = "org.eclipse.acceleo.module.sample";
+         * final String packagePath = "/org/eclipse/acceleo/module/sample/properties/";
+         * final String fileName = "default.properties";
+         * propertiesFiles.add(prefix + pluginName + packagePath + fileName);
+         * 
+         * With this mechanism, you can load properties files from your plugin or from another plugin.
+         * 
+         * You may want to load properties files from the file system, for that you need to add the absolute path of the file:
+         * 
+         * propertiesFiles.add("C:\Users\MyName\MyFile.properties");
+         * 
+         * If you want to let your users add properties files located in the same folder as the model:
+         *
+         * if (EMFPlugin.IS_ECLIPSE_RUNNING && model != null && model.eResource() != null) { 
+         *     propertiesFiles.addAll(AcceleoEngineUtils.getPropertiesFilesNearModel(model.eResource()));
+         * }
+         * 
+         * To learn more about Properties Files, have a look at the Acceleo documentation (Help -> Help Contents).
+         */
+        return propertiesFiles;
+    }
+    
+    /**
+     * Adds a properties file in the list of properties files.
+     * 
+     * @param propertiesFile
+     *            The properties file to add.
+     * @generated
+     * @since 3.1
+     */
+    @Override
+    public void addPropertiesFile(String propertiesFile) {
+        this.propertiesFiles.add(propertiesFile);
+    }
+    
+    /**
+     * This will be used to get the list of templates that are to be launched by this launcher.
+     * 
+     * @return The list of templates to call on the module {@link #getModuleName()}.
+     * @generated
+     */
+    @Override
+    public String[] getTemplateNames() {
+        return TEMPLATE_NAMES;
+    }
+    
+    /**
+     * This can be used to update the resource set's package registry with all needed EPackages.
+     * 
+     * @param resourceSet
+     *            The resource set which registry has to be updated.
+     * @generated
+     */
+    @Override
+    public void registerPackages(ResourceSet resourceSet) {
+        super.registerPackages(resourceSet);
+        if (!isInWorkspace(org.eclipse.uml2.uml.UMLPackage.class)) {
+            resourceSet.getPackageRegistry().put(org.eclipse.uml2.uml.UMLPackage.eINSTANCE.getNsURI(), org.eclipse.uml2.uml.UMLPackage.eINSTANCE);
+        }
+        
+        /*
+         * If you want to change the content of this method, do NOT forget to change the "@generated"
+         * tag in the Javadoc of this method to "@generated NOT". Without this new tag, any compilation
+         * of the Acceleo module with the main template that has caused the creation of this class will
+         * revert your modifications.
+         */
+        
+        /*
+         * If you need additional package registrations, you can register them here. The following line
+         * (in comment) is an example of the package registration for UML.
+         * 
+         * You can use the method  "isInWorkspace(Class c)" to check if the package that you are about to
+         * register is in the workspace.
+         * 
+         * To register a package properly, please follow the following conventions:
+         *
+         * If the package is located in another plug-in, already installed in Eclipse. The following content should
+         * have been generated at the beginning of this method. Do not register the package using this mechanism if
+         * the metamodel is located in the workspace.
+         *  
+         * if (!isInWorkspace(UMLPackage.class)) {
+         *     // The normal package registration if your metamodel is in a plugin.
+         *     resourceSet.getPackageRegistry().put(UMLPackage.eNS_URI, UMLPackage.eINSTANCE);
+         * }
+         * 
+         * If the package is located in another project in your workspace, the plugin containing the package has not
+         * been register by EMF and Acceleo should register it automatically. If you want to use the generator in
+         * stand alone, the regular registration (seen a couple lines before) is needed.
+         * 
+         * To learn more about Package Registration, have a look at the Acceleo documentation (Help -> Help Contents).
+         */
+    }
+
+    /**
+     * This can be used to update the resource set's resource factory registry with all needed factories.
+     * 
+     * @param resourceSet
+     *            The resource set which registry has to be updated.
+     * @generated NOT
+     */
+    @Override
+    public void registerResourceFactories(ResourceSet resourceSet) {
+        super.registerResourceFactories(resourceSet);
+        /*
+         * TODO If you need additional resource factories registrations, you can register them here. the following line
+         * (in comment) is an example of the resource factory registration for UML. If you want to change the content
+         * of this method, do NOT forget to change the "@generated" tag in the Javadoc of this method to "@generated NOT".
+         * Without this new tag, any compilation of the Acceleo module with the main template that has caused the creation
+         * of this class will revert your modifications.
+         * 
+         * To learn more about the registration of Resource Factories, have a look at the Acceleo Launcher documentation (Help -> Help Contents). 
+         */ 
+        
+        // resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put(UMLResource.FILE_EXTENSION, UMLResource.Factory.INSTANCE);
+        resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put(UMLResource.FILE_EXTENSION, UMLResource.Factory.INSTANCE);
+		resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put("emtl", new EMtlResourceFactoryImpl());
+    }
+    
+}
diff --git a/plugins/org.polarsys.chess.codegen.ada.singlenode/src/org/polarsys/chess/codegen/ada/singlenode/main/License.mtl b/plugins/org.polarsys.chess.codegen.ada.singlenode/src/org/polarsys/chess/codegen/ada/singlenode/main/License.mtl
new file mode 100644
index 000000000..2ae50418c
--- /dev/null
+++ b/plugins/org.polarsys.chess.codegen.ada.singlenode/src/org/polarsys/chess/codegen/ada/singlenode/main/License.mtl
@@ -0,0 +1,715 @@
+[comment encoding = UTF-8 /]
+[comment
+-----------------------------------------------------------------------
+--                Ada infrastructural code generator                 -- 
+--                  for the CHESS component model                    --
+--                                                                   --
+--                    Copyright (C) 2011-2012                        --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author: Marco Panunzio         panunzio@math.unipd.it             --
+--                                                                   --
+-- All rights reserved. This program and the accompanying materials  --
+-- are made available under the terms of the Eclipse Public License  --
+-- v1.0 which accompanies this distribution, and is available at     --
+-- http://www.eclipse.org/legal/epl-v10.html                         --
+-----------------------------------------------------------------------
+/]
+[module License('http://www.eclipse.org/uml2/3.0.0/UML')]
+
+[template public generateLicense(model : Model, procNode : InstanceSpecification) {
+   procNodeName : String = procNode.name;
+   chHwProcessorStName  : String = 'CHESS::Predictability::DeploymentConfiguration::HardwareBaseline::CH_HwProcessor';
+   isSingleNodeSystem : Boolean = isSingleNodeSystem(InstanceSpecification.allInstances()->asSequence(), chHwProcessorStName);}
+]
+[file (procNodeName.concat('/license/Copyright.txt').toLower(), false, 'UTF-8')]
+This source code was produced by the 
+"Ada infrastructural code generator for the CHESS component model".
+
+Author: Marco Panunzio - University of Padova, Italy.
+Email: panunzio@math.unipd.it
+
+The code is released under the GPLv3 license.
+You can find a copy of that license in the current folder of the source code. 
+
+[/file]
+[file(procNodeName.concat('/license/gpl-3.0.txt').toLower(), false, 'UTF-8')]
+                    GNU GENERAL PUBLIC LICENSE
+                       Version 3, 29 June 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+                            Preamble
+
+  The GNU General Public License is a free, copyleft license for
+software and other kinds of works.
+
+  The licenses for most software and other practical works are designed
+to take away your freedom to share and change the works.  By contrast,
+the GNU General Public License is intended to guarantee your freedom to
+share and change all versions of a program--to make sure it remains free
+software for all its users.  We, the Free Software Foundation, use the
+GNU General Public License for most of our software; it applies also to
+any other work released this way by its authors.  You can apply it to
+your programs, too.
+
+  When we speak of free software, we are referring to freedom, not
+price.  Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+them if you wish), that you receive source code or can get it if you
+want it, that you can change the software or use pieces of it in new
+free programs, and that you know you can do these things.
+
+  To protect your rights, we need to prevent others from denying you
+these rights or asking you to surrender the rights.  Therefore, you have
+certain responsibilities if you distribute copies of the software, or if
+you modify it: responsibilities to respect the freedom of others.
+
+  For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must pass on to the recipients the same
+freedoms that you received.  You must make sure that they, too, receive
+or can get the source code.  And you must show them these terms so they
+know their rights.
+
+  Developers that use the GNU GPL protect your rights with two steps:
+(1) assert copyright on the software, and (2) offer you this License
+giving you legal permission to copy, distribute and/or modify it.
+
+  For the developers' and authors' protection, the GPL clearly explains
+that there is no warranty for this free software.  For both users' and
+authors' sake, the GPL requires that modified versions be marked as
+changed, so that their problems will not be attributed erroneously to
+authors of previous versions.
+
+  Some devices are designed to deny users access to install or run
+modified versions of the software inside them, although the manufacturer
+can do so.  This is fundamentally incompatible with the aim of
+protecting users' freedom to change the software.  The systematic
+pattern of such abuse occurs in the area of products for individuals to
+use, which is precisely where it is most unacceptable.  Therefore, we
+have designed this version of the GPL to prohibit the practice for those
+products.  If such problems arise substantially in other domains, we
+stand ready to extend this provision to those domains in future versions
+of the GPL, as needed to protect the freedom of users.
+
+  Finally, every program is threatened constantly by software patents.
+States should not allow patents to restrict development and use of
+software on general-purpose computers, but in those that do, we wish to
+avoid the special danger that patents applied to a free program could
+make it effectively proprietary.  To prevent this, the GPL assures that
+patents cannot be used to render the program non-free.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.
+
+                       TERMS AND CONDITIONS
+
+  0. Definitions.
+
+  "This License" refers to version 3 of the GNU General Public License.
+
+  "Copyright" also means copyright-like laws that apply to other kinds of
+works, such as semiconductor masks.
+
+  "The Program" refers to any copyrightable work licensed under this
+License.  Each licensee is addressed as "you".  "Licensees" and
+"recipients" may be individuals or organizations.
+
+  To "modify" a work means to copy from or adapt all or part of the work
+in a fashion requiring copyright permission, other than the making of an
+exact copy.  The resulting work is called a "modified version" of the
+earlier work or a work "based on" the earlier work.
+
+  A "covered work" means either the unmodified Program or a work based
+on the Program.
+
+  To "propagate" a work means to do anything with it that, without
+permission, would make you directly or secondarily liable for
+infringement under applicable copyright law, except executing it on a
+computer or modifying a private copy.  Propagation includes copying,
+distribution (with or without modification), making available to the
+public, and in some countries other activities as well.
+
+  To "convey" a work means any kind of propagation that enables other
+parties to make or receive copies.  Mere interaction with a user through
+a computer network, with no transfer of a copy, is not conveying.
+
+  An interactive user interface displays "Appropriate Legal Notices"
+to the extent that it includes a convenient and prominently visible
+feature that (1) displays an appropriate copyright notice, and (2)
+tells the user that there is no warranty for the work (except to the
+extent that warranties are provided), that licensees may convey the
+work under this License, and how to view a copy of this License.  If
+the interface presents a list of user commands or options, such as a
+menu, a prominent item in the list meets this criterion.
+
+  1. Source Code.
+
+  The "source code" for a work means the preferred form of the work
+for making modifications to it.  "Object code" means any non-source
+form of a work.
+
+  A "Standard Interface" means an interface that either is an official
+standard defined by a recognized standards body, or, in the case of
+interfaces specified for a particular programming language, one that
+is widely used among developers working in that language.
+
+  The "System Libraries" of an executable work include anything, other
+than the work as a whole, that (a) is included in the normal form of
+packaging a Major Component, but which is not part of that Major
+Component, and (b) serves only to enable use of the work with that
+Major Component, or to implement a Standard Interface for which an
+implementation is available to the public in source code form.  A
+"Major Component", in this context, means a major essential component
+(kernel, window system, and so on) of the specific operating system
+(if any) on which the executable work runs, or a compiler used to
+produce the work, or an object code interpreter used to run it.
+
+  The "Corresponding Source" for a work in object code form means all
+the source code needed to generate, install, and (for an executable
+work) run the object code and to modify the work, including scripts to
+control those activities.  However, it does not include the work's
+System Libraries, or general-purpose tools or generally available free
+programs which are used unmodified in performing those activities but
+which are not part of the work.  For example, Corresponding Source
+includes interface definition files associated with source files for
+the work, and the source code for shared libraries and dynamically
+linked subprograms that the work is specifically designed to require,
+such as by intimate data communication or control flow between those
+subprograms and other parts of the work.
+
+  The Corresponding Source need not include anything that users
+can regenerate automatically from other parts of the Corresponding
+Source.
+
+  The Corresponding Source for a work in source code form is that
+same work.
+
+  2. Basic Permissions.
+
+  All rights granted under this License are granted for the term of
+copyright on the Program, and are irrevocable provided the stated
+conditions are met.  This License explicitly affirms your unlimited
+permission to run the unmodified Program.  The output from running a
+covered work is covered by this License only if the output, given its
+content, constitutes a covered work.  This License acknowledges your
+rights of fair use or other equivalent, as provided by copyright law.
+
+  You may make, run and propagate covered works that you do not
+convey, without conditions so long as your license otherwise remains
+in force.  You may convey covered works to others for the sole purpose
+of having them make modifications exclusively for you, or provide you
+with facilities for running those works, provided that you comply with
+the terms of this License in conveying all material for which you do
+not control copyright.  Those thus making or running the covered works
+for you must do so exclusively on your behalf, under your direction
+and control, on terms that prohibit them from making any copies of
+your copyrighted material outside their relationship with you.
+
+  Conveying under any other circumstances is permitted solely under
+the conditions stated below.  Sublicensing is not allowed; section 10
+makes it unnecessary.
+
+  3. Protecting Users' Legal Rights From Anti-Circumvention Law.
+
+  No covered work shall be deemed part of an effective technological
+measure under any applicable law fulfilling obligations under article
+11 of the WIPO copyright treaty adopted on 20 December 1996, or
+similar laws prohibiting or restricting circumvention of such
+measures.
+
+  When you convey a covered work, you waive any legal power to forbid
+circumvention of technological measures to the extent such circumvention
+is effected by exercising rights under this License with respect to
+the covered work, and you disclaim any intention to limit operation or
+modification of the work as a means of enforcing, against the work's
+users, your or third parties' legal rights to forbid circumvention of
+technological measures.
+
+  4. Conveying Verbatim Copies.
+
+  You may convey verbatim copies of the Program's source code as you
+receive it, in any medium, provided that you conspicuously and
+appropriately publish on each copy an appropriate copyright notice;
+keep intact all notices stating that this License and any
+non-permissive terms added in accord with section 7 apply to the code;
+keep intact all notices of the absence of any warranty; and give all
+recipients a copy of this License along with the Program.
+
+  You may charge any price or no price for each copy that you convey,
+and you may offer support or warranty protection for a fee.
+
+  5. Conveying Modified Source Versions.
+
+  You may convey a work based on the Program, or the modifications to
+produce it from the Program, in the form of source code under the
+terms of section 4, provided that you also meet all of these conditions:
+
+    a) The work must carry prominent notices stating that you modified
+    it, and giving a relevant date.
+
+    b) The work must carry prominent notices stating that it is
+    released under this License and any conditions added under section
+    7.  This requirement modifies the requirement in section 4 to
+    "keep intact all notices".
+
+    c) You must license the entire work, as a whole, under this
+    License to anyone who comes into possession of a copy.  This
+    License will therefore apply, along with any applicable section 7
+    additional terms, to the whole of the work, and all its parts,
+    regardless of how they are packaged.  This License gives no
+    permission to license the work in any other way, but it does not
+    invalidate such permission if you have separately received it.
+
+    d) If the work has interactive user interfaces, each must display
+    Appropriate Legal Notices; however, if the Program has interactive
+    interfaces that do not display Appropriate Legal Notices, your
+    work need not make them do so.
+
+  A compilation of a covered work with other separate and independent
+works, which are not by their nature extensions of the covered work,
+and which are not combined with it such as to form a larger program,
+in or on a volume of a storage or distribution medium, is called an
+"aggregate" if the compilation and its resulting copyright are not
+used to limit the access or legal rights of the compilation's users
+beyond what the individual works permit.  Inclusion of a covered work
+in an aggregate does not cause this License to apply to the other
+parts of the aggregate.
+
+  6. Conveying Non-Source Forms.
+
+  You may convey a covered work in object code form under the terms
+of sections 4 and 5, provided that you also convey the
+machine-readable Corresponding Source under the terms of this License,
+in one of these ways:
+
+    a) Convey the object code in, or embodied in, a physical product
+    (including a physical distribution medium), accompanied by the
+    Corresponding Source fixed on a durable physical medium
+    customarily used for software interchange.
+
+    b) Convey the object code in, or embodied in, a physical product
+    (including a physical distribution medium), accompanied by a
+    written offer, valid for at least three years and valid for as
+    long as you offer spare parts or customer support for that product
+    model, to give anyone who possesses the object code either (1) a
+    copy of the Corresponding Source for all the software in the
+    product that is covered by this License, on a durable physical
+    medium customarily used for software interchange, for a price no
+    more than your reasonable cost of physically performing this
+    conveying of source, or (2) access to copy the
+    Corresponding Source from a network server at no charge.
+
+    c) Convey individual copies of the object code with a copy of the
+    written offer to provide the Corresponding Source.  This
+    alternative is allowed only occasionally and noncommercially, and
+    only if you received the object code with such an offer, in accord
+    with subsection 6b.
+
+    d) Convey the object code by offering access from a designated
+    place (gratis or for a charge), and offer equivalent access to the
+    Corresponding Source in the same way through the same place at no
+    further charge.  You need not require recipients to copy the
+    Corresponding Source along with the object code.  If the place to
+    copy the object code is a network server, the Corresponding Source
+    may be on a different server (operated by you or a third party)
+    that supports equivalent copying facilities, provided you maintain
+    clear directions next to the object code saying where to find the
+    Corresponding Source.  Regardless of what server hosts the
+    Corresponding Source, you remain obligated to ensure that it is
+    available for as long as needed to satisfy these requirements.
+
+    e) Convey the object code using peer-to-peer transmission, provided
+    you inform other peers where the object code and Corresponding
+    Source of the work are being offered to the general public at no
+    charge under subsection 6d.
+
+  A separable portion of the object code, whose source code is excluded
+from the Corresponding Source as a System Library, need not be
+included in conveying the object code work.
+
+  A "User Product" is either (1) a "consumer product", which means any
+tangible personal property which is normally used for personal, family,
+or household purposes, or (2) anything designed or sold for incorporation
+into a dwelling.  In determining whether a product is a consumer product,
+doubtful cases shall be resolved in favor of coverage.  For a particular
+product received by a particular user, "normally used" refers to a
+typical or common use of that class of product, regardless of the status
+of the particular user or of the way in which the particular user
+actually uses, or expects or is expected to use, the product.  A product
+is a consumer product regardless of whether the product has substantial
+commercial, industrial or non-consumer uses, unless such uses represent
+the only significant mode of use of the product.
+
+  "Installation Information" for a User Product means any methods,
+procedures, authorization keys, or other information required to install
+and execute modified versions of a covered work in that User Product from
+a modified version of its Corresponding Source.  The information must
+suffice to ensure that the continued functioning of the modified object
+code is in no case prevented or interfered with solely because
+modification has been made.
+
+  If you convey an object code work under this section in, or with, or
+specifically for use in, a User Product, and the conveying occurs as
+part of a transaction in which the right of possession and use of the
+User Product is transferred to the recipient in perpetuity or for a
+fixed term (regardless of how the transaction is characterized), the
+Corresponding Source conveyed under this section must be accompanied
+by the Installation Information.  But this requirement does not apply
+if neither you nor any third party retains the ability to install
+modified object code on the User Product (for example, the work has
+been installed in ROM).
+
+  The requirement to provide Installation Information does not include a
+requirement to continue to provide support service, warranty, or updates
+for a work that has been modified or installed by the recipient, or for
+the User Product in which it has been modified or installed.  Access to a
+network may be denied when the modification itself materially and
+adversely affects the operation of the network or violates the rules and
+protocols for communication across the network.
+
+  Corresponding Source conveyed, and Installation Information provided,
+in accord with this section must be in a format that is publicly
+documented (and with an implementation available to the public in
+source code form), and must require no special password or key for
+unpacking, reading or copying.
+
+  7. Additional Terms.
+
+  "Additional permissions" are terms that supplement the terms of this
+License by making exceptions from one or more of its conditions.
+Additional permissions that are applicable to the entire Program shall
+be treated as though they were included in this License, to the extent
+that they are valid under applicable law.  If additional permissions
+apply only to part of the Program, that part may be used separately
+under those permissions, but the entire Program remains governed by
+this License without regard to the additional permissions.
+
+  When you convey a copy of a covered work, you may at your option
+remove any additional permissions from that copy, or from any part of
+it.  (Additional permissions may be written to require their own
+removal in certain cases when you modify the work.)  You may place
+additional permissions on material, added by you to a covered work,
+for which you have or can give appropriate copyright permission.
+
+  Notwithstanding any other provision of this License, for material you
+add to a covered work, you may (if authorized by the copyright holders of
+that material) supplement the terms of this License with terms:
+
+    a) Disclaiming warranty or limiting liability differently from the
+    terms of sections 15 and 16 of this License; or
+
+    b) Requiring preservation of specified reasonable legal notices or
+    author attributions in that material or in the Appropriate Legal
+    Notices displayed by works containing it; or
+
+    c) Prohibiting misrepresentation of the origin of that material, or
+    requiring that modified versions of such material be marked in
+    reasonable ways as different from the original version; or
+
+    d) Limiting the use for publicity purposes of names of licensors or
+    authors of the material; or
+
+    e) Declining to grant rights under trademark law for use of some
+    trade names, trademarks, or service marks; or
+
+    f) Requiring indemnification of licensors and authors of that
+    material by anyone who conveys the material (or modified versions of
+    it) with contractual assumptions of liability to the recipient, for
+    any liability that these contractual assumptions directly impose on
+    those licensors and authors.
+
+  All other non-permissive additional terms are considered "further
+restrictions" within the meaning of section 10.  If the Program as you
+received it, or any part of it, contains a notice stating that it is
+governed by this License along with a term that is a further
+restriction, you may remove that term.  If a license document contains
+a further restriction but permits relicensing or conveying under this
+License, you may add to a covered work material governed by the terms
+of that license document, provided that the further restriction does
+not survive such relicensing or conveying.
+
+  If you add terms to a covered work in accord with this section, you
+must place, in the relevant source files, a statement of the
+additional terms that apply to those files, or a notice indicating
+where to find the applicable terms.
+
+  Additional terms, permissive or non-permissive, may be stated in the
+form of a separately written license, or stated as exceptions;
+the above requirements apply either way.
+
+  8. Termination.
+
+  You may not propagate or modify a covered work except as expressly
+provided under this License.  Any attempt otherwise to propagate or
+modify it is void, and will automatically terminate your rights under
+this License (including any patent licenses granted under the third
+paragraph of section 11).
+
+  However, if you cease all violation of this License, then your
+license from a particular copyright holder is reinstated (a)
+provisionally, unless and until the copyright holder explicitly and
+finally terminates your license, and (b) permanently, if the copyright
+holder fails to notify you of the violation by some reasonable means
+prior to 60 days after the cessation.
+
+  Moreover, your license from a particular copyright holder is
+reinstated permanently if the copyright holder notifies you of the
+violation by some reasonable means, this is the first time you have
+received notice of violation of this License (for any work) from that
+copyright holder, and you cure the violation prior to 30 days after
+your receipt of the notice.
+
+  Termination of your rights under this section does not terminate the
+licenses of parties who have received copies or rights from you under
+this License.  If your rights have been terminated and not permanently
+reinstated, you do not qualify to receive new licenses for the same
+material under section 10.
+
+  9. Acceptance Not Required for Having Copies.
+
+  You are not required to accept this License in order to receive or
+run a copy of the Program.  Ancillary propagation of a covered work
+occurring solely as a consequence of using peer-to-peer transmission
+to receive a copy likewise does not require acceptance.  However,
+nothing other than this License grants you permission to propagate or
+modify any covered work.  These actions infringe copyright if you do
+not accept this License.  Therefore, by modifying or propagating a
+covered work, you indicate your acceptance of this License to do so.
+
+  10. Automatic Licensing of Downstream Recipients.
+
+  Each time you convey a covered work, the recipient automatically
+receives a license from the original licensors, to run, modify and
+propagate that work, subject to this License.  You are not responsible
+for enforcing compliance by third parties with this License.
+
+  An "entity transaction" is a transaction transferring control of an
+organization, or substantially all assets of one, or subdividing an
+organization, or merging organizations.  If propagation of a covered
+work results from an entity transaction, each party to that
+transaction who receives a copy of the work also receives whatever
+licenses to the work the party's predecessor in interest had or could
+give under the previous paragraph, plus a right to possession of the
+Corresponding Source of the work from the predecessor in interest, if
+the predecessor has it or can get it with reasonable efforts.
+
+  You may not impose any further restrictions on the exercise of the
+rights granted or affirmed under this License.  For example, you may
+not impose a license fee, royalty, or other charge for exercise of
+rights granted under this License, and you may not initiate litigation
+(including a cross-claim or counterclaim in a lawsuit) alleging that
+any patent claim is infringed by making, using, selling, offering for
+sale, or importing the Program or any portion of it.
+
+  11. Patents.
+
+  A "contributor" is a copyright holder who authorizes use under this
+License of the Program or a work on which the Program is based.  The
+work thus licensed is called the contributor's "contributor version".
+
+  A contributor's "essential patent claims" are all patent claims
+owned or controlled by the contributor, whether already acquired or
+hereafter acquired, that would be infringed by some manner, permitted
+by this License, of making, using, or selling its contributor version,
+but do not include claims that would be infringed only as a
+consequence of further modification of the contributor version.  For
+purposes of this definition, "control" includes the right to grant
+patent sublicenses in a manner consistent with the requirements of
+this License.
+
+  Each contributor grants you a non-exclusive, worldwide, royalty-free
+patent license under the contributor's essential patent claims, to
+make, use, sell, offer for sale, import and otherwise run, modify and
+propagate the contents of its contributor version.
+
+  In the following three paragraphs, a "patent license" is any express
+agreement or commitment, however denominated, not to enforce a patent
+(such as an express permission to practice a patent or covenant not to
+sue for patent infringement).  To "grant" such a patent license to a
+party means to make such an agreement or commitment not to enforce a
+patent against the party.
+
+  If you convey a covered work, knowingly relying on a patent license,
+and the Corresponding Source of the work is not available for anyone
+to copy, free of charge and under the terms of this License, through a
+publicly available network server or other readily accessible means,
+then you must either (1) cause the Corresponding Source to be so
+available, or (2) arrange to deprive yourself of the benefit of the
+patent license for this particular work, or (3) arrange, in a manner
+consistent with the requirements of this License, to extend the patent
+license to downstream recipients.  "Knowingly relying" means you have
+actual knowledge that, but for the patent license, your conveying the
+covered work in a country, or your recipient's use of the covered work
+in a country, would infringe one or more identifiable patents in that
+country that you have reason to believe are valid.
+
+  If, pursuant to or in connection with a single transaction or
+arrangement, you convey, or propagate by procuring conveyance of, a
+covered work, and grant a patent license to some of the parties
+receiving the covered work authorizing them to use, propagate, modify
+or convey a specific copy of the covered work, then the patent license
+you grant is automatically extended to all recipients of the covered
+work and works based on it.
+
+  A patent license is "discriminatory" if it does not include within
+the scope of its coverage, prohibits the exercise of, or is
+conditioned on the non-exercise of one or more of the rights that are
+specifically granted under this License.  You may not convey a covered
+work if you are a party to an arrangement with a third party that is
+in the business of distributing software, under which you make payment
+to the third party based on the extent of your activity of conveying
+the work, and under which the third party grants, to any of the
+parties who would receive the covered work from you, a discriminatory
+patent license (a) in connection with copies of the covered work
+conveyed by you (or copies made from those copies), or (b) primarily
+for and in connection with specific products or compilations that
+contain the covered work, unless you entered into that arrangement,
+or that patent license was granted, prior to 28 March 2007.
+
+  Nothing in this License shall be construed as excluding or limiting
+any implied license or other defenses to infringement that may
+otherwise be available to you under applicable patent law.
+
+  12. No Surrender of Others' Freedom.
+
+  If conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot convey a
+covered work so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you may
+not convey it at all.  For example, if you agree to terms that obligate you
+to collect a royalty for further conveying from those to whom you convey
+the Program, the only way you could satisfy both those terms and this
+License would be to refrain entirely from conveying the Program.
+
+  13. Use with the GNU Affero General Public License.
+
+  Notwithstanding any other provision of this License, you have
+permission to link or combine any covered work with a work licensed
+under version 3 of the GNU Affero General Public License into a single
+combined work, and to convey the resulting work.  The terms of this
+License will continue to apply to the part which is the covered work,
+but the special requirements of the GNU Affero General Public License,
+section 13, concerning interaction through a network will apply to the
+combination as such.
+
+  14. Revised Versions of this License.
+
+  The Free Software Foundation may publish revised and/or new versions of
+the GNU General Public License from time to time.  Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+  Each version is given a distinguishing version number.  If the
+Program specifies that a certain numbered version of the GNU General
+Public License "or any later version" applies to it, you have the
+option of following the terms and conditions either of that numbered
+version or of any later version published by the Free Software
+Foundation.  If the Program does not specify a version number of the
+GNU General Public License, you may choose any version ever published
+by the Free Software Foundation.
+
+  If the Program specifies that a proxy can decide which future
+versions of the GNU General Public License can be used, that proxy's
+public statement of acceptance of a version permanently authorizes you
+to choose that version for the Program.
+
+  Later license versions may give you additional or different
+permissions.  However, no additional obligations are imposed on any
+author or copyright holder as a result of your choosing to follow a
+later version.
+
+  15. Disclaimer of Warranty.
+
+  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
+APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
+HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
+OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
+THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
+IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
+ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+  16. Limitation of Liability.
+
+  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
+THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
+GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
+USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
+DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
+PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
+EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGES.
+
+  17. Interpretation of Sections 15 and 16.
+
+  If the disclaimer of warranty and limitation of liability provided
+above cannot be given local legal effect according to their terms,
+reviewing courts shall apply local law that most closely approximates
+an absolute waiver of all civil liability in connection with the
+Program, unless a warranty or assumption of liability accompanies a
+copy of the Program in return for a fee.
+
+                     END OF TERMS AND CONDITIONS
+
+            How to Apply These Terms to Your New Programs
+
+  If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+  To do so, attach the following notices to the program.  It is safest
+to attach them to the start of each source file to most effectively
+state the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+    <one line to give the program's name and a brief idea of what it does.>
+    Copyright (C) <year>  <name of author>
+
+    This program is free software: you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+Also add information on how to contact you by electronic and paper mail.
+
+  If the program does terminal interaction, make it output a short
+notice like this when it starts in an interactive mode:
+
+    <program>  Copyright (C) <year>  <name of author>
+    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+    This is free software, and you are welcome to redistribute it
+    under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License.  Of course, your program's commands
+might be different; for a GUI interface, you would use an "about box".
+
+  You should also get your employer (if you work as a programmer) or school,
+if any, to sign a "copyright disclaimer" for the program, if necessary.
+For more information on this, and how to apply and follow the GNU GPL, see
+<http://www.gnu.org/licenses/>.
+
+  The GNU General Public License does not permit incorporating your program
+into proprietary programs.  If your program is a subroutine library, you
+may consider it more useful to permit linking proprietary applications with
+the library.  If this is what you want to do, use the GNU Lesser General
+Public License instead of this License.  But first, please read
+<http://www.gnu.org/philosophy/why-not-lgpl.html>.
+[/file]
+[/template]
+
+[query public isSingleNodeSystem(arg0 : Sequence(OclAny), arg1 : String) : Boolean
+	= invoke('org.polarsys.chess.codegen.ada.singlenode.service.UML2Service', 'isSingleNodeSystem(java.util.List, java.lang.String)', Sequence{arg0, arg1}) /]
\ No newline at end of file
diff --git a/plugins/org.polarsys.chess.codegen.ada.singlenode/src/org/polarsys/chess/codegen/ada/singlenode/main/Main.mtl b/plugins/org.polarsys.chess.codegen.ada.singlenode/src/org/polarsys/chess/codegen/ada/singlenode/main/Main.mtl
new file mode 100644
index 000000000..7370a5a13
--- /dev/null
+++ b/plugins/org.polarsys.chess.codegen.ada.singlenode/src/org/polarsys/chess/codegen/ada/singlenode/main/Main.mtl
@@ -0,0 +1,55 @@
+[comment encoding = UTF-8 /]
+[comment
+-----------------------------------------------------------------------
+--                Ada infrastructural code generator                 -- 
+--                  for the CHESS component model                    --
+--                                                                   --
+--                    Copyright (C) 2011-2012                        --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author: Marco Panunzio         panunzio@math.unipd.it             --
+--                                                                   --
+-- All rights reserved. This program and the accompanying materials  --
+-- are made available under the terms of the Eclipse Public License  --
+-- v1.0 which accompanies this distribution, and is available at     --
+-- http://www.eclipse.org/legal/epl-v10.html                         --
+-----------------------------------------------------------------------
+/]
+[module Main('http://www.eclipse.org/uml2/3.0.0/UML')]
+[import org::polarsys::chess::codegen::ada::singlenode::main::Copyright /]
+
+[template public generateMain(model : Model, procNode : InstanceSpecification)
+{
+	procNodeName : String = procNode.name;
+    chHwProcessorStName  : String = 'CHESS::Predictability::DeploymentConfiguration::HardwareBaseline::CH_HwProcessor';
+}
+]
+[file (procNodeName.concat('/src/main.adb').toLower(), false, 'UTF-8')]
+[generateCopyrightAda(model)/]
+
+with Ada.Text_IO;
+with System;
+with Deployment;
+with Ada.Synchronous_Task_Control;
+
+procedure main is
+   pragma Priority(System.Priority'Last);
+   Suspension : Ada.Synchronous_Task_Control.Suspension_Object;
+begin
+
+   --Ada.Text_IO.Put_Line ("System start");
+   Ada.Text_IO.Put_Line ("Initialize deployment");
+   Deployment.Initialize;
+   Deployment.Set_RI;
+   
+   Ada.Text_IO.Put_Line("Initialization complete");
+
+   -- Suspending indefinitely the main suprogram on a suspension object
+   Ada.Synchronous_Task_Control.Set_False(Suspension);
+   Ada.Synchronous_Task_Control.Suspend_Until_True(Suspension);
+end main;
+[/file]
+[/template]
+
+[query public isSingleNodeSystem(arg0 : Sequence(OclAny), arg1 : String) : Boolean
+	= invoke('org.polarsys.chess.codegen.ada.singlenode.service.UML2Service', 'isSingleNodeSystem(java.util.List, java.lang.String)', Sequence{arg0, arg1}) /]
\ No newline at end of file
diff --git a/plugins/org.polarsys.chess.codegen.ada.singlenode/src/org/polarsys/chess/codegen/ada/singlenode/main/generateInfrastructure.mtl b/plugins/org.polarsys.chess.codegen.ada.singlenode/src/org/polarsys/chess/codegen/ada/singlenode/main/generateInfrastructure.mtl
new file mode 100644
index 000000000..38c37e608
--- /dev/null
+++ b/plugins/org.polarsys.chess.codegen.ada.singlenode/src/org/polarsys/chess/codegen/ada/singlenode/main/generateInfrastructure.mtl
@@ -0,0 +1,122 @@
+[comment encoding = UTF-8 /]
+[comment
+-----------------------------------------------------------------------
+--                Ada infrastructural code generator                 -- 
+--                  for the CHESS component model                    --
+--                                                                   --
+--                    Copyright (C) 2011-2012                        --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author: Marco Panunzio         panunzio@math.unipd.it             --
+--                                                                   --
+-- All rights reserved. This program and the accompanying materials  --
+-- are made available under the terms of the Eclipse Public License  --
+-- v1.0 which accompanies this distribution, and is available at     --
+-- http://www.eclipse.org/legal/epl-v10.html                         --
+-----------------------------------------------------------------------
+/]
+[module generateInfrastructure('http://www.eclipse.org/uml2/3.0.0/UML')]
+[import org::polarsys::chess::codegen::ada::singlenode::ifs::Interface /]
+[import org::polarsys::chess::codegen::ada::singlenode::component::ComponentType /]
+[import org::polarsys::chess::codegen::ada::singlenode::component::ComponentImplementation /]
+[import org::polarsys::chess::codegen::ada::singlenode::container::Container /]
+[import org::polarsys::chess::codegen::ada::singlenode::deployment::Deployment /]
+[import org::polarsys::chess::codegen::ada::singlenode::main::Main /]
+[import org::polarsys::chess::codegen::ada::singlenode::main::GPR /]
+[import org::polarsys::chess::codegen::ada::singlenode::main::GNATadc /]
+[import org::polarsys::chess::codegen::ada::singlenode::main::License /]
+[import org::polarsys::chess::codegen::ada::singlenode::datatype::DataType /]
+[import org::polarsys::chess::codegen::ada::singlenode::datatype::DataTypeC /]
+[comment import org::polarsys::chess::codegen::ada::singlenode::timingAnalysis::annotation::generateAITdescriptor /]
+
+[template public generateInfrastructure(model : Model) {
+	compTypeStName : String = 'CHESS::ComponentModel::ComponentType';
+	compImplStName : String = 'CHESS::ComponentModel::ComponentImplementation';
+	chHwProcessorStName  : String = 'CHESS::Predictability::DeploymentConfiguration::HardwareBaseline::CH_HwProcessor';
+	clSvPortStName : String = 'MARTE::MARTE_DesignModel::GCM::ClientServerPort';
+   	processingNodeList : Sequence(InstanceSpecification) = getProcessingNodeList(InstanceSpecification.allInstances()->asSequence(), chHwProcessorStName)->filter(InstanceSpecification);
+   	assignStName   : String = 'MARTE::MARTE_Foundations::Alloc::Assign';
+	chHwProcessorStName  : String = 'CHESS::Predictability::DeploymentConfiguration::HardwareBaseline::CH_HwProcessor';
+    isSingleNodeSystem : Boolean = isSingleNodeSystem(InstanceSpecification.allInstances()->asSequence(), chHwProcessorStName);
+   }
+]
+
+[comment @main/]
+
+[for (procNode : InstanceSpecification | processingNodeList)]
+[let deployedInstanceList : Sequence(InstanceSpecification) = getNodeInstanceSpecification(procNode, Comment.allInstances()->asSequence(), assignStName)->filter(InstanceSpecification)]
+[let deployedImplementationList : Sequence(Component) = getNodeComponentImplementationList(deployedInstanceList, compImplStName)->filter(Component)]
+[let deployedTypeList : Sequence(Component) = getNodeComponentTypeList(deployedImplementationList, compTypeStName)->filter(Component)]
+[let deployedInterfaceList : Sequence(Interface) = getNodeInterfaceList(deployedTypeList, clSvPortStName)->filter(Interface)]	
+
+    [comment Generate license /]
+	[generateLicense(model, procNode)/]
+
+	[comment Generate code for data types /]
+	[generateDataType(model, procNode)/]
+    [comment][if (hasCimplementation(deployedImplementationList, compImplStName))][/comment]
+       [generateDataTypeC(model, procNode)/]
+    [comment][/if][/comment]
+
+	[comment Generate code for interfaces/]
+	[for (aInterface : Interface | deployedInterfaceList)]
+	   [generateInterface(model, procNode, aInterface)/]
+	[/for]
+	[comment Generate code for component types/]
+	[for (aComponentType : Component | deployedTypeList)]
+	   [generateComponentType(model, procNode, aComponentType)/]
+	[/for]
+	[comment Generate code for component implementations/]
+	[for (aComponentImpl : Component | deployedImplementationList)]
+       [generateComponentImplementation(model, procNode, aComponentImpl, aComponentImpl.clientDependency.supplier->asSequence()->first().oclAsType(Component))/]
+	[/for]
+	[comment Generate code for containers/]
+	[for (aInstSpec : InstanceSpecification | deployedInstanceList)]
+       [generateContainer(model, procNode, aInstSpec, aInstSpec.classifier->asSequence()->first().oclAsType(Component))/]
+	[/for]
+
+	[comment Generate deployment code/]
+	[generateDeployment(model, procNode, deployedInstanceList,
+                    getConnectorInstList(InstanceSpecification.allInstances()->asSequence(), clSvPortStName))/]
+
+	[comment Generate Main file/]
+	[generateMain(model, procNode)/]
+
+	[comment Generate .gpr project file /]
+	[generateGPR(model, procNode, deployedImplementationList)/]
+
+	[comment Generate gnat.adc for compilation directives /]
+	[generateGNATadc(model, procNode)/]
+
+[/let] [comment InterfaceList /]
+[/let] [comment ComponentTypeList /]
+[/let] [comment ComponentImplementationList/]
+[/let] [comment ComponentInstanceList/]
+[/for]
+
+[comment Generate aiT descriptor /]
+[comment generateAITdescriptor(model)/]
+
+[/template]
+
+
+[query public getConnectorInstList(arg0 : Sequence(OclAny), arg1 : String) : Sequence(OclAny)
+	= invoke('org.polarsys.chess.codegen.ada.singlenode.service.UML2Service', 'getConnectorInstList(java.util.List, java.lang.String)', Sequence{arg0, arg1}) /]
+
+[query public getProcessingNodeList(arg0 : Sequence(OclAny), arg1 : String) : Sequence(OclAny)
+	= invoke('org.polarsys.chess.codegen.ada.singlenode.service.UML2Service', 'getProcessingNodeList(java.util.List, java.lang.String)', Sequence{arg0, arg1}) /]
+
+[query public getNodeInstanceSpecification(arg0: InstanceSpecification, arg1 : Sequence(OclAny), arg2 : String) : Sequence(OclAny)
+	= invoke('org.polarsys.chess.codegen.ada.singlenode.service.UML2Service', 'getNodeInstanceSpecification(org.eclipse.uml2.uml.InstanceSpecification, java.util.List, java.lang.String)', Sequence{arg0, arg1, arg2}) /]
+
+[query public getNodeComponentImplementationList(arg0: Sequence(OclAny), arg1 : String) : Sequence(OclAny)
+	= invoke('org.polarsys.chess.codegen.ada.singlenode.service.UML2Service', 'getNodeComponentImplementationList(java.util.List, java.lang.String)', Sequence{arg0, arg1}) /]
+
+[query public getNodeComponentTypeList(arg0: Sequence(OclAny), arg1 : String) : Sequence(OclAny)
+	= invoke('org.polarsys.chess.codegen.ada.singlenode.service.UML2Service', 'getNodeComponentTypeList(java.util.List, java.lang.String)', Sequence{arg0, arg1}) /]
+
+[query public getNodeInterfaceList(arg0: Sequence(OclAny), arg1 : String) : Sequence(OclAny)
+	= invoke('org.polarsys.chess.codegen.ada.singlenode.service.UML2Service', 'getNodeInterfaceList(java.util.List, java.lang.String)', Sequence{arg0, arg1}) /]
+
+[query public hasCimplementation(arg0 : Sequence(OclAny), arg1 : String) : Boolean
+	= invoke('org.polarsys.chess.codegen.ada.singlenode.service.UML2Service', 'hasCimplementation(java.util.List, java.lang.String)', Sequence{arg0, arg1}) /]
diff --git a/plugins/org.polarsys.chess.codegen.ada.singlenode/src/org/polarsys/chess/codegen/ada/singlenode/service/UML2Service.java b/plugins/org.polarsys.chess.codegen.ada.singlenode/src/org/polarsys/chess/codegen/ada/singlenode/service/UML2Service.java
new file mode 100644
index 000000000..31e27c32d
--- /dev/null
+++ b/plugins/org.polarsys.chess.codegen.ada.singlenode/src/org/polarsys/chess/codegen/ada/singlenode/service/UML2Service.java
@@ -0,0 +1,1412 @@
+/*
+-----------------------------------------------------------------------
+--                Ada infrastructural code generator                 -- 
+--                  for the CHESS component model                    --
+--                                                                   --
+--                    Copyright (C) 2011-2012                        --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author: Marco Panunzio         panunzio@math.unipd.it             --
+--                                                                   --
+-- All rights reserved. This program and the accompanying materials  --
+-- are made available under the terms of the Eclipse Public License  --
+-- v1.0 which accompanies this distribution, and is available at     --
+-- http://www.eclipse.org/legal/epl-v10.html                         --
+-----------------------------------------------------------------------
+*/
+package org.polarsys.chess.codegen.ada.singlenode.service;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Scanner;
+
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.Enumerator;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.GCM.ClientServerKind;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.GCM.ClientServerPort;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HLAM.CallConcurrencyKind;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.Alloc.Assign;
+import org.eclipse.papyrus.sysml.requirements.Requirement;
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityFinalNode;
+import org.eclipse.uml2.uml.ActivityNode;
+import org.eclipse.uml2.uml.Behavior;
+import org.eclipse.uml2.uml.CallOperationAction;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.ConnectorEnd;
+import org.eclipse.uml2.uml.ControlFlow;
+import org.eclipse.uml2.uml.InitialNode;
+import org.eclipse.uml2.uml.InstanceSpecification;
+import org.eclipse.uml2.uml.InstanceValue;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.Parameter;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Slot;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.ValueSpecification;
+import org.polarsys.chess.chessmlprofile.ComponentModel.ComponentImplementation;
+import org.polarsys.chess.chessmlprofile.Dependability.MitigationMeans.TransmissionWithProtocol;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.CHRtPortSlot;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.CHRtSpecification;
+
+public class UML2Service {
+
+	private static final String DOCSTEREO = "Papyrus::Documentation::Documentation";
+	 private static final String REQUIREMENT_EXTENSION = "requirement";
+	private static final Object LINK = "#Link_to";
+
+	public Interface getProvidedInterface(Port port, String stName) {
+		Stereotype clSvPortSt = port.getAppliedStereotype(stName);
+		ClientServerPort clSvPort = (ClientServerPort) port.getStereotypeApplication(clSvPortSt);
+		// Assumption : 1 PI per Port
+		return clSvPort.getProvInterface().get(0);
+	}
+	
+ 
+	public Interface getRequiredInterface(Port port, String stName) {
+		Stereotype clSvPortSt = port.getAppliedStereotype(stName);
+		ClientServerPort clSvPort = (ClientServerPort) port.getStereotypeApplication(clSvPortSt);
+		// Assumption : 1 RI per Port
+		return clSvPort.getReqInterface().get(0);
+	}
+
+   public Boolean isProvidedPort(Port pt, String stName) {
+	   Stereotype st = pt.getAppliedStereotype(stName);
+	   ClientServerPort csp = (ClientServerPort) pt.getStereotypeApplication(st);
+	   if (csp != null)
+		   return csp.getKind().equals(ClientServerKind.PROVIDED);
+	   else
+		   return false;
+			 
+   }
+   
+   public Boolean isRequiredPort(Port pt, String stName) {
+	   Stereotype st = pt.getAppliedStereotype(stName);
+	   ClientServerPort csp = (ClientServerPort) pt.getStereotypeApplication(st);
+	   if (csp != null)
+		   return csp.getKind().equals(ClientServerKind.REQUIRED);
+	   else
+		   return false;
+    }
+	 
+   public List<Interface> getProvidedInterfaceList(List<Port> portList, String stName) {
+
+	   ArrayList<Interface> intList = new ArrayList<Interface>();
+	   Port pt = null;
+	   Stereotype st = null;
+	   ClientServerPort csp = null;
+	   
+	   for (int i=0; i <portList.size(); i++) {
+		   pt = portList.get(i);
+		   st = pt.getAppliedStereotype(stName);
+		   csp = (ClientServerPort) pt.getStereotypeApplication(st);
+		   
+		   if (csp!= null && csp.getKind().equals(ClientServerKind.PROVIDED)) {
+			   // Assumption: only 1 providedInterface x Port
+			   intList.add(csp.getProvInterface().get(0));
+		   }
+	   }  
+	   
+	   return intList;
+   }
+   
+   public String getProvidedInterfaceListAsQualifiedString(List<Port> portList, String stName) {
+
+	   Port pt = null;
+	   Stereotype st = null;
+	   ClientServerPort csp = null;
+	   String piNameList = new String();
+	   String interfaceName = null;
+	   boolean firstWritten = false;
+	   
+	   for (int i=0; i <portList.size(); i++) {
+		   pt = portList.get(i);
+		   st = pt.getAppliedStereotype(stName);
+		   csp = (ClientServerPort) pt.getStereotypeApplication(st);
+		   
+		   if (csp != null && csp.getKind().equals(ClientServerKind.PROVIDED)) {
+			   // Assumption: only 1 providedInterface x Port
+			   interfaceName = csp.getProvInterface().get(0).getName();
+			   if (! firstWritten) {
+				   piNameList += interfaceName + "." + interfaceName;
+				   firstWritten = true;
+			   } else {
+				   piNameList += " and " + interfaceName + "." + interfaceName;
+			   }		   
+		   }
+	   }  
+	   
+	   return piNameList;
+   }
+ 
+   public Boolean hasRequiredInterface(List<Port> portList, String stName) {
+	   Port pt = null;
+	   Stereotype st = null;
+	   ClientServerPort csp = null;
+	   
+	   for (int i=0; i <portList.size(); i++) {
+		   pt = portList.get(i);
+		   st = pt.getAppliedStereotype(stName);
+		   csp = (ClientServerPort) pt.getStereotypeApplication(st);
+		   
+		   if (csp!= null && csp.getKind().equals(ClientServerKind.REQUIRED)) {
+			   return true;
+		   }
+	   }  
+	   
+	   return false;
+   }
+
+
+   public List<Interface> getRequiredInterfaceList(List<Port> portList, String stName) {
+
+	   ArrayList<Interface> intList = new ArrayList<Interface>();
+	   Port pt = null;
+	   Stereotype st = null;
+	   ClientServerPort csp = null;
+	   
+	   for (int i=0; i <portList.size(); i++) {
+		   pt = portList.get(i);
+		   st = pt.getAppliedStereotype(stName);
+		   csp = (ClientServerPort) pt.getStereotypeApplication(st);
+		   
+		   if (csp != null && csp.getKind().equals(ClientServerKind.REQUIRED)) {
+			   // Assumption: only 1 requiredInterface x Port
+			   intList.add(csp.getReqInterface().get(0));
+		   }
+	   }  
+	   
+	   return intList;
+   }
+
+   public String getOperationSignature(Component c, Operation op) {
+	   String opName = new String(c.getName() + "." + op.getName());
+	   //MODIFIED MP   WAS ELIST
+	   List<Parameter> lParam = op.getOwnedParameters();
+	   if (lParam.size() > 0) {
+		   opName += "(";
+		   opName += lParam.get(0).getType().getName();
+		   
+		   if (lParam.size() > 1) {
+		   
+			   for (int i=1; i < lParam.size(); i++) {
+				   opName += ", " + lParam.get(i).getType().getName();
+			   }
+		   }
+		   opName += ")";
+	   }
+	   return opName;
+   }
+   
+   public List<String> getPackageToWithSpec(List<Object> slotList, String stName, String st2Name) {
+
+	   boolean cyclicRequired = false;
+	   boolean sporadicRequired = false;
+	   
+	   boolean pkgSystemAdded = false;
+	   boolean pkgRealTimeAdded = false;
+	   boolean pkgDataStructureAdded = false;
+	   boolean pkgContainerProtectionAdded = false;
+	   boolean pkgCyclicTaskAdded = false;
+	   
+	   Slot slot = null;
+	   CHRtPortSlot chrtPs = null;
+	   CHRtSpecification chrtSpec = null;
+	   List<CHRtSpecification> chRtSpecList = null;
+	   ArrayList<String> withPackageList = new ArrayList<String>();
+
+	   for (int i=0; i < slotList.size(); i++) {
+		   slot = (Slot) slotList.get(i);
+
+		   List<Stereotype> stList = slot.getAppliedStereotypes();
+		   if (! stList.isEmpty()) {
+			   chrtPs = (CHRtPortSlot) slot.getStereotypeApplication(stList.get(0));
+			   chRtSpecList = chrtPs.getCH_RtSpecification();
+
+			   for (int j=0; j < chRtSpecList.size(); j++) {
+				   chrtSpec = chRtSpecList.get(j);
+				   String occKind = chrtSpec.getOccKind();
+
+				   if (occKind != null && ! occKind.equals("")) {
+
+					   if (occKind.startsWith("periodic") && ! cyclicRequired) {
+
+						   if (! pkgRealTimeAdded) {
+							   withPackageList.add("with Ada.Real_Time; use Ada.Real_Time;");
+							   pkgRealTimeAdded = true;
+						   }
+
+						   if (! pkgDataStructureAdded) {
+							   withPackageList.add("with Data_Structure;");
+							   pkgDataStructureAdded = true;
+						   }
+
+						   if (! pkgContainerProtectionAdded) {
+							   withPackageList.add("with Container_Protection; use Container_Protection;");
+							   pkgContainerProtectionAdded = true;
+						   }
+
+						   if (! pkgCyclicTaskAdded) {
+							   withPackageList.add("with Cyclic_Task;");
+							   pkgCyclicTaskAdded = true;
+						   }
+
+						   cyclicRequired = true;
+					   } else if (occKind.startsWith("sporadic") && ! sporadicRequired) {
+
+						   if (! pkgSystemAdded) {
+							   withPackageList.add("with System;");
+							   pkgSystemAdded = true;
+						   }
+
+						   if (! pkgRealTimeAdded) {
+							   withPackageList.add("with Ada.Real_Time; use Ada.Real_Time;");
+							   pkgRealTimeAdded = true;
+						   }
+
+						   if (! pkgDataStructureAdded) {
+							   withPackageList.add("with Data_Structure;");
+							   pkgDataStructureAdded = true;
+						   }    		 
+
+						   sporadicRequired = true;
+					   }
+
+				   } else if (chrtSpec.getProtection().equals(CallConcurrencyKind.GUARDED)) {// occKind is null or ""
+
+					   if (! pkgSystemAdded) {
+						   withPackageList.add("with System;");
+						   pkgSystemAdded = true;
+					   }
+
+				   }
+			   }
+
+			   if (cyclicRequired && sporadicRequired) {
+				   break;
+			   }
+		   }
+	   }
+	   return withPackageList;
+   }
+   
+   public String getValue(String inputVSL) {
+	   int endOfValueIndex = inputVSL.indexOf(",unit");
+	   int startOfValueIndex = inputVSL.indexOf("value=") + 6;
+	   return inputVSL.substring(startOfValueIndex, endOfValueIndex);
+	}
+   
+   public String getUnit(String inputVSL) {
+	   int startOfUnitIndex = inputVSL.indexOf("unit=") + 5;
+	   int endOfUnitIndex = inputVSL.indexOf("))");
+	   return inputVSL.substring(startOfUnitIndex, endOfUnitIndex);
+   }
+   
+   public String getPriority(List<Object> slotList, Operation op, String stName) {
+	   //Pre-condition : op is an operation marked as "cyclic" in some CHRtSpecification
+	   Slot slot = null;
+
+	   for (int i=0; i < slotList.size(); i++) {
+		   slot = (Slot) slotList.get(i);
+		   CHRtPortSlot chrtPs = null;
+
+		   List<Stereotype> stList = slot.getAppliedStereotypes();
+		   if (! stList.isEmpty()) {
+			   chrtPs = (CHRtPortSlot) slot.getStereotypeApplication(stList.get(0));
+			   List<CHRtSpecification> CHRtSpecList = chrtPs.getCH_RtSpecification();
+			   for (int j=0; j < CHRtSpecList.size(); j++) {
+				   if (CHRtSpecList.get(j).getContext().equals(op)) {
+					   return CHRtSpecList.get(j).getRelativePriority();
+				   }
+			   }
+		   }
+	   
+	   }
+	   //
+	   return "ERROR_PRIORITY_NOT_FOUND";
+   }
+   
+   public String getPeriodOrMIAT(List<Object> slotList, Operation op, String stName) {
+	   //Pre-condition : op is an operation marked as "cyclic" or "sporadic" in some CHRtSpecification
+	   Slot slot = null;
+
+	   for (int i=0; i < slotList.size(); i++) {
+		   slot = (Slot) slotList.get(i);
+		   CHRtPortSlot chrtPs = null;
+
+		   List<Stereotype> stList = slot.getAppliedStereotypes();
+		   if (! stList.isEmpty()) {
+			   chrtPs = (CHRtPortSlot) slot.getStereotypeApplication(stList.get(0));
+			   List<CHRtSpecification> CHRtSpecList = chrtPs.getCH_RtSpecification();
+			   for (int j=0; j < CHRtSpecList.size(); j++) {
+				   if (CHRtSpecList.get(j).getContext().equals(op)) {  
+					   
+					   String occKind = chrtPs.getCH_RtSpecification().get(0).getOccKind();
+					   String periodOrMIAT = getValue(occKind);
+					   if (periodOrMIAT.length() <= 5) {
+						   return periodOrMIAT.substring(0, periodOrMIAT.length()-2);
+					   } else {
+						   return periodOrMIAT.substring(0, periodOrMIAT.length()-5).concat("_").
+								   concat(periodOrMIAT.substring(periodOrMIAT.length()-5, periodOrMIAT.length()-2));
+					   }
+				   }
+			   }
+		   }
+	   }
+	   return "ERROR_PERIOD_OR_MIAT_NOT_FOUND";
+   }
+   
+   public String getCeiling(List<Object> slotList, Operation op, String stName) {
+	   //Pre-condition : op is an operation marked as "cyclic", "sporadic" 
+	   // or "protected" in some CHRtSpecification
+	   Slot slot = null;
+
+	   for (int i=0; i < slotList.size(); i++) {
+		   slot = (Slot) slotList.get(i);
+		   CHRtPortSlot chrtPs = null;
+
+		   List<Stereotype> stList = slot.getAppliedStereotypes();
+		   if (! stList.isEmpty()) {
+			   chrtPs = (CHRtPortSlot) slot.getStereotypeApplication(stList.get(0));
+			   List<CHRtSpecification> CHRtSpecList = chrtPs.getCH_RtSpecification();
+			   for (int j=0; j < CHRtSpecList.size(); j++) {
+				   if (CHRtSpecList.get(j).getContext().equals(op)) {  
+					   
+					   return chrtPs.getCH_RtSpecification().get(0).getCeiling();
+				   }
+			   }
+		   }
+	   }
+	   return "ERROR_CEILING_NOT_FOUND";
+   }
+   
+   public List<Operation> getCyclicOperationList(List<Slot> slotList, String stName) {
+	   
+	   ArrayList<Operation> cyclicOpList = new ArrayList<Operation>();
+	   CHRtPortSlot chrtPs = null;
+	   Slot slot = null; 
+	   
+	   for (int i=0; i < slotList.size(); i++) {
+		   slot = (Slot) slotList.get(i);
+		   List<Stereotype> stList = slot.getAppliedStereotypes();
+		   if (! stList.isEmpty()) {
+			   chrtPs = (CHRtPortSlot) slot.getStereotypeApplication(stList.get(0));
+			   List<CHRtSpecification> CHRtSpecList = chrtPs.getCH_RtSpecification();
+			   for (int j=0; j < CHRtSpecList.size(); j++) {
+				   String occKind = chrtPs.getCH_RtSpecification().get(j).getOccKind();
+
+				   if (occKind != null) {
+					   if (occKind.startsWith("periodic")) {
+						   cyclicOpList.add((Operation) CHRtSpecList.get(j).getContext());
+					   }   
+				   }
+			   }
+		   }
+	   }
+	   return cyclicOpList;
+   }
+   
+   public List<Operation> getSporadicOperationList(List<Slot> slotList, String stName) {
+	   
+	   ArrayList<Operation> sporadicOpList = new ArrayList<Operation>();
+	   CHRtPortSlot chrtPs = null;
+	   Slot slot = null; 
+	   
+	   for (int i=0; i < slotList.size(); i++) {
+		   slot = (Slot) slotList.get(i);
+		   List<Stereotype> stList = slot.getAppliedStereotypes();
+		   if (! stList.isEmpty()) {
+			   chrtPs = (CHRtPortSlot) slot.getStereotypeApplication(stList.get(0));
+			   List<CHRtSpecification> CHRtSpecList = chrtPs.getCH_RtSpecification();
+			   for (int j=0; j < CHRtSpecList.size(); j++) {
+				   String occKind = chrtPs.getCH_RtSpecification().get(j).getOccKind();
+
+				   if (occKind != null) {
+					   if (occKind.startsWith("sporadic")) {
+						   sporadicOpList.add((Operation) CHRtSpecList.get(j).getContext());
+					   }   
+				   }
+			   }
+		   }
+	   }
+	   return sporadicOpList;
+   }
+   
+public List<Operation> getProtectedOperationList(List<Slot> slotList, String stName) {
+	   
+	   ArrayList<Operation> protectedOpList = new ArrayList<Operation>();
+	   CHRtPortSlot chrtPs = null;
+	   Slot slot = null; 
+	   
+	   for (int i=0; i < slotList.size(); i++) {
+		   slot = (Slot) slotList.get(i);
+		   List<Stereotype> stList = slot.getAppliedStereotypes();
+		   if (! stList.isEmpty()) {
+			   chrtPs = (CHRtPortSlot) slot.getStereotypeApplication(stList.get(0));
+			   List<CHRtSpecification> CHRtSpecList = chrtPs.getCH_RtSpecification();
+			   for (int j=0; j < CHRtSpecList.size(); j++) {
+				   String occKind = chrtPs.getCH_RtSpecification().get(j).getOccKind();
+				   
+				   // Sporadic kind is GUARDED and occKind => sporadic(...)
+				   if (CHRtSpecList.get(j).getProtection().equals(CallConcurrencyKind.GUARDED) &&
+						   occKind == null) {
+					   protectedOpList.add((Operation) CHRtSpecList.get(j).getContext());
+				   }
+			   }
+		   }
+	   }
+	   return protectedOpList;
+   }
+ 
+   
+   public List<Operation> getSlotProtectedOperation(Slot sl, String stName) {
+	   
+	   ArrayList<Operation> protectedOpList = new ArrayList<Operation>();
+	   CHRtPortSlot chrtPs = null;
+	   
+	   List<Stereotype> stList = sl.getAppliedStereotypes();
+	   if (! stList.isEmpty()) {
+		   chrtPs = (CHRtPortSlot) sl.getStereotypeApplication(stList.get(0));
+		   List<CHRtSpecification> CHRtSpecList = chrtPs.getCH_RtSpecification();
+		   for (int j=0; j < CHRtSpecList.size(); j++) {
+			   String occKind = chrtPs.getCH_RtSpecification().get(j).getOccKind();
+			   
+			   // Sporadic kind is GUARDED and occKind => sporadic(...)
+			   if (CHRtSpecList.get(j).getProtection().equals(CallConcurrencyKind.GUARDED) &&
+					   occKind == null) {
+				   protectedOpList.add((Operation) CHRtSpecList.get(j).getContext());
+			   }
+		   }
+	   }
+	   return protectedOpList;
+   }
+   
+
+public List<Operation> getUnprotectedOperationList(List<Slot> slotList, String stName) {
+	   
+	   ArrayList<Operation> unprotectedOpList = new ArrayList<Operation>();
+	   CHRtPortSlot chrtPs = null;
+	   Slot slot = null; 
+	   
+	   for (int i=0; i < slotList.size(); i++) {
+		   slot = (Slot) slotList.get(i);
+		   List<Stereotype> stList = slot.getAppliedStereotypes();
+		   if (! stList.isEmpty()) {
+			   chrtPs = (CHRtPortSlot) slot.getStereotypeApplication(stList.get(0));
+			   List<CHRtSpecification> CHRtSpecList = chrtPs.getCH_RtSpecification();
+			   for (int j=0; j < CHRtSpecList.size(); j++) {
+				   String occKind = chrtPs.getCH_RtSpecification().get(j).getOccKind();
+				   
+				   if (CHRtSpecList.get(j).getProtection().equals(CallConcurrencyKind.CONCURRENT) &&
+						   occKind == null) {
+					   unprotectedOpList.add((Operation) CHRtSpecList.get(j).getContext());
+				   }
+			   }
+		   }
+	   }
+	   return unprotectedOpList;
+   }
+   
+   public List<InstanceSpecification> getComponentInstanceList(List<InstanceSpecification> instList, String stName) {
+	   ArrayList<InstanceSpecification> componentInstanceList = new ArrayList<InstanceSpecification>();
+	   
+	   for (int i=0; i<instList.size(); i++) {
+		   List<Classifier> clList = instList.get(i).getClassifiers();
+		   
+		   if (clList.size() > 0) {
+			  Stereotype st = clList.get(0).getAppliedStereotype(stName);
+	   
+			  if (st != null) {
+				  componentInstanceList.add(instList.get(i));
+			  }
+		   }
+	   }
+
+	   return componentInstanceList;
+   }
+   
+   public List<Slot> getRequiredInterfaceSlotList(List<InstanceSpecification> instList, String stName) {
+	   ArrayList<Slot> reqInterfaceSlotList = new ArrayList<Slot>();
+	   
+	   for (int i=0; i<instList.size(); i++) {
+		   List<Slot> slList = instList.get(i).getSlots();
+		   for (int j=0; j<slList.size(); j++) { 
+			   
+			   if (slList.get(j).getDefiningFeature() instanceof Port) {
+				   Port pt = (Port) slList.get(j).getDefiningFeature();
+				   Stereotype st = pt.getAppliedStereotype(stName);
+				   if (st != null) {
+					   ClientServerPort csp = (ClientServerPort) pt.getStereotypeApplication(st);
+					   if (csp.getKind() == ClientServerKind.REQUIRED) {
+						   reqInterfaceSlotList.add(slList.get(j));
+					   }
+				   }
+			   }
+		   }
+	   }
+
+	   // the list of all RI
+	   return reqInterfaceSlotList;
+   }
+
+   
+   public List<Slot> getInstanceRequiredInterfaceSlotList(InstanceSpecification inst, String stName) {
+	   ArrayList<Slot> reqInterfaceSlotList = new ArrayList<Slot>();
+	   
+	   
+		   List<Slot> slList = inst.getSlots();
+		   for (int j=0; j<slList.size(); j++) { 
+			   
+			   if (slList.get(j).getDefiningFeature() instanceof Port) {
+				   Port pt = (Port) slList.get(j).getDefiningFeature();
+				   Stereotype st = pt.getAppliedStereotype(stName);
+				   if (st != null) {
+					   ClientServerPort csp = (ClientServerPort) pt.getStereotypeApplication(st);
+					   if (csp.getKind() == ClientServerKind.REQUIRED) {
+						   reqInterfaceSlotList.add(slList.get(j));
+					   }
+				   }
+			   }
+	   }
+
+	   // the list of all RI slots of the instance specification
+	   return reqInterfaceSlotList;
+   }
+   
+   public List<Slot> getProvidedInterfaceSlotList(List<InstanceSpecification> instList, String stName) {
+	   ArrayList<Slot> provInterfaceSlotList = new ArrayList<Slot>();
+	   
+	   for (int i=0; i<instList.size(); i++) {
+		   List<Slot> slList = instList.get(i).getSlots();
+		   for (int j=0; j<slList.size(); j++) { 
+			   
+			   if (slList.get(j).getDefiningFeature() instanceof Port) {
+				   Port pt = (Port) slList.get(j).getDefiningFeature();
+				   Stereotype st = pt.getAppliedStereotype(stName);
+				   if (st != null) {
+					   ClientServerPort csp = (ClientServerPort) pt.getStereotypeApplication(st);
+					   if (csp.getKind() == ClientServerKind.PROVIDED) {
+						   provInterfaceSlotList.add(slList.get(j));
+					   }
+				   }
+			   }
+		   }
+	   }
+
+	   // the list of all RI
+	   return provInterfaceSlotList;
+   }
+
+
+   public List<Slot> getInstanceProvidedInterfaceSlotList(InstanceSpecification inst, String stName) {
+	   ArrayList<Slot> provInterfaceSlotList = new ArrayList<Slot>();
+	   
+	   
+		   List<Slot> slList = inst.getSlots();
+		   for (int j=0; j<slList.size(); j++) { 
+			   
+			   if (slList.get(j).getDefiningFeature() instanceof Port) {
+				   Port pt = (Port) slList.get(j).getDefiningFeature();
+				   Stereotype st = pt.getAppliedStereotype(stName);
+				   if (st != null) {
+					   ClientServerPort csp = (ClientServerPort) pt.getStereotypeApplication(st);
+					   if (csp.getKind() == ClientServerKind.PROVIDED) {
+						   provInterfaceSlotList.add(slList.get(j));
+					   }
+				   }
+			   }
+	   }
+
+	   // the list of all RI slots of the instance specification
+	   return provInterfaceSlotList;
+   }
+   
+   
+   
+   public List<InstanceSpecification> getConnectorInstList(List<InstanceSpecification> instList, String stName) {
+	   ArrayList<InstanceSpecification> connectorInstList = new ArrayList<InstanceSpecification>();
+	   
+	   for (int i=0; i<instList.size(); i++) {
+		   if (instList.get(i).getClassifiers().size()==0) {
+			   List<Slot> slList = instList.get(i).getSlots();
+			   if (slList.size() > 0) {
+				   Port pt = (Port) slList.get(0).getDefiningFeature();
+				   Stereotype st = pt.getAppliedStereotype(stName);
+				   // check if the defining feature is a <<ClientServerPort>>
+				   if (st != null) {
+					   connectorInstList.add(instList.get(i));
+				   }
+			   }
+		   }
+	   }
+	   return connectorInstList;
+   }
+   
+ 
+   
+   public List<Component> getComponentImplList(List<Component> compList, String stName) {
+	   ArrayList<Component> compImplList = new ArrayList<Component>();
+	   
+	   for (int i=0; i<compList.size(); i++) {
+		   Stereotype st = compList.get(i).getAppliedStereotype(stName);
+		   // check if it is a <<ComponentImplementation>>
+		   if (st != null) {
+			   compImplList.add(compList.get(i));
+		   }
+	   }
+	   return compImplList;
+   }
+   
+   public Slot getBoundPIslot(Slot sl, List<InstanceSpecification> connectorInstList) {
+	  
+	   // All methods based on equality between slot fail (indexOf, contains, etc..)
+	   // Check that definingFeature and owningInstance of the slot are matching
+	   
+	   for (int i=0; i<connectorInstList.size(); i++) {
+		   List<Slot> slotList = connectorInstList.get(i).getSlots();
+		   List<Slot> targetInstanceSlotList = null;
+		   Slot targetSlot = null;
+		   
+		   // 2 slots are included in the instance of the connecto.
+		   Slot slot0 = slotList.get(0);
+		   Slot slot1 = slotList.get(1);
+		   
+		   if (slot0.getDefiningFeature().equals(sl.getDefiningFeature())) {
+			   List<ValueSpecification> vsList = slot0.getValues();
+			   InstanceValue iv = (InstanceValue) vsList.get(0);
+			   if (sl.getOwningInstance().equals(iv.getInstance())) {
+				   //slot1 is the slot in the instance of the connector
+				   //we must return the slot in the instance of the component instance!
+				   vsList = slot1.getValues();
+				   iv = (InstanceValue) vsList.get(0);
+				   InstanceSpecification targetIs =  iv.getInstance();
+				   targetInstanceSlotList = targetIs.getSlots();
+				   for (int j = 0; j < targetInstanceSlotList.size(); j++) {
+					   targetSlot = targetInstanceSlotList.get(j);
+					   if (targetSlot.getDefiningFeature().equals(slot1.getDefiningFeature())) {
+						   return targetSlot;
+					   }
+				   }	   
+				   
+			   }
+		   } else if (slot1.getDefiningFeature().equals(sl.getDefiningFeature())) {
+			   List<ValueSpecification> vsList = slot1.getValues();
+			   InstanceValue iv = (InstanceValue) vsList.get(0);
+			   if (sl.getOwningInstance().equals(iv.getInstance())) {
+				   //slot0 is the slot in the instance of the connector
+				   //we must return the slot in the instance of the component instance!
+				   vsList = slot0.getValues();
+				   iv = (InstanceValue) vsList.get(0);
+				   InstanceSpecification targetIs =  iv.getInstance();
+				   targetInstanceSlotList = targetIs.getSlots();
+				   for (int j = 0; j < targetInstanceSlotList.size(); j++) {
+					   targetSlot = targetInstanceSlotList.get(j);
+					   if (targetSlot.getDefiningFeature().equals(slot1.getDefiningFeature())) {
+						   return targetSlot;
+					   }
+				   }	   
+				   
+			   }
+		   }
+	   }
+	   return sl;	   
+   }
+   
+   public List<Slot> getBoundRIslotList(Slot sl, List<InstanceSpecification> connectorInstList) {
+	   List<Slot> boundRIslotList = new ArrayList<Slot>();
+	   
+	   // Check that definingFeature and owningInstance of the slot are matching
+	   
+	   for (int i=0; i<connectorInstList.size(); i++) {
+		   List<Slot> slotList = connectorInstList.get(i).getSlots();
+		   List<Slot> targetInstanceSlotList = null;
+		   Slot targetSlot = null;
+		   
+		   // 2 slots are included in the instance of the connector.
+		   Slot slot0 = slotList.get(0);
+		   Slot slot1 = slotList.get(1);
+		   
+		   if (slot0.getDefiningFeature().equals(sl.getDefiningFeature())) {
+			   List<ValueSpecification> vsList = slot0.getValues();
+			   InstanceValue iv = (InstanceValue) vsList.get(0);
+			   if (sl.getOwningInstance().equals(iv.getInstance())) {
+				   //slot1 is the slot in the instance of the connector
+				   //we must return the corresponding slot in the instance of the component instance!
+				   vsList = slot1.getValues();
+				   iv = (InstanceValue) vsList.get(0);
+				   InstanceSpecification targetIs =  iv.getInstance();
+				   targetInstanceSlotList = targetIs.getSlots();
+				   for (int j = 0; j < targetInstanceSlotList.size(); j++) {
+					   targetSlot = targetInstanceSlotList.get(j);
+					   if (targetSlot.getDefiningFeature().equals(slot1.getDefiningFeature())) {
+						   boundRIslotList.add(targetSlot);
+					   }
+				   }	   
+				   
+			   }
+		   } else if (slot1.getDefiningFeature().equals(sl.getDefiningFeature())) {
+			   List<ValueSpecification> vsList = slot1.getValues();
+			   InstanceValue iv = (InstanceValue) vsList.get(0);
+			   if (sl.getOwningInstance().equals(iv.getInstance())) {
+				   //slot0 is the slot in the instance of the connector
+				   //we must return the corresponding slot in the instance of the component instance!
+				   vsList = slot0.getValues();
+				   iv = (InstanceValue) vsList.get(0);
+				   InstanceSpecification targetIs =  iv.getInstance();
+				   targetInstanceSlotList = targetIs.getSlots();
+				   for (int j = 0; j < targetInstanceSlotList.size(); j++) {
+					   targetSlot = targetInstanceSlotList.get(j);
+					   if (targetSlot.getDefiningFeature().equals(slot0.getDefiningFeature())) {
+						   boundRIslotList.add(targetSlot);
+					   }
+				   }	   
+				   
+			   }
+		   }
+	   }
+	   return boundRIslotList;	   
+   }
+   
+  public boolean isCyclicOperation(List<Slot> slotList, Operation op, String stName) {
+	   
+	   CHRtPortSlot chrtPs = null;
+	   Slot slot = null; 
+	   
+	   for (int i=0; i < slotList.size(); i++) {
+		   slot = (Slot) slotList.get(i);
+		   List<Stereotype> stList = slot.getAppliedStereotypes();
+		   if (! stList.isEmpty()) {
+			   chrtPs = (CHRtPortSlot) slot.getStereotypeApplication(stList.get(0));
+			   List<CHRtSpecification> CHRtSpecList = chrtPs.getCH_RtSpecification();
+			   for (int j=0; j < CHRtSpecList.size(); j++) {
+				   Operation myOp = (Operation) CHRtSpecList.get(j).getContext();
+				   
+				   if (myOp.equals(op)) {
+					   String occKind = chrtPs.getCH_RtSpecification().get(j).getOccKind();
+
+					   if (occKind != null) {
+						   if (occKind.startsWith("periodic")) {
+							   return true;
+						   }   
+					   }
+				   }
+			   }
+		   }
+	   }
+	   return false;
+   }
+  
+
+  public List<CallOperationAction> getCalledOperation(Operation op) {
+	  ArrayList<CallOperationAction> coaList = new ArrayList<CallOperationAction>();
+	  List<Behavior> bhList = op.getMethods();
+	  
+	  if (bhList.size() > 0) {
+		  for (int i=0; i < bhList.size(); i++) {
+			  if (bhList.get(i) instanceof Activity) {
+
+				  List<ActivityNode> actNodeList = ((Activity) bhList.get(i)).getNodes();
+				  for (int j=0; j < actNodeList.size(); j++) {
+					  if (actNodeList.get(j) instanceof CallOperationAction) {
+						  coaList.add((CallOperationAction) actNodeList.get(j));
+					  }
+				  }
+			  }
+		  }
+	  }
+	  return coaList;
+  }
+  
+  /* Equality criteria between operation:
+   * - name, visibility, size of parameter list
+   * type of parameters, name of parameters
+   * 
+   * isAbstract is purposedly not considered
+  */  
+  public boolean isSameOperation(Operation op1, Operation op2) {
+	  if (! op1.getName().equals(op2.getName())) {
+		  return false;
+	  }
+	  
+	  if (! op1.getVisibility().equals(op2.getVisibility())) {
+		  return false;
+	  }
+	  
+	  
+	  List<Parameter> paramList1 = op1.getOwnedParameters();
+	  List<Parameter> paramList2 = op2.getOwnedParameters();
+	  
+	  if (paramList1.size() != paramList2.size()) {
+		  return false;
+	  }
+	  
+	  for (int i = 0; i < paramList1.size(); i++) {
+		  Parameter par1 = paramList1.get(i);
+		  Parameter par2 = paramList2.get(i);
+		  
+		  //par1.getType().equals(par2.getType()) unexpectedly fails
+		  //replacing it with a very reliable check on names
+		  if (! par1.getType().getName().equals(par2.getType().getName())) {
+			  return false;
+		  }
+		  
+		  if (! par1.getName().equals(par2.getName())) {
+			  return false;
+		  }
+		  
+		  if (! par1.getDirection().equals(par2.getDirection())) {
+			  return false;
+		  }
+	  }
+	  return true;
+  }
+  
+  
+  public Interface getInterface(Operation op, List<Port> ptList, String stName) {
+	  
+	  List<Interface> interfaceList = getProvidedInterfaceList(ptList, stName);
+	  
+	  for (int i=0; i < interfaceList.size(); i++) {
+		  Interface myIf = interfaceList.get(i);
+		  List<Operation> opList = myIf.getOperations();
+		  
+		  for (int j=0; j < opList.size(); j++) {
+			  if ( isSameOperation(op, opList.get(j))) {
+				  return myIf;
+			  }
+		  }
+	  }
+	  
+	  return null;
+  }
+  
+  public boolean isDataTypeWithRequired(Interface aInt) {
+	  List<Operation> opList = aInt.getOwnedOperations();
+	  for (int i=0; i < opList.size(); i++) {
+		  List<Parameter> parList = opList.get(i).getOwnedParameters();
+		  
+		  for (int j=0; j < parList.size(); j++) {
+			  Parameter par = parList.get(j);
+			  if (! (par.getName().equals("Integer") || par.getName().equals("Float") ||
+					 par.getName().equals("Natural") )) {
+				  return true;
+			  }
+		  }
+	  }
+	  
+	  return false;
+  }
+  
+  public String getImplementationLanguage(Component c, String stName) {
+		Stereotype cImplSt = c.getAppliedStereotype(stName);
+		ComponentImplementation cImpl = (ComponentImplementation) c.getStereotypeApplication(cImplSt);
+
+		String lang = cImpl.getLanguage();
+		if (lang == null) {
+			return "Ada";
+		} else {
+			return lang;
+		}
+  }
+  
+  public String adaTypeToCtype(Type type) {
+	  if (type instanceof PrimitiveType && type.getName().equals("Integer")) {
+		  return "int";
+	  } else if (type instanceof PrimitiveType && type.getName().equals("Float")) {
+		  return "float";
+	  } else if (type instanceof PrimitiveType && type.getName().equals("Boolean")) {
+		  return "bool";
+	  } //else if (type instanceof Enumeration) {
+		//  return "int";
+	  //}
+
+	  // assumes that the datatype have been defined in the datatype package
+	  return type.getName();
+  }
+  
+	public Boolean hasCimplementation(List<Component> lComp, String stName) {
+		for (int i=0; i < lComp.size(); i++) {
+			Stereotype compImplSt = lComp.get(i).getAppliedStereotype(stName);
+			if (compImplSt != null) {
+				ComponentImplementation cImpl = (ComponentImplementation) lComp.get(i).getStereotypeApplication(compImplSt);
+				if (cImpl.getLanguage().equals("C") || (cImpl.getLanguage().equals("C++"))) {
+					return true;
+				}
+			}
+		}
+		// all component implementations are realized in Ada
+		return false; 
+	}
+	
+	public List<CallOperationAction> getCalledOperationList(Activity act) {
+		ArrayList<CallOperationAction> coaList = new ArrayList<CallOperationAction>();
+
+		List<ActivityNode> actNodeList = act.getNodes();
+		ActivityNode actNode = null;
+		ControlFlow cf = null;
+		boolean finalNodeFound = false;
+		
+		for (int j=0; j < actNodeList.size(); j++) {
+			if (actNodeList.get(j) instanceof InitialNode) {
+				actNode = (InitialNode) actNodeList.get(j);
+				break;
+			}
+		}
+		// iNode contains the initial node of a well-specified activity diagram
+		while (! finalNodeFound) {
+			cf = (ControlFlow) actNode.getOutgoings().get(0);
+			if (cf.getTarget() instanceof CallOperationAction) {
+				actNode = (CallOperationAction) cf.getTarget();
+				coaList.add((CallOperationAction) actNode);
+			} else if (cf.getTarget() instanceof ActivityFinalNode){
+				finalNodeFound = true;
+			} else {
+				return null;
+			}
+		}
+		
+		return coaList;
+	}
+	
+	public Activity getICB(Operation op) {
+		List<Behavior> bhList = op.getMethods();
+		for (int i=0; i<bhList.size(); i++) {
+			if (bhList.get(i) instanceof Activity) {
+				return (Activity) bhList.get(i);
+			}
+		}
+		
+		return null;
+	}
+	
+	public List<InstanceSpecification> getComponentInstanceList(Component cImpl, List<InstanceSpecification> allIsList) {
+		ArrayList<InstanceSpecification> isList = new ArrayList<InstanceSpecification>();
+		
+		for (int i=0; i<allIsList.size(); i++) {
+			if (allIsList.get(i).getClassifiers().get(0).equals(cImpl)) {
+				isList.add(allIsList.get(i));
+			}
+		}
+		
+		return isList;
+	}
+	
+	// Deployment related services
+	// Added on Apr 5th with a lot of rush
+	
+	
+	public Boolean isSingleNodeSystem(List<InstanceSpecification> allIsList, String stName) {
+		InstanceSpecification processingNode = null;
+		Stereotype st = null;
+		
+		for (int i=0; i < allIsList.size(); i++) {
+			   st = allIsList.get(i).getAppliedStereotype(stName);
+			   			
+			if (st != null) {
+				if (processingNode == null) {
+					processingNode = allIsList.get(i);
+				} else {
+					if (! allIsList.get(i).equals(processingNode)) {
+						return false; 
+					}
+				}
+			}
+		}
+		
+		return true;
+	}
+	
+	
+	public List<InstanceSpecification> getProcessingNodeList(List<InstanceSpecification> allIsList, String stName) {
+		ArrayList<InstanceSpecification> pnList = new ArrayList<InstanceSpecification>();
+		Stereotype st = null;
+		
+		for (int i=0; i < allIsList.size(); i++) {
+			   st = allIsList.get(i).getAppliedStereotype(stName);
+			   			
+			if (st != null) {
+				pnList.add(allIsList.get(i));
+			}
+		}
+
+		return pnList;
+	}
+	
+	public List<InstanceSpecification> getNodeInstanceSpecification(InstanceSpecification node, List<Comment> commList, String stName) {
+		
+		ArrayList<InstanceSpecification> isList = new ArrayList<InstanceSpecification>();
+		Stereotype st = null;
+		Assign ass = null;
+				
+		for (int i=0; i < commList.size(); i++) {
+			st = commList.get(i).getAppliedStereotype(stName);
+			
+			if (st != null) {
+				ass = (Assign) commList.get(i).getStereotypeApplication(st);
+								
+				if (ass.getTo().get(0).equals(node)) {
+					isList.add((InstanceSpecification) ass.getFrom().get(0));
+				}
+			}
+		}
+		
+		return isList;
+	}
+	
+	public List<Component> getNodeComponentImplementationList(List<InstanceSpecification> isList, String stName) {
+		
+		ArrayList<Component> cImplList = new ArrayList<Component>();
+		Component cImpl = null;
+				
+		for (int i=0; i < isList.size(); i++) {
+		
+			if (isList.get(i).getClassifiers().get(0) instanceof Component) {
+				cImpl = (Component) isList.get(i).getClassifiers().get(0);
+				if (cImpl.getAppliedStereotype(stName) != null) {
+					cImplList.add(cImpl);		
+				}
+			
+			
+			}
+		}
+		
+		return cImplList;		
+	}
+	
+	public List<Component> getNodeComponentTypeList(List<Component> cImplList, String stName) {
+
+		ArrayList<Component> cTypeList = new ArrayList<Component>();
+		Component cType = null;
+
+		for (int i=0; i < cImplList.size(); i++) {
+
+			if (cImplList.get(i).getClientDependencies().get(0).getSuppliers().get(0) instanceof Component) {
+				cType = (Component) cImplList.get(i).getClientDependencies().get(0).getSuppliers().get(0);
+				if (cType.getAppliedStereotype(stName) != null) {
+					cTypeList.add(cType);		
+				}
+			}
+		}
+
+		return cTypeList;		
+	}
+	
+	public List<Component> getAllComponentTypeList(List<Component> allComponentList, String stName) {
+
+		ArrayList<Component> cTypeList = new ArrayList<Component>();
+
+		for (int i=0; i < allComponentList.size(); i++) {
+
+			if (allComponentList.get(i).getAppliedStereotype(stName) != null) {
+				cTypeList.add(allComponentList.get(i));		
+			}
+		}
+
+		return cTypeList;		
+	}
+	
+	public List<Interface> getNodeInterfaceList(List<Component> cTypeList, String stName) {
+
+		ArrayList<Interface> ifList = new ArrayList<Interface>();
+		Stereotype st = null;
+
+		for (int i=0; i < cTypeList.size(); i++) {
+			List<Property> pList = cTypeList.get(i).getOwnedAttributes();
+			ClientServerPort csp = null;
+			
+			if (pList != null) {
+
+				for (int j=0; j < pList.size(); j++) {
+
+					if (pList.get(j) instanceof Port) {
+						st = pList.get(j).getAppliedStereotype(stName);
+						if (st != null) {
+							csp = (ClientServerPort) pList.get(j).getStereotypeApplication(st);
+							if (csp.getKind().equals(ClientServerKind.PROVIDED)) {
+								if (csp.getProvInterface().get(0) != null) {
+									ifList.add(csp.getProvInterface().get(0));
+								}
+							} else if (csp.getKind().equals(ClientServerKind.REQUIRED)) {
+								if (csp.getReqInterface().get(0) != null) {
+									ifList.add(csp.getReqInterface().get(0));
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+
+		return ifList;		
+	}
+
+	
+	public InstanceSpecification getDeploymentProcessingNode(Slot sl, List<Comment> commList, String stName) {
+		
+		Stereotype st = null;
+		Assign ass = null;
+
+		for (int i=0; i < commList.size(); i++) {
+			st = commList.get(i).getAppliedStereotype(stName);
+
+			if (st != null) {
+				ass = (Assign) commList.get(i).getStereotypeApplication(st);
+
+				if (ass.getFrom() != null && ass.getTo() != null) {
+
+					if (ass.getTo().get(0) instanceof InstanceSpecification && 
+					    ass.getFrom().get(0) instanceof InstanceSpecification) {
+						if (ass.getFrom().get(0).equals(sl.getOwningInstance())) {
+							return (InstanceSpecification) ass.getTo().get(0);
+						}
+					}
+				}
+			}
+		}
+		return null;
+	}
+	
+	public Boolean isRemoteCommNecessary (List<Slot> slList, InstanceSpecification procNode,
+			List<Comment> commList, String stName) {
+		
+		for (int i=0; i < slList.size(); i++) {
+			if (! this.getDeploymentProcessingNode(slList.get(i), commList, stName).equals(procNode)){
+				return true;
+			}
+		}
+		
+		return false;
+	}
+	
+	public List<Operation> getProvidedOperationList (List<Component> cTypeList, String stName) {
+		ArrayList<Operation> opList = new ArrayList<Operation>();
+		Stereotype st = null;
+		Port pt = null;
+		Interface myIf = null;
+		
+		for (int i=0; i < cTypeList.size(); i++) {
+			List<Property> pList = cTypeList.get(i).getOwnedAttributes();
+			
+			for (int j=0; j < pList.size(); j++) {
+				if (pList.get(j) instanceof Port) {
+					pt = (Port) pList.get(j);
+					st = pt.getAppliedStereotype(stName);
+					ClientServerPort csp = (ClientServerPort) pt.getStereotypeApplication(st);
+					
+					if (csp.getKind().equals(ClientServerKind.PROVIDED)) {
+						myIf = csp.getProvInterface().get(0);
+						List<Operation> ifOpList = myIf.getOwnedOperations();
+						for (int k=0; k < ifOpList.size(); k++) {
+							opList.add(ifOpList.get(k));
+						}
+					}
+				}
+			}
+		}
+		
+		return opList;
+	}
+	
+	public List<Slot> getRemoteRIslotList(List<Slot> riSlotList, InstanceSpecification procNode, 
+			List<InstanceSpecification> connectorInstList, List<Comment> commList, 
+			String assignStName) {
+		
+		ArrayList<Slot> remoteRIslotList = new ArrayList<Slot>();
+		Slot boundSlot = null;
+		
+		for (int i=0; i<riSlotList.size(); i++) {
+			boundSlot = getBoundPIslot(riSlotList.get(i), connectorInstList);
+			if (! getDeploymentProcessingNode(boundSlot, commList, assignStName).equals(procNode)) {
+				
+				if (! remoteRIslotList.contains(boundSlot)) {
+					remoteRIslotList.add(boundSlot);
+				}
+			}
+		}
+		
+		return remoteRIslotList;
+	}
+	
+	public Boolean isRemoteMsgClientNecessary(List<Slot> riSlotList, InstanceSpecification procNode, 
+			List<InstanceSpecification> connectorInstList, List<Comment> commList, String assignStName) {
+		
+		Slot boundSlot = null;
+		for (int i = 0; i < riSlotList.size(); i++) {
+			boundSlot = getBoundPIslot(riSlotList.get(i), connectorInstList);
+			if (!getDeploymentProcessingNode(boundSlot, commList, assignStName).equals(procNode)) {
+				return true;
+			}
+		}
+		// all RI slots are connected to PI of instances deployed on the same processor node
+		
+		return false;
+	}
+	
+	
+	public Boolean isRemoteMsgServerNecessary (List<Slot> slList, InstanceSpecification procNode,
+			List<InstanceSpecification> connectorInstList, List<Comment> commList, String stName) {
+		
+		List<Slot> boundSlotList = null;
+		
+		for (int i=0; i < slList.size(); i++) {
+			
+			boundSlotList = getBoundRIslotList(slList.get(i), connectorInstList);
+			
+			for (int j=0; j < boundSlotList.size(); j++) {
+				if (! this.getDeploymentProcessingNode(boundSlotList.get(j), commList, stName).equals(procNode)){
+					return true;
+				}
+			}
+		}
+		
+		return false;
+	}
+	
+	
+	public Boolean useSequenceID(Slot sl, List<InstanceSpecification> connectorInstList, 
+			                     List<Connector> connectorList, String stName) {
+		  
+		   // Check that definingFeature and owningInstance of the slot are matching
+		   
+		   for (int i=0; i<connectorInstList.size(); i++) {
+			   List<Slot> slotList = connectorInstList.get(i).getSlots();
+			   
+			   // 2 slots are included in the instance of the connector.
+			   Slot slot0 = slotList.get(0);
+			   Slot slot1 = slotList.get(1);
+			   
+			   if (slot0.getDefiningFeature().equals(sl.getDefiningFeature())) {
+				   List<ValueSpecification> vsList = slot0.getValues();
+				   InstanceValue iv = (InstanceValue) vsList.get(0);
+				   if (sl.getOwningInstance().equals(iv.getInstance())) {
+                      return isTransmissionWithSequenceID(slot0, slot1, connectorList, stName);
+					  
+				   }
+			   } else if (slot1.getDefiningFeature().equals(sl.getDefiningFeature())) {
+				   List<ValueSpecification> vsList = slot1.getValues();
+				   InstanceValue iv = (InstanceValue) vsList.get(0);
+				   if (sl.getOwningInstance().equals(iv.getInstance())) {
+					   return isTransmissionWithSequenceID(slot0, slot1, connectorList, stName);
+				   }
+			   }
+		   }
+		   return false;	   
+	}
+	
+	public Boolean isTransmissionWithSequenceID(Slot slot0, Slot slot1, List<Connector> connectorList, String stName) {
+		// assessing whether the connector has a "TransmissionWithProtocol" stereotype on it
+		
+		List<ConnectorEnd> ctEndList = null;
+		
+		for (int i=0; i < connectorList.size(); i++) {
+			ctEndList = connectorList.get(i).getEnds();
+			ConnectorEnd ce0 = ctEndList.get(0);
+			ConnectorEnd ce1 = ctEndList.get(1);
+			
+			if ((ce0.getRole().equals(slot0.getDefiningFeature()) || ce1.getRole().equals(slot0.getDefiningFeature())) 
+			    &&
+			    (ce0.getRole().equals(slot1.getDefiningFeature()) || ce1.getRole().equals(slot1.getDefiningFeature()))) {
+				
+				Stereotype st = connectorList.get(i).getAppliedStereotype(stName);
+		        if (st == null) {
+		        	return false;
+		        } else {
+		        	TransmissionWithProtocol twp = (TransmissionWithProtocol) connectorList.get(i).getStereotypeApplication(st);
+		        	return twp.isUseSeqID();
+		        }
+			}
+		}
+		return false;
+	}
+	
+	public String getCRClib(Slot sl, List<InstanceSpecification> connectorInstList, 
+			List<Connector> connectorList, String stName) {
+
+		// Check that definingFeature and owningInstance of the slot are matching
+
+		for (int i=0; i<connectorInstList.size(); i++) {
+			List<Slot> slotList = connectorInstList.get(i).getSlots();
+
+			// 2 slots are included in the instance of the connector.
+			Slot slot0 = slotList.get(0);
+			Slot slot1 = slotList.get(1);
+
+			if (slot0.getDefiningFeature().equals(sl.getDefiningFeature())) {
+				List<ValueSpecification> vsList = slot0.getValues();
+				InstanceValue iv = (InstanceValue) vsList.get(0);
+				if (sl.getOwningInstance().equals(iv.getInstance())) {
+					return getTransmissionWithCRC(slot0, slot1, connectorList, stName);
+
+				}
+			} else if (slot1.getDefiningFeature().equals(sl.getDefiningFeature())) {
+				List<ValueSpecification> vsList = slot1.getValues();
+				InstanceValue iv = (InstanceValue) vsList.get(0);
+				if (sl.getOwningInstance().equals(iv.getInstance())) {
+					return getTransmissionWithCRC(slot0, slot1, connectorList, stName);
+				}
+			}
+		}
+		return "";	   
+	}
+
+	public String getTransmissionWithCRC(Slot slot0, Slot slot1, List<Connector> connectorList, String stName) {
+		// assessing whether the connector has a "TransmissionWithProtocol" stereotype on it
+		
+		List<ConnectorEnd> ctEndList = null;
+		
+		for (int i=0; i < connectorList.size(); i++) {
+			ctEndList = connectorList.get(i).getEnds();
+			ConnectorEnd ce0 = ctEndList.get(0);
+			ConnectorEnd ce1 = ctEndList.get(1);
+			
+			if ((ce0.getRole().equals(slot0.getDefiningFeature()) || ce1.getRole().equals(slot0.getDefiningFeature())) 
+			    &&
+			    (ce0.getRole().equals(slot1.getDefiningFeature()) || ce1.getRole().equals(slot1.getDefiningFeature()))) {
+				
+				Stereotype st = connectorList.get(i).getAppliedStereotype(stName);
+		        if (st == null) {
+		        	return "";
+		        } else {
+		        	TransmissionWithProtocol twp = (TransmissionWithProtocol) connectorList.get(i).getStereotypeApplication(st);
+		        	return twp.getCRC();
+		        }
+			}
+		}
+		return "";
+	}
+	
+	public String getDocumentation(NamedElement elem){
+		String docString = "";
+		EList<Comment> comments = elem.getOwnedComments();
+		for (Comment comment : comments) {
+			Stereotype documentation = comment.getAppliedStereotype(DOCSTEREO);
+			if(documentation != null){
+				docString =  comment.getBody();
+			}
+		}	
+		String commented = "";
+		Scanner scanner = new Scanner(docString);
+		while (scanner.hasNextLine()) {
+			String line = scanner.nextLine();
+			commented += ("-- " + line + System.getProperty("line.separator"));
+		}
+		return commented;		
+	}
+}
diff --git a/plugins/org.polarsys.chess.codegen.ada.singlenode/src/org/polarsys/chess/codegen/ada/singlenode/transformations/AcceleoCodeGen.java b/plugins/org.polarsys.chess.codegen.ada.singlenode/src/org/polarsys/chess/codegen/ada/singlenode/transformations/AcceleoCodeGen.java
new file mode 100644
index 000000000..9e5e33d21
--- /dev/null
+++ b/plugins/org.polarsys.chess.codegen.ada.singlenode/src/org/polarsys/chess/codegen/ada/singlenode/transformations/AcceleoCodeGen.java
@@ -0,0 +1,153 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova.
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Alessandro Zovi
+ *
+ *****************************************************************************/
+package org.polarsys.chess.codegen.ada.singlenode.transformations;
+
+import static org.polarsys.chess.core.util.CHESSProjectSupport.printlnToCHESSConsole;
+
+import java.io.IOException;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.Enumeration;
+import java.util.List;
+
+import org.eclipse.core.resources.IContainer;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.emf.common.util.BasicMonitor;
+import org.eclipse.emf.common.util.URI;
+import org.osgi.framework.Bundle;
+
+
+/**
+ * Main entry point of the 'Code gen' generation module.
+ */
+public class AcceleoCodeGen {
+
+	/**
+	 * The model URI.
+	 */
+	private URI modelURI;
+
+	/**
+	 * The output folder.
+	 */
+	private IContainer targetFolder;
+
+	/**
+	 * The other arguments.
+	 */
+	List<? extends Object> arguments;
+
+	/**
+	 * Constructor.
+	 * 
+	 * @param modelURI
+	 *            is the URI of the model.
+	 * @param targetFolder
+	 *            is the output folder
+	 * @param arguments
+	 *            are the other arguments
+	 * @throws IOException
+	 *             Thrown when the output cannot be saved.
+	 * @generated
+	 */
+	public AcceleoCodeGen(URI modelURI, IContainer targetFolder, List<? extends Object> arguments) {
+		this.modelURI = modelURI;
+		this.targetFolder = targetFolder;
+		this.arguments = arguments;
+	}
+
+	/**
+	 * Launches the generation.
+	 *
+	 * @param monitor
+	 *            This will be used to display progress information to the user.
+	 * @throws IOException
+	 *             Thrown when the output cannot be saved.
+	 * @generated
+	 */
+	public void doGenerate(IProgressMonitor monitor) throws IOException {
+		if (!targetFolder.getLocation().toFile().exists()) {
+			targetFolder.getLocation().toFile().mkdirs();
+		}
+		monitor.subTask("Loading...");
+
+		org.polarsys.chess.codegen.ada.singlenode.main.GenerateInfrastructure gen1 = new org.polarsys.chess.codegen.ada.singlenode.main.GenerateInfrastructure(modelURI, targetFolder.getLocation().toFile(), arguments);
+		monitor.worked(1);
+		String generationID = org.eclipse.acceleo.engine.utils.AcceleoLaunchingUtil.computeUIProjectID(org.polarsys.chess.codegen.ada.singlenode.Activator.PLUGIN_ID/*"org.polarsys.chess.codegen.ada.singlenode"*/, org.polarsys.chess.codegen.ada.singlenode.main.GenerateInfrastructure.class.getName()/*"org.polarsys.chess.codegen.ada.singlenode.main.GenerateInfrastructure"*/, modelURI.toString(), targetFolder.getFullPath().toString(), new ArrayList<String>());
+		gen1.setGenerationID(generationID);
+		gen1.doGenerate(BasicMonitor.toMonitor(monitor));
+	}
+	
+	/**
+	 * Finds the template in the plug-in. Returns the template plug-in URI.
+	 * 
+	 * @param bundleID
+	 *            is the plug-in ID
+	 * @param relativePath
+	 *            is the relative path of the template in the plug-in
+	 * @return the template URI
+	 * @throws IOException
+	 * @generated
+	 */
+	@SuppressWarnings("unused")
+	private URI getTemplateURI(final String bundleID, final IPath relativePath) throws IOException {
+		Bundle bundle = Platform.getBundle(bundleID);
+		if (bundle == null) {
+			// no need to go any further
+			return URI.createPlatformResourceURI(new Path(bundleID).append(relativePath).toString(), false);
+		}
+		URL url = bundle.getEntry(relativePath.toString());
+		if (url == null && relativePath.segmentCount() > 1) {
+			Enumeration<URL> entries = bundle.findEntries("/", "*.emtl", true);
+			if (entries != null) {
+				String[] segmentsRelativePath = relativePath.segments();
+				while (url == null && entries.hasMoreElements()) {
+					URL entry = entries.nextElement();
+					IPath path = new Path(entry.getPath());
+					if (path.segmentCount() > relativePath.segmentCount()) {
+						path = path.removeFirstSegments(path.segmentCount() - relativePath.segmentCount());
+					}
+					String[] segmentsPath = path.segments();
+					boolean equals = segmentsPath.length == segmentsRelativePath.length;
+					for (int i = 0; equals && i < segmentsPath.length; i++) {
+						equals = segmentsPath[i].equals(segmentsRelativePath[i]);
+					}
+					if (equals) {
+						url = bundle.getEntry(entry.getPath());
+					}
+				}
+			}
+		}
+		URI result;
+		if (url != null) {
+			result = URI.createPlatformPluginURI(new Path(bundleID).append(new Path(url.getPath())).toString(), false);
+		} else {
+			result = URI.createPlatformResourceURI(new Path(bundleID).append(relativePath).toString(), false);
+		}
+		return result;
+	}
+	
+	public static void runCodegen(IFile model, IContainer target, IProgressMonitor monitor) throws Exception {
+		URI modelURI = URI.createPlatformResourceURI(model.getFullPath().toString(), true);
+		AcceleoCodeGen generator = new AcceleoCodeGen(modelURI, target, new ArrayList<String>());
+		printlnToCHESSConsole("*** CHESS Ada infrastructural code generation   ***");
+		generator.doGenerate(monitor);
+		printlnToCHESSConsole("*** End of CHESS Ada infrastructural code generation   ***");
+	}
+
+}
diff --git a/plugins/org.polarsys.chess.codegen.ada.singlenode/src/org/polarsys/chess/codegen/ada/singlenode/transformations/Transformation.java b/plugins/org.polarsys.chess.codegen.ada.singlenode/src/org/polarsys/chess/codegen/ada/singlenode/transformations/Transformation.java
new file mode 100644
index 000000000..68904b5be
--- /dev/null
+++ b/plugins/org.polarsys.chess.codegen.ada.singlenode/src/org/polarsys/chess/codegen/ada/singlenode/transformations/Transformation.java
@@ -0,0 +1,51 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova.
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Alessandro Zovi
+ *
+ *****************************************************************************/
+
+package org.polarsys.chess.codegen.ada.singlenode.transformations;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IFolder;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.m2m.internal.qvt.oml.emf.util.ModelContent;
+import org.eclipse.papyrus.editor.PapyrusMultiDiagramEditor;
+import org.eclipse.uml2.uml.Model;
+import org.polarsys.chess.core.util.CHESSProjectSupport;
+import org.polarsys.chess.m2m.TransUtil;
+
+@SuppressWarnings("restriction")
+public class Transformation {
+	
+	
+	public static void performCodeGeneration(final PapyrusMultiDiagramEditor editor, IFile model, IProgressMonitor monitor) throws Exception {
+
+		ModelContent mc = TransUtil.loadModel(model);
+		final Model mi = (Model) mc.getContent().get(0);
+		
+		checkTransformationConditions(mi);
+
+		String codeGenDir = TransUtil.CODEGEN_DIR + "_singlenode_" + mi.getName();
+
+		IFolder srcDir = model.getProject().getFolder(codeGenDir);
+		
+		CHESSProjectSupport.bundleToProjectCopy(org.polarsys.chess.codegen.ada.singlenode.Activator.PLUGIN_ID, org.polarsys.chess.codegen.ada.singlenode.Activator.getDefault(), "src-lib", model.getProject(), codeGenDir, false);
+
+  		CHESSProjectSupport.createFolder(model.getProject().getFolder(codeGenDir + "/obj"));
+
+		AcceleoCodeGen.runCodegen(model/*Copy*/, srcDir, monitor);
+	}
+
+	private static void checkTransformationConditions(Model model)  throws Exception  {
+		TransformationConditions.check(model);
+	}
+}
\ No newline at end of file
diff --git a/plugins/org.polarsys.chess.codegen.ada.singlenode/src/org/polarsys/chess/codegen/ada/singlenode/transformations/TransformationConditions.java b/plugins/org.polarsys.chess.codegen.ada.singlenode/src/org/polarsys/chess/codegen/ada/singlenode/transformations/TransformationConditions.java
new file mode 100644
index 000000000..2651c07bd
--- /dev/null
+++ b/plugins/org.polarsys.chess.codegen.ada.singlenode/src/org/polarsys/chess/codegen/ada/singlenode/transformations/TransformationConditions.java
@@ -0,0 +1,49 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova.
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Alessandro Zovi
+ *
+ *****************************************************************************/
+package org.polarsys.chess.codegen.ada.singlenode.transformations;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.InstanceSpecification;
+import org.eclipse.uml2.uml.Model;
+import org.polarsys.chess.codegen.ada.singlenode.service.UML2Service;
+
+public class TransformationConditions {
+
+	public static void check(Model model) throws Exception {
+		//if the model is single node, then proceed
+		//else stop the generation
+		UML2Service service = new UML2Service();
+		boolean r = service.isSingleNodeSystem(getAllInstanceSpecification(model), "CHESS::Predictability::DeploymentConfiguration::HardwareBaseline::CH_HwProcessor");
+		if (!r)
+			throw new Exception("The code generation supports only single node system: the system must not be distributed.");
+	}
+
+	private static List<InstanceSpecification> getAllInstanceSpecification(Model model) {
+		//TODO rewrite query: very inefficient
+		List<InstanceSpecification> l = new ArrayList<InstanceSpecification>();
+		for (Element e : model.allOwnedElements()) {
+			if (e instanceof InstanceSpecification) {
+				InstanceSpecification is = (InstanceSpecification) e;
+				l.add(is);
+			}
+		} 
+		return l;
+	}
+
+	
+	
+}
diff --git a/plugins/org.polarsys.chess.codegen.ada.singlenode/tasks/generateInfrastructure.xml b/plugins/org.polarsys.chess.codegen.ada.singlenode/tasks/generateInfrastructure.xml
new file mode 100644
index 000000000..2609e2b04
--- /dev/null
+++ b/plugins/org.polarsys.chess.codegen.ada.singlenode/tasks/generateInfrastructure.xml
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project default="generateInfrastructure" name="org.polarsys.chess.codegen.ada.singlenode">
+    <property name="ECLIPSE_HOME" value="../../../eclipse"/>
+    <property name="ECLIPSE_WORKSPACE" value="../.."/>
+
+    <!-- The classpath with only the dependencies used by the project -->
+    <path id="org.polarsys.chess.codegen.ada.singlenode.libraryclasspath">
+        <pathelement location="${ECLIPSE_WORKSPACE}/org.polarsys.chess.codegen.ada.singlenode/bin"/>
+        <pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.core.runtime_3.10.0.v20140318-2214.jar"/>
+        <pathelement location="${ECLIPSE_HOME}/plugins/javax.annotation_1.2.0.v201401042248.jar"/>
+        <pathelement location="${ECLIPSE_HOME}/plugins/javax.inject_1.0.0.v20091030.jar"/>
+        <pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.osgi_3.10.0.v20140606-1445.jar"/>
+        <pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.osgi.compatibility.state_1.0.0.v20140403-1907.jar"/>
+        <pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.equinox.common_3.6.200.v20130402-1505.jar"/>
+        <pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.core.jobs_3.6.0.v20140424-0053.jar"/>
+        <pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.core.runtime.compatibility.registry_3.5.300.v20140128-0851/runtime_registry_compatibility.jar"/>
+        <pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.equinox.registry_3.5.400.v20140428-1507.jar"/>
+        <pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.equinox.preferences_3.5.200.v20140224-1527.jar"/>
+        <pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.core.contenttype_3.4.200.v20140207-1251.jar"/>
+        <pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.equinox.app_1.3.200.v20130910-1609.jar"/>
+        <pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.uml2.uml_5.0.0.v20140602-0749.jar"/>
+        <pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.emf.ecore_2.10.1.v20140901-1043.jar"/>
+        <pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.emf.common_2.10.1.v20140901-1043.jar"/>
+        <pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.emf.ecore.xmi_2.10.1.v20140901-1043.jar"/>
+        <pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.uml2.common_2.0.0.v20140602-0749.jar"/>
+        <pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.uml2.types_2.0.0.v20140602-0749.jar"/>
+        <pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.emf.mapping.ecore2xml_2.8.0.v20140901-1055.jar"/>
+        <pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.ocl_3.4.0.v20140524-1358.jar"/>
+        <pathelement location="${ECLIPSE_HOME}/plugins/lpg.runtime.java_2.0.17.v201004271640.jar"/>
+        <pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.ocl.common_1.2.0.v20140528-1458.jar"/>
+        <pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.ocl.ecore_3.3.100.v20140524-1358.jar"/>
+        <pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.acceleo.common_3.5.0.201406101309.jar"/>
+        <pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.acceleo.parser_3.5.0.201406101309.jar"/>
+        <pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.acceleo.model_3.5.0.201406101309.jar"/>
+        <pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.acceleo.profiler_3.5.0.201406101309.jar"/>
+        <pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.acceleo.engine_3.5.0.201406101309.jar"/>
+        <pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.emf.codegen.ecore_2.10.1.v20140901-1055.jar"/>
+        <pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.emf.codegen_2.10.0.v20140901-1055.jar"/>
+        <pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.papyrus.marte.static.profile_1.0.0.v201406250859.jar"/>
+        <pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.core.commands_3.6.100.v20140528-1422.jar"/>
+        <pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.core.resources_3.9.0.v20140514-1307.jar"/>
+        <pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.papyrus.infra.core_1.0.0.v201406111317.jar"/>
+        <pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.papyrus.infra.core.sasheditor_1.0.0.v201406111317.jar"/>
+        <pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.papyrus.infra.core.sasheditor.di_1.0.0.v201406111317.jar"/>
+        <pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.papyrus.editor_1.0.0.v201406111317.jar"/>
+        <pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.m2m.qvt.oml.common_3.4.0.v20140306-0649.jar"/>
+        <pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.m2m.qvt.oml.emf.util_3.4.0.v20140306-0718.jar"/>
+        <pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.ui_3.106.0.v20140519-0906.jar"/>
+        <pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.swt_3.103.0.v20140605-2008.jar"/>
+        <pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.swt.win32.win32.x86_64_3.103.0.v20140605-2012.jar"/>
+        <pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.jface_3.10.0.v20140604-0740.jar"/>
+        <pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.ui.workbench_3.106.0.v20140530-0732.jar"/>
+        <pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.e4.ui.workbench3_0.12.0.v20140227-2118.jar"/>
+        <pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.ui.ide_3.10.0.v20140521-1937.jar"/>
+        <pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.papyrus.sysml_1.0.0.v201406111317.jar"/>
+        <pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.uml2.uml.profile.standard_1.0.0.v20140602-0749.jar"/>
+        <pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.ui.views_3.7.0.v20140408-0703.jar"/>
+    </path>
+
+    <path id="org.polarsys.chess.codegen.ada.singlenode.classpath">
+        <path refid="org.polarsys.chess.codegen.ada.singlenode.libraryclasspath"/>
+    </path>
+
+    <!-- The classpath with only the jars available in the plugin folder of Eclipse -->
+    <path id="org.polarsys.chess.codegen.ada.singlenode.libraryclasspath.alljars">
+        <pathelement location="../org.polarsys.chess.codegen.ada.singlenode/bin"/>
+        <fileset dir="${ECLIPSE_HOME}/plugins/" includes="*.jar"/>
+    </path>
+
+    <path id="org.polarsys.chess.codegen.ada.singlenode.classpath.alljars">
+        <path refid="org.polarsys.chess.codegen.ada.singlenode.libraryclasspath.alljars"/>
+    </path>
+
+    <!-- The default task with the jars used by this project -->
+    <target name="generateInfrastructure">
+        <java classname="org.polarsys.chess.codegen.ada.singlenode.main.GenerateInfrastructure" classpathref="org.polarsys.chess.codegen.ada.singlenode.classpath">
+            <arg value="${model}"/>
+            <arg value="${target}"/>
+        </java>
+    </target>
+
+    <!--
+        In case of problem you can also try with all the jar available in your Eclipse
+        Keep in mind that having two versions of the same jar can create problems
+    -->
+    <target name="generateInfrastructure.alljars">
+        <java classname="org.polarsys.chess.codegen.ada.singlenode.main.GenerateInfrastructure" classpathref="org.polarsys.chess.codegen.ada.singlenode.classpath">
+            <arg value="${model}"/>
+            <arg value="${target}"/>
+        </java>
+    </target>
+</project>
diff --git a/plugins/org.polarsys.chess.codegen.ada.singlenode/tasks/generateInfrastructureTarget.xml b/plugins/org.polarsys.chess.codegen.ada.singlenode/tasks/generateInfrastructureTarget.xml
new file mode 100644
index 000000000..13ff157d7
--- /dev/null
+++ b/plugins/org.polarsys.chess.codegen.ada.singlenode/tasks/generateInfrastructureTarget.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!-- Place this file in the target project and call it with "External Tools > Run As > Ant Build" -->
+<!-- You have to change the MODEL and the TARGET values -->
+
+<project basedir="." default="generateInfrastructureSample" name="org.polarsys.chess.codegen.ada.singlenodeSample">
+	<import file="../../org.polarsys.chess.codegen.ada.singlenode/tasks/generateInfrastructure.xml"/>
+
+    <!-- Change the values of MODEL and TARGET to point to your model and output folder -->
+	<property name="MODEL" value="${basedir}/model/file.xmi"/>
+	<property name="TARGET" value="${basedir}/src-gen"/>
+
+	<target name="generateInfrastructureSample" description="Generate files in 'TARGET'">
+		<antcall target="generateInfrastructure" >
+			<param name="model" value="${MODEL}"/>
+			<param name="target" value="${TARGET}"/>
+		</antcall>
+	</target>
+</project>
diff --git a/plugins/org.polarsys.chess.commands/.classpath b/plugins/org.polarsys.chess.commands/.classpath
new file mode 100644
index 000000000..8a8f1668c
--- /dev/null
+++ b/plugins/org.polarsys.chess.commands/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/plugins/org.polarsys.chess.commands/.gitignore b/plugins/org.polarsys.chess.commands/.gitignore
new file mode 100644
index 000000000..ae3c17260
--- /dev/null
+++ b/plugins/org.polarsys.chess.commands/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/plugins/org.polarsys.chess.commands/.project b/plugins/org.polarsys.chess.commands/.project
new file mode 100644
index 000000000..6b978f3fe
--- /dev/null
+++ b/plugins/org.polarsys.chess.commands/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.polarsys.chess.commands</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
diff --git a/plugins/org.polarsys.chess.commands/.settings/org.eclipse.jdt.core.prefs b/plugins/org.polarsys.chess.commands/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 000000000..6fefef79d
--- /dev/null
+++ b/plugins/org.polarsys.chess.commands/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,8 @@
+#Tue Oct 05 10:28:34 CEST 2010
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.6
diff --git a/plugins/org.polarsys.chess.commands/META-INF/MANIFEST.MF b/plugins/org.polarsys.chess.commands/META-INF/MANIFEST.MF
new file mode 100644
index 000000000..0855c0717
--- /dev/null
+++ b/plugins/org.polarsys.chess.commands/META-INF/MANIFEST.MF
@@ -0,0 +1,37 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: CHESS Commands plugin
+Bundle-SymbolicName: org.polarsys.chess.commands;singleton:=true
+Bundle-Version: 0.9.2.qualifier
+Bundle-Activator: org.polarsys.chess.commands.Activator
+Bundle-Vendor: Intecs
+Require-Bundle: org.eclipse.ui.ide;bundle-version="3.10.0",
+ org.eclipse.core.resources,
+ org.eclipse.core.commands,
+ org.polarsys.chess.core;bundle-version="0.9.2",
+ org.eclipse.core.runtime;bundle-version="3.10.0",
+ org.eclipse.swt,
+ org.eclipse.jface,
+ org.eclipse.ui.workbench,
+ org.eclipse.m2m.atl.core,
+ org.eclipse.m2m.atl.core.emf,
+ org.eclipse.m2m.atl.engine.emfvm.launch,
+ org.eclipse.papyrus.marte.static.profile;bundle-version="1.0.0",
+ org.polarsys.chess.chessmlprofile;bundle-version="1.0.0",
+ org.eclipse.uml2.uml;bundle-version="5.0.0",
+ org.eclipse.emf.ecore,
+ org.eclipse.papyrus.infra.core,
+ org.eclipse.gmf.runtime.diagram.ui,
+ org.eclipse.papyrus.uml.diagram.clazz,
+ org.eclipse.papyrus.uml.diagram.composite,
+ org.eclipse.papyrus.infra.gmfdiag.common;bundle-version="1.0.0",
+ org.eclipse.papyrus.uml.diagram.common,
+ org.eclipse.papyrus.infra.widgets.toolbox,
+ org.eclipse.papyrus.infra.core.log,
+ org.eclipse.papyrus.editor;bundle-version="1.0.0",
+ org.eclipse.papyrus.sysml.diagram.common,
+ org.eclipse.papyrus.sysml.diagram.internalblock;bundle-version="1.0.0",
+ org.polarsys.chess.service
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Bundle-ActivationPolicy: lazy
+Export-Package: org.polarsys.chess.commands
diff --git a/plugins/org.polarsys.chess.commands/about.html b/plugins/org.polarsys.chess.commands/about.html
new file mode 100644
index 000000000..209103075
--- /dev/null
+++ b/plugins/org.polarsys.chess.commands/about.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+ 
+<p>November 14, 2008</p>	
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
+being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content.  Check the Redistributor's license that was 
+provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
+
+</body>
+</html>
\ No newline at end of file
diff --git a/plugins/org.polarsys.chess.commands/build.properties b/plugins/org.polarsys.chess.commands/build.properties
new file mode 100644
index 000000000..53e0aaf64
--- /dev/null
+++ b/plugins/org.polarsys.chess.commands/build.properties
@@ -0,0 +1,10 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+               .,\
+               plugin.xml,\
+               build.properties,\
+               transformations/,\
+               metamodels/,\
+               about.html,\
+               resources/
diff --git a/plugins/org.polarsys.chess.commands/plugin.xml b/plugins/org.polarsys.chess.commands/plugin.xml
new file mode 100644
index 000000000..462e5a746
--- /dev/null
+++ b/plugins/org.polarsys.chess.commands/plugin.xml
@@ -0,0 +1,248 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<plugin>
+            
+   <extension
+        id="Build Instance Command"
+        point="org.eclipse.ui.commands">
+      <command
+            category="it.unipd.chess.category"
+            categoryId="it.unipd.chess.commands.category"
+            id="org.chess.BuildInstanceCommandID"
+            name="buildInstanceCommand">
+      </command>
+      <command
+         category="it.unipd.chess.category"
+         categoryId="it.unipd.chess.commands.category"
+         id="org.chess.ShowRTCommandID"
+         name="showRTCommand">
+      </command>
+      <command
+         category="it.unipd.chess.category"
+         categoryId="it.unipd.chess.commands.category"
+         id="org.chess.HideRTCommandID"
+         name="hideRTCommand">
+      </command>
+      
+      <command
+         category="it.unipd.chess.category"
+         categoryId="it.unipd.chess.commands.category"
+         id="org.chess.Filters"
+         name="Filter">
+      </command>
+   </extension>
+         
+	<extension
+         point="org.eclipse.ui.menus">
+      <menuContribution
+            locationURI="popup:org.eclipse.gmf.runtime.diagram.ui.DiagramEditorContextMenu?after=filtersMenu">
+         <menu
+               icon="resources/CHESSicon.gif"
+               id="chess.popup.filters.id"
+               label="Filters">
+            <menu
+                  id="CHRtSpecificationPopup_ID"
+                  label="CHRtSpecification">
+               <command
+                     commandId="org.chess.HideRTCommandID"
+                     label="Hide"
+                     style="pulldown">
+                  <visibleWhen
+                  checkEnabled="false">
+                  <or> 
+                  	<with
+                           variable="activeEditorInput">
+                        <adapt
+                              type="org.eclipse.core.resources.IResource">
+                           <test
+                                 property="org.eclipse.core.resources.projectNature"
+                                 value="org.polarsys.chess.CHESSNature">
+                           </test>
+                        </adapt>
+                     </with>
+                     <with
+                     variable="activeEditorId">
+                     <equals
+                           value="org.eclipse.uml2.uml.editor.presentation.UMLEditorID">
+                     </equals> </with>
+                  </or>
+              
+            </visibleWhen>
+               </command>
+               <command
+                     commandId="org.chess.ShowRTCommandID"
+                     label="Show"
+                     style="push">
+                  <visibleWhen
+                  checkEnabled="false">
+                  <or> 
+                  	<with
+                           variable="activeEditorInput">
+                        <adapt
+                              type="org.eclipse.core.resources.IResource">
+                           <test
+                                 property="org.eclipse.core.resources.projectNature"
+                                 value="org.polarsys.chess.CHESSNature">
+                           </test>
+                        </adapt>
+                     </with>
+                     <with
+                     variable="activeEditorId">
+                     <equals
+                           value="org.eclipse.uml2.uml.editor.presentation.UMLEditorID">
+                     </equals> </with>
+                  </or>
+              
+            </visibleWhen>
+               </command>
+            </menu>
+         </menu>
+      </menuContribution>
+      <menuContribution
+            allPopups="false"
+            locationURI="menu:org.eclipse.ui.main.menu">
+         <menu
+               id="org.polarsys.chess.mainMenu"
+               label="CHESS"
+               mnemonic="E">
+            <command
+                  commandId="org.chess.BuildInstanceCommandID"
+                  label="Build Instances"
+                  style="push">
+               <visibleWhen
+                     checkEnabled="false">
+                  <or>
+                     <with
+                           variable="activeEditorId">
+                        <equals
+                              value="org.eclipse.uml2.uml.editor.presentation.UMLEditorID">
+                        </equals>
+                     </with>
+                     <with
+                           variable="activeEditorInput">
+                        <adapt
+                              type="org.eclipse.core.resources.IResource">
+                           <test
+                                 property="org.eclipse.core.resources.projectNature"
+                                 value="org.polarsys.chess.CHESSNature">
+                           </test>
+                        </adapt>
+                     </with>
+                  </or>
+               </visibleWhen>
+            </command>
+         </menu>
+      </menuContribution>
+      <menuContribution
+            allPopups="false"
+            locationURI="menu:org.polarsys.chess.mainMenu">
+         <menu
+               id="chess.menu.filters.id"
+               label="Filters">
+            <menu
+                  id="CHRtSpecification_ID"
+                  label="CHRtSpecification">
+               <command
+                     commandId="org.chess.HideRTCommandID"
+                     label="Hide"
+                     style="pulldown">
+                  <visibleWhen
+                        checkEnabled="false">
+                     <or>
+                        <with
+                              variable="activeEditorInput">
+                           <adapt
+                                 type="org.eclipse.core.resources.IResource">
+                              <test
+                                    property="org.eclipse.core.resources.projectNature"
+                                    value="org.polarsys.chess.CHESSNature">
+                              </test>
+                           </adapt>
+                        </with>
+                        <with
+                              variable="activeEditorId">
+                           <equals
+                                 value="org.eclipse.uml2.uml.editor.presentation.UMLEditorID">
+                           </equals>
+                        </with>
+                     </or>
+                  </visibleWhen>
+               </command>
+               <command
+                     commandId="org.chess.ShowRTCommandID"
+                     label="Show"
+                     style="push">
+                  <visibleWhen
+                        checkEnabled="false">
+                     <or>
+                        <with
+                              variable="activeEditorInput">
+                           <adapt
+                                 type="org.eclipse.core.resources.IResource">
+                              <test
+                                    property="org.eclipse.core.resources.projectNature"
+                                    value="org.polarsys.chess.CHESSNature">
+                              </test>
+                           </adapt>
+                        </with>
+                        <with
+                              variable="activeEditorId">
+                           <equals
+                                 value="org.eclipse.uml2.uml.editor.presentation.UMLEditorID">
+                           </equals>
+                        </with>
+                     </or>
+                  </visibleWhen>
+               </command>
+            </menu>
+            <visibleWhen
+                  checkEnabled="false">
+               <or>
+                  <with
+                        variable="activeEditorInput">
+                     <adapt
+                           type="org.eclipse.core.resources.IResource">
+                        <test
+                              property="org.eclipse.core.resources.projectNature"
+                              value="org.polarsys.chess.CHESSNature">
+                        </test>
+                     </adapt>
+                  </with>
+                  <with
+                        variable="activeEditorId">
+                     <equals
+                           value="org.eclipse.uml2.uml.editor.presentation.UMLEditorID">
+                     </equals>
+                  </with>
+               </or>
+            </visibleWhen>
+         </menu>
+      </menuContribution>
+
+   </extension>   
+	   
+	   
+	
+	   
+
+   <extension
+         point="org.eclipse.ui.handlers">
+      <handler
+            class="org.polarsys.chess.commands.BuildInstanceCommand"
+            commandId="org.chess.BuildInstanceCommandID">
+      </handler>
+      
+      <handler
+            class="org.polarsys.chess.commands.ShowRTInformationCommand"
+            commandId="org.chess.ShowRTCommandID">
+      </handler>
+      
+      <handler
+            class="org.polarsys.chess.commands.HideRTInformationCommand"
+            commandId="org.chess.HideRTCommandID">
+      </handler>
+     
+      
+   </extension> 
+    
+</plugin>
diff --git a/plugins/org.polarsys.chess.commands/resources/CHESSicon.gif b/plugins/org.polarsys.chess.commands/resources/CHESSicon.gif
new file mode 100644
index 0000000000000000000000000000000000000000..1659c3fec7f988789d2ce4d6a6c770eab90089bf
GIT binary patch
literal 612
zcmZ?wbhEHb6krfwI9AHQ!_LXa#Vx?YE6Bquz{@AZ$1lP!ASNU%AtEXzCN3>5AtNCv
zD=8%>C9NPUrz9t@sj8-}uBok|VW6XHq^ECeU}$P&WMOJ*X=d){?GqXl6dDwq5Eqx7
znfcyV`n|twVSav5enC+|;fG+Q4<RZgg+(7iR6m5Oeh5?h5T^biOyfhi`iF4M@{-bz
z5gH#OG%L%?KSt|)j5qq2X!<eP@?(l+V}1R{RO_~umXEovpYq&3<$H8>bar=j_4oEo
zoG@Y1goz6mELgH=@$#k1RxV$$Vcoh7>(+1Duwm22O`A7u`o5%l>y|Cswr>5ta?;Kn
zJASU7ylwa1-|MFDK6v=xfdfCbFZr<ph?X8de(dD&6F>K?{<&|>&wXppojv#K<nCYR
z4&J(X^Uj?+_wV0-{OHk(7cahi{`~FRx9{J-|M>Ca=g*)2etiG)`}e=!zy1Kh-+zCB
z;2#A1|MUO<-~a#r{U;0*f3h%gG1N2YFaQB4P8iq^Hk39s7qm9Fca&xnl%{ny^#pS<
z+gmX4g_rg;do(2&G^r*xxi_VYGD!Havna|kar%icif8pCHAR>;>BclA&N}GoDJkS&
zD<JLdb}+?BfS1#*G%qj5hJ#noCAHL1n1`QLrb&v8pIgj%LTP}~f#!IHpo2ZJR)NL&
zt+~bi)^R3F7k+%`$|dUi<V;{v(ot@H%WD@_2DcvN6xR%x;qkD^g-5qkjcv11^O0_G
b<*XdewhqCmlIEK>)P$(>S-UhcFjxZs;b|(N

literal 0
HcmV?d00001

diff --git a/plugins/org.polarsys.chess.commands/src/org/polarsys/chess/commands/Activator.java b/plugins/org.polarsys.chess.commands/src/org/polarsys/chess/commands/Activator.java
new file mode 100644
index 000000000..31ace1f6d
--- /dev/null
+++ b/plugins/org.polarsys.chess.commands/src/org/polarsys/chess/commands/Activator.java
@@ -0,0 +1,60 @@
+/*******************************************************************************
+ * Copyright (c) 2011 -2014 Intecs.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *    Stefano Puri, Nicholas Pacini - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.polarsys.chess.commands;
+
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+import org.osgi.framework.BundleContext;
+
+/**
+ * The activator class controls the plug-in life cycle
+ */
+public class Activator extends AbstractUIPlugin {
+
+	// The plug-in ID
+	public static final String PLUGIN_ID = "org.polarsys.chess.commands"; //$NON-NLS-1$
+
+	// The shared instance
+	private static Activator plugin;
+	
+	/**
+	 * The constructor
+	 */
+	public Activator() {
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
+	 */
+	public void start(BundleContext context) throws Exception {
+		super.start(context);
+		plugin = this;
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
+	 */
+	public void stop(BundleContext context) throws Exception {
+		plugin = null;
+		super.stop(context);
+	}
+
+	/**
+	 * Returns the shared instance
+	 *
+	 * @return the shared instance
+	 */
+	public static Activator getDefault() {
+		return plugin;
+	}
+
+}
diff --git a/plugins/org.polarsys.chess.commands/src/org/polarsys/chess/commands/AssignCopy.java b/plugins/org.polarsys.chess.commands/src/org/polarsys/chess/commands/AssignCopy.java
new file mode 100644
index 000000000..9b8cd2a9e
--- /dev/null
+++ b/plugins/org.polarsys.chess.commands/src/org/polarsys/chess/commands/AssignCopy.java
@@ -0,0 +1,98 @@
+/*******************************************************************************
+ * Copyright (c) 2011 -2014 Intecs.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *    Stefano Puri, Nicholas Pacini - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.polarsys.chess.commands;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.InstanceSpecification;
+import org.eclipse.uml2.uml.Slot;
+import org.eclipse.uml2.uml.Stereotype;
+
+public class AssignCopy {
+	
+	private static final String ASSIGN = "MARTE::MARTE_Foundations::Alloc::Assign";
+	
+	private static EList<Element> tmp;
+	
+	private List<String> from;
+	private List<String>  to;
+
+	@SuppressWarnings("unchecked")
+	public static ArrayList<AssignCopy> toAssignCopyList(EList<Comment> list) {
+
+		ArrayList<AssignCopy> aclist = new ArrayList<AssignCopy>();
+		
+		for (int i = 0; i < list.size(); i++){
+			
+			Comment comm = list.get(i);	
+			Stereotype assign = comm.getAppliedStereotype(ASSIGN);
+			AssignCopy ac = new AssignCopy();
+			
+			List<String> fromList = new ArrayList<String>();
+			tmp = (EList<Element>) comm.getValue(assign, "from");
+			
+			for(int j = 0; j < tmp.size(); j++){
+				if(tmp.get(j) instanceof InstanceSpecification){
+					fromList.add(((InstanceSpecification) tmp.get(j)).getName());
+				} 
+				else if(tmp.get(j) instanceof Slot){
+					Slot s = (Slot) tmp.get(j);
+					String name = s.getOwningInstance().getQualifiedName() + "::" + s.getDefiningFeature().getName();
+					fromList.add(name);
+				}
+			}
+			ac.setFrom(fromList);
+			
+			List<String> toList = new ArrayList<String>();
+			tmp = (EList<Element>) comm.getValue(assign, "to");
+			
+			for(int j = 0; j < tmp.size(); j++){
+				if(tmp.get(j) instanceof InstanceSpecification){
+					toList.add(((InstanceSpecification) tmp.get(j)).getName());
+				}
+				else if(tmp.get(j) instanceof Slot){
+					Slot s = (Slot) tmp.get(j);
+					String name = s.getOwningInstance().getQualifiedName() + "::" + s.getDefiningFeature().getName();
+					toList.add(name);
+				}
+			}
+			ac.setTo(toList);
+			
+			aclist.add(ac);
+		}
+		
+		return aclist;
+	}
+	
+	public AssignCopy() {
+	}
+
+	public void setFrom(List<String> from) {
+		this.from = from;
+	}
+
+	public List<String> getFrom() {
+		return from;
+	}
+
+	public void setTo(List<String> to) {
+		this.to = to;
+	}
+
+	public List<String> getTo() {
+		return to;
+	}
+
+}
diff --git a/plugins/org.polarsys.chess.commands/src/org/polarsys/chess/commands/BuildInstanceCommand.java b/plugins/org.polarsys.chess.commands/src/org/polarsys/chess/commands/BuildInstanceCommand.java
new file mode 100644
index 000000000..234d6cd83
--- /dev/null
+++ b/plugins/org.polarsys.chess.commands/src/org/polarsys/chess/commands/BuildInstanceCommand.java
@@ -0,0 +1,856 @@
+/*******************************************************************************
+ * Copyright (c) 2011 -2014 Intecs.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *    Stefano Puri, Nicholas Pacini - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.polarsys.chess.commands;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Vector;
+
+import org.eclipse.core.commands.AbstractHandler;
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.transaction.RecordingCommand;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.gef.EditPart;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.DiagramEditPart;
+import org.eclipse.gmf.runtime.notation.Edge;
+import org.eclipse.gmf.runtime.notation.Shape;
+import org.eclipse.gmf.runtime.notation.impl.BasicCompartmentImpl;
+import org.eclipse.gmf.runtime.notation.impl.ConnectorImpl;
+import org.eclipse.gmf.runtime.notation.impl.DiagramImpl;
+import org.eclipse.gmf.runtime.notation.impl.ShapeImpl;
+import org.eclipse.papyrus.editor.PapyrusMultiDiagramEditor;
+import org.eclipse.papyrus.infra.core.Activator;
+import org.eclipse.papyrus.infra.core.services.ServiceException;
+import org.eclipse.papyrus.infra.core.services.ServicesRegistry;
+import org.eclipse.papyrus.infra.core.utils.ServiceUtils;
+import org.eclipse.papyrus.uml.diagram.common.editparts.NamedElementEditPart;
+import org.eclipse.papyrus.uml.diagram.composite.edit.parts.ClassCompositeEditPart;
+import org.eclipse.papyrus.uml.diagram.composite.edit.parts.CommentAnnotatedElementEditPart;
+import org.eclipse.papyrus.uml.diagram.composite.edit.parts.CommentEditPartCN;
+import org.eclipse.papyrus.uml.diagram.composite.edit.parts.ComponentCompositeEditPart;
+import org.eclipse.papyrus.uml.diagram.composite.edit.parts.CompositeStructureDiagramEditPart;
+import org.eclipse.papyrus.uml.diagram.composite.edit.parts.PortEditPart;
+import org.eclipse.papyrus.uml.diagram.composite.edit.parts.PropertyPartEditPartCN;
+import org.eclipse.papyrus.infra.core.sasheditor.contentprovider.IPageManager;
+import org.eclipse.papyrus.infra.core.sasheditor.editor.ISashWindowsContainer;
+import org.eclipse.papyrus.sysml.diagram.common.edit.part.BlockCompositeEditPart;
+import org.eclipse.papyrus.sysml.diagram.internalblock.edit.part.InternalBlockDiagramEditPart;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.InstanceSpecification;
+import org.eclipse.uml2.uml.InstanceValue;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.Package;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Slot;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.ValueSpecification;
+import org.polarsys.chess.core.notifications.ResourceNotification;
+import org.polarsys.chess.core.profiles.CHESSProfileManager;
+import org.polarsys.chess.core.util.uml.ResourceUtils;
+import org.polarsys.chess.core.util.uml.UMLUtils;
+import org.polarsys.chess.core.views.DiagramStatus;
+import org.polarsys.chess.core.views.ViewUtils;
+import org.polarsys.chess.service.utils.CHESSEditorUtils;
+
+
+
+public class BuildInstanceCommand extends AbstractHandler {
+	
+	private static final String ASSIGN = "MARTE::MARTE_Foundations::Alloc::Assign";
+	private static final String PLATFORM = "CHESS::Core::CHGaResourcePlatform";
+	private static ArrayList<AssignCopy> acList;
+	private static ArrayList<InstanceSpecification> instancesList = new ArrayList<InstanceSpecification>();
+	private static ArrayList<Slot> slotList =  new ArrayList<Slot>();
+	private static EList<Comment> comments = null;
+	private String warningMsg = "";
+
+	public Object execute(ExecutionEvent event) throws ExecutionException {
+		final PapyrusMultiDiagramEditor editor = CHESSEditorUtils.getCHESSEditor();
+		final DiagramStatus ds = CHESSEditorUtils.getDiagramStatus(editor);
+		if (editor == null || ds == null) 
+			return null;
+		try {
+		//PapyrusMultiDiagramEditor editor = (PapyrusMultiDiagramEditor) PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActiveEditor();
+		
+		Object temp = getEditPart();
+		
+		if (temp == null ||  ( !(temp instanceof CompositeStructureDiagramEditPart) && !(temp instanceof InternalBlockDiagramEditPart)) )
+			throw new Exception("BuildInstance command does not work on this element");
+		
+		final DiagramEditPart csd_ep = (DiagramEditPart) temp;
+		TransactionalEditingDomain editingDomain = csd_ep.getEditingDomain();
+				
+		editingDomain.getCommandStack().execute(new RecordingCommand(editingDomain) {
+			protected void doExecute() {
+					
+					
+					StringBuffer resultMsg = new StringBuffer();
+					if (buildPrototypeInstanceRestoringAssigns(editor, csd_ep, resultMsg) != null){
+						
+						ds.setUserAction(false);
+						ResourceNotification.showOk("Build Instance completed"+resultMsg);
+					}
+					else{
+						ResourceNotification.showError("Build Instance failed"+resultMsg);
+					}
+			}
+		});
+		
+		} catch (Exception e) {
+			e.printStackTrace();
+			ResourceNotification.showInfo(e.getMessage());
+			ds.setUserAction(true);
+		}
+		ds.setUserAction(true);
+		return null;
+	}
+
+	private Object getEditPart() {
+		Object ep = null;
+		try {
+				ep = CHESSEditorUtils.getDiagramGraphicalViewer().getRootEditPart().getChildren().get(0);	
+		} catch (Exception e) {
+			//Catch NPE
+			return null;
+		}
+		return ep;
+	}
+	
+	/**
+	 * Build the prototype instance starting frmo the given Composite Structure Diagram, 
+	 * saving and restoring the information 'from' 'to' available in the Assign entities
+	 * @param editor 
+	 * @param csd_ep
+	 * 
+	 * @param element the semantic element
+	 * @return the edit part of the element, null if it doesn't exist
+	 * @throws Exception 
+	 */
+	@SuppressWarnings({ "rawtypes", "unchecked" })
+	public static InstanceSpecification buildPrototypeInstanceRestoringAssigns(PapyrusMultiDiagramEditor editor, DiagramEditPart csd_ep, StringBuffer resultMsg) {
+		saveAssignAllocations(editor);
+		InstanceSpecification instance = buildPrototypeInstance(editor, csd_ep, (DiagramImpl) csd_ep.getModel(), null, null, new HashMap(), resultMsg);
+		regenerateAssignAllocations();
+		
+		return instance;
+	}
+	
+	
+	/**
+	 * Build the prototype instance starting from the given Composite Structure Diagram,
+	 * @param editor The current CHESS editor
+	 * @param csd_ep The CompositeStructureDiagramEditPart, needed for the top level diagram only
+	 * @param diagram The current diagram from which InstanceSpecifications need to be created
+	 * @param instanceRoot The InstanceSpecification which is the context of the current diagram
+	 * @param pack4instances The Package where InstanceSpecifications need to be created
+	 * @param shape2instanceMap The Map owning associations between GMF shape and UML InstanceSpecification
+	 * @return the InstanceSpecification which is the context of this diagram
+	 * @throws Exception 
+	 * @see buildPrototypeInstance(CHESSEditor editor, CompositeStructureDiagramEditPart csd_ep, StringBuffer resultMsg)
+	 */
+	@SuppressWarnings({ "rawtypes", "unchecked" })
+	private static InstanceSpecification buildPrototypeInstance(PapyrusMultiDiagramEditor editor, DiagramEditPart csd_ep, DiagramImpl diagram, InstanceSpecification instanceRoot, Package pack4instances, Map shape2instanceMap, StringBuffer warningMsg) {
+			
+		//assert diagram != null;
+		Classifier rootcomponent = (Classifier) diagram.getElement();
+		Package pack = rootcomponent.getPackage();
+		
+//		//only to test comments
+//		System.out.println("BEFORE");
+//		for (int i=0; i<comments.size(); i++){
+//			System.out.println(comments.get(i).getValue(comments.get(i).getAppliedStereotype(ASSIGN), "from").toString());
+//			System.out.println(comments.get(i).getValue(comments.get(i).getAppliedStereotype(ASSIGN), "to").toString());
+//		}
+		
+		if (instanceRoot == null){
+			//it means that this is the main invocation of the command on top of the root composite structure diagram
+			//Create instance in a dedicated package having '<component's name> + _instSpec' as default name
+			pack4instances = (Package) pack.getOwnedMember(rootcomponent.getName()+"_instSpec");
+			if (pack4instances != null){
+				//pack4instances.destroy(); reuse it, but destroy its children
+				EList<PackageableElement> elems = pack4instances.getPackagedElements();
+				int size = elems.size(); 
+				for(int i = 0; i < size; i++){
+					PackageableElement pe = elems.get(0);
+					pe.destroy();
+				}
+				instancesList.clear();
+				slotList.clear();
+				if(pack4instances.getAppliedStereotype(PLATFORM) == null){
+					CHESSProfileManager.applyCHGaResourcePlatformStereotype(pack4instances);
+				}
+			} else{
+				pack4instances = pack.createNestedPackage(rootcomponent.getName()+"_instSpec");
+				//apply "CHGaResourcePlatform" to the instance package if it was applied to the starting component
+				//if(rootcomponent.getAppliedStereotype(PLATFORM) != null){
+					CHESSProfileManager.applyCHGaResourcePlatformStereotype(pack4instances);
+				//}
+			}
+			
+			//create the root component instance
+			instanceRoot = (InstanceSpecification) pack4instances.createPackagedElement(
+		            null, UMLPackage.Literals.INSTANCE_SPECIFICATION);
+			instanceRoot.setName(rootcomponent.getName());
+			instanceRoot.getClassifiers().add(rootcomponent);
+			
+			//store instanceRoot
+			instancesList.add(instanceRoot);
+			Iterator persChilds = diagram.getPersistedChildren().iterator();
+			ShapeImpl rootshape = null;
+			rootshape = (ShapeImpl) persChilds.next(); //this is Component owner of the CSD, it owns two Shape, the one for the compartmens owns the inner Shape Properties
+			shape2instanceMap.put(rootshape, instanceRoot);
+						
+		}
+		
+		if (csd_ep != null){
+			//it means that this is the main invocation of the command on top of the root composite structure diagram
+			//Create port instances for the root instance
+			
+			List l = csd_ep.getChildren();
+			EditPart epTemp = null;
+			NamedElementEditPart compositeEP = null;
+			for (int i=0; i< l.size(); i++){
+				epTemp = (EditPart) l.get(i);
+				if (epTemp instanceof ComponentCompositeEditPart){
+					compositeEP = (ComponentCompositeEditPart) epTemp;
+					break;
+				}
+				if (epTemp instanceof ClassCompositeEditPart){
+					compositeEP = (ClassCompositeEditPart) epTemp;
+					break;
+				}
+				if (epTemp instanceof BlockCompositeEditPart){
+					compositeEP = (BlockCompositeEditPart) epTemp;
+					break;
+				}
+				
+				
+			}
+			
+			//create port instances for root instance
+			if (rootcomponent instanceof org.eclipse.uml2.uml.Class)
+				buildPortInstances((org.eclipse.uml2.uml.Class) rootcomponent, instanceRoot, (ShapeImpl) compositeEP.getModel() );
+		}
+		
+		
+		//create instanceSpecification for inner properties (properties are instantiated according to the
+		//information available in the GMF model)
+		Iterator persChilds = diagram.getPersistedChildren().iterator();
+		ShapeImpl shape = null;
+		while (persChilds.hasNext()){
+			shape = (ShapeImpl) persChilds.next(); //this is Component owner of the CSD, it owns two Shape, the one for the compartmens owns the inner Shape Properties
+			Iterator tempIter = shape.getPersistedChildren().iterator();
+			Object obj = null;
+			while (tempIter.hasNext()){
+				obj = tempIter.next();
+				if (obj instanceof BasicCompartmentImpl){
+					break;
+				}
+			}
+			Iterator firstLevelPropertiesIter = ((BasicCompartmentImpl) obj).getPersistedChildren().iterator();
+			while (firstLevelPropertiesIter.hasNext()){
+				obj = firstLevelPropertiesIter.next();
+				if (obj instanceof ShapeImpl && ((ShapeImpl)obj).getElement() instanceof Property){
+					
+				    //build instances for this property
+					InstanceSpecification childInstance = buildInstance4Property((ShapeImpl) obj, pack4instances, instanceRoot, shape2instanceMap);
+					
+					//check if instanceSpecifications has to be created starting from information stored in other diagram
+					Type type = ((Property)((ShapeImpl)obj).getElement()).getType();
+					if (type instanceof Component){// && UMLUtils.isComponentImplementation(type)){
+						//if property 'obj' is decomposed in the model but is leaf in this diagram then...
+						if (isLeafShape((ShapeImpl) obj) && isDecomposedComponent((Component)type)){
+							DiagramImpl childDiagram = getDiagram(editor, ((Property)((ShapeImpl)obj).getElement()).getType());
+							if (childDiagram != null){
+								buildPrototypeInstance(editor, null, childDiagram, childInstance, pack4instances, shape2instanceMap, warningMsg);
+							}else{
+								
+							   warningMsg.append(System.getProperty("line.separator")+"-cannot find CompositeStructureDiagram for Component "+type.getName());
+						
+							}
+						}
+					}
+					//
+				}
+				
+			}
+
+		}
+		
+		//create instance specifications for connectors
+		List listEdges = diagram.getPersistedEdges();
+		Edge tempEdge = null;
+		Shape targetShape = null;
+		Shape sourceShape = null;
+		Shape targetPropertyShape = null;
+		Shape sourcePropertyShape = null;
+		InstanceSpecification connectorInstance = null;
+		Slot sourceSlot = null;
+		Slot targetSlot = null;
+		for (int i=0; i<listEdges.size(); i++){
+			tempEdge = (Edge) listEdges.get(i);
+			sourceShape = (Shape) tempEdge.getSource();
+			targetShape = (Shape) tempEdge.getTarget();
+			if (!(sourceShape.getElement() instanceof Port && targetShape.getElement() instanceof Port))
+				continue;
+			//need to create an instance specification with two slots, one for each port
+			connectorInstance = (InstanceSpecification) pack4instances.createPackagedElement(
+		            null, UMLPackage.Literals.INSTANCE_SPECIFICATION);
+			sourceSlot = connectorInstance.createSlot();
+			targetSlot = connectorInstance.createSlot();
+			sourceSlot.setDefiningFeature((Port)sourceShape.getElement());
+			targetSlot.setDefiningFeature((Port)targetShape.getElement());
+			
+			//need to set instanceSpecification (equivalent to connector.partwithPort)
+			sourcePropertyShape = (Shape) sourceShape.eContainer();
+			InstanceSpecification inst = (InstanceSpecification) shape2instanceMap.get(sourcePropertyShape);
+			if (inst == null){
+				//check if source is actually the root of the composite structure currently addressed
+				if (sourcePropertyShape.getElement() instanceof Component){
+					//need to retrieve the InstanceSpecification
+					inst = instanceRoot;
+				}
+			}
+			InstanceValue value = (InstanceValue) sourceSlot.createValue("partWithPort", null, UMLPackage.Literals.INSTANCE_VALUE);
+			value.setInstance(inst);
+			targetPropertyShape = (Shape) targetShape.eContainer();
+			inst = (InstanceSpecification) shape2instanceMap.get(targetPropertyShape);
+			
+			if (inst == null){
+				//check if target is actually the root of the composite structure currently addressed
+				if (targetPropertyShape.getElement() instanceof Component){
+					//need to retrieve the InstanceSpecification
+					inst = instanceRoot;
+				}
+			}
+						
+			value = (InstanceValue) targetSlot.createValue("partWithPort", null, UMLPackage.Literals.INSTANCE_VALUE);
+			value.setInstance(inst);
+			
+			//if the connector is <<propagation>> then attach <<propagation>> to instance specification also
+			Connector connector = (Connector) tempEdge.getElement();
+			Stereotype origPropagation = connector.getAppliedStereotype("CHESS::Dependability::DependableComponent::Propagation");
+			if (origPropagation != null){
+				Stereotype propagation = CHESSProfileManager.applyPropagationStereotype(connectorInstance);
+				connectorInstance.setValue(propagation, "prob", connector.getValue(origPropagation, "prob"));
+				connectorInstance.setValue(propagation, "propDelay", connector.getValue(origPropagation, "propDelay"));
+				connectorInstance.setValue(propagation, "transfFunct", connector.getValue(origPropagation, "transfFunct"));
+			}			
+			
+		}	
+				
+		return instanceRoot;
+	}
+	
+	
+	@SuppressWarnings({ "unchecked", "rawtypes" })
+	public static InstanceSpecification  buildInstance4Property(ShapeImpl propertyShape, Package pack, InstanceSpecification parentInstance, Map shape2instanceMap) {
+		Property property = (Property) propertyShape.getElement();
+				
+		InstanceSpecification newInstance = (InstanceSpecification) pack.createPackagedElement(
+	            null, UMLPackage.Literals.INSTANCE_SPECIFICATION);
+		
+		shape2instanceMap.put(propertyShape, newInstance);
+		
+		//check for Property multiplicity
+		if (property.upperBound() > 1){
+			Stereotype stereo = CHESSProfileManager.applyMultiInstanceStereotype(newInstance);
+			newInstance.setValue(stereo, "upperBound", property.upperBound());
+		}
+		
+		
+		if (parentInstance != null){
+			Slot slot = parentInstance.createSlot();
+			slot.setDefiningFeature(property);
+			InstanceValue instValue = (InstanceValue) slot.createValue(property.getName(), null, UMLPackage.Literals.INSTANCE_VALUE);
+			instValue.setInstance(newInstance);
+		}
+		
+		if (parentInstance!=null)
+			newInstance.setName(parentInstance.getName()+"."+property.getName());
+		else
+			newInstance.setName(property.getName());
+		
+		newInstance.getClassifiers().add((Classifier) property.getType());
+		
+		if (parentInstance == null){
+			//remove old instance from model
+			ValueSpecification oldvalue = property.getDefaultValue();
+			if (oldvalue instanceof InstanceValue){
+				InstanceSpecification oldinstance = ((InstanceValue) oldvalue).getInstance();
+				if (oldinstance != null)
+					oldinstance.destroy();
+			}
+			
+			//set default value only for root properties
+			InstanceValue value1 = (InstanceValue) pack.createPackagedElement(
+		            null, UMLPackage.Literals.INSTANCE_VALUE);
+			property.setDefaultValue(value1);
+			value1.setInstance(newInstance);
+		}
+		
+		//store newInstance
+		instancesList.add(newInstance);
+		
+		//create port instances
+		buildPortInstances((org.eclipse.uml2.uml.Class) property.getType(), newInstance, propertyShape);
+		
+		mapStereotypesFromPropertyToInstance(property, newInstance);
+		
+		//check inner properties in the current diagram
+		Iterator inners = getInnerShapes(propertyShape).iterator();
+		Object obj = null;
+		while (inners.hasNext()){
+			obj = inners.next();
+			if (obj instanceof ShapeImpl && ((ShapeImpl)obj).getElement() instanceof Property){
+				buildInstance4Property((ShapeImpl)obj, pack, newInstance, shape2instanceMap);
+			}
+		}
+			
+		return newInstance;
+	}
+	
+	
+	@SuppressWarnings("rawtypes")
+	public static List<Comment> getCommentsForPortEP(PortEditPart portEP){
+		List<Comment> v = new Vector<Comment>();
+		List targetConnsList = portEP.getTargetConnections();
+		Object tempTargetConn = null;
+		CommentAnnotatedElementEditPart annotatedElemEP = null;
+		for (int i=0; i<targetConnsList.size(); i++){
+			tempTargetConn = targetConnsList.get(i);
+			if (!(tempTargetConn instanceof CommentAnnotatedElementEditPart))
+				continue;
+			annotatedElemEP = (CommentAnnotatedElementEditPart) tempTargetConn;
+			EditPart sourceEP = annotatedElemEP.getSource();
+					
+			if (! (sourceEP instanceof CommentEditPartCN))
+				continue;
+			Comment comment = (Comment) ((Shape) sourceEP.getModel()).getElement();
+			v.add(comment);
+		}
+		return v;
+	}
+	
+	public static List<Comment> getCommentsForPortShape(ShapeImpl portShape){
+		List<Comment> v = new Vector<Comment>();
+		List targetConnsList = portShape.getTargetEdges();
+		Object tempTargetConn = null;
+		ConnectorImpl connectorImpl = null;
+		for (int i=0; i<targetConnsList.size(); i++){
+			tempTargetConn = targetConnsList.get(i);
+			
+			if (!(tempTargetConn instanceof ConnectorImpl))
+				continue;
+			connectorImpl = (ConnectorImpl) tempTargetConn;
+			Object obj = connectorImpl.getSource();
+			if ((obj instanceof ShapeImpl) && ((ShapeImpl)obj).getElement() instanceof Comment)
+				v.add((Comment)((ShapeImpl)obj).getElement());
+		}
+		return v;
+	}
+	
+	
+	@SuppressWarnings("rawtypes")
+	public static PortEditPart getPortEditPart(NamedElementEditPart propertyEP, Port port){
+		List listEP = propertyEP.getChildren();
+		Object temp = null;
+		for (int i=0; i<listEP.size(); i++){
+			temp = listEP.get(i);
+			if (!(temp instanceof PortEditPart))
+				continue;
+			if (((Shape)((PortEditPart)temp).getModel()).getElement().equals(port))
+				return (PortEditPart) temp;
+		
+		}
+		return null;
+	}
+	
+	public static ShapeImpl getPortShape(ShapeImpl propertyShape, Port port){
+		Vector<ShapeImpl> v = getInnerPortShapes(propertyShape);
+		if (v.isEmpty())
+			return null;
+		Iterator<ShapeImpl> iter = v.iterator();
+		ShapeImpl temp = null;
+		while (iter.hasNext()){
+			temp = iter.next();
+			if (temp.getElement().equals(port))
+				return temp;
+		}
+		return null;
+	}
+	
+	@SuppressWarnings({ "rawtypes", "unchecked" })
+	public static List<Comment> getCHRtSpecification(NamedElementEditPart propertyEP, Port port){
+		PortEditPart portEP = getPortEditPart(propertyEP, port);
+		if (portEP == null){
+			Activator.log.info("port edit part not faound for port " + port.getName());
+			return new Vector();
+		}
+		return getCommentsForPortEP(portEP);
+	}
+
+	
+	@SuppressWarnings({ "rawtypes", "unchecked" })
+	public static List<Comment> getComments(ShapeImpl propertyShape, Port port){
+		ShapeImpl portShape = getPortShape(propertyShape, port);
+		if (portShape == null){
+			Activator.log.info("port edit part not faound for port " + port.getName());
+			return new Vector();
+		}
+			
+		return getCommentsForPortShape(portShape);
+	}
+	
+	public static void buildInnerInstance4Property(PropertyPartEditPartCN propertyEP, Package pack){
+		
+	}
+	
+	
+	private static void buildPortInstances(org.eclipse.uml2.uml.Class classifier, InstanceSpecification ownerInstance,
+			ShapeImpl propertyShape){
+		List<Port> ports = classifier.getOwnedPorts();
+		Port tempPort = null;
+		Slot tempSlot = null;
+		Stereotype portSlotStereo = null;
+		for (int i=0; i<ports.size(); i++){
+			tempPort = ports.get(i);
+			//tempSlot = (Slot) pack.createPackagedElement(null, UMLPackage.Literals.SLOT);
+			tempSlot = ownerInstance.createSlot();
+			tempSlot.setDefiningFeature(tempPort);
+			
+			//check for Port multiplicity
+			if (tempPort.upperBound() > 1){
+				Stereotype stereo = CHESSProfileManager.applyMultiSlotStereotype(tempSlot);
+				tempSlot.setValue(stereo, "upperBound", tempPort.upperBound());
+			}
+			
+			//create connection to CHRtSpecification
+			List<Comment> listComment = getComments(propertyShape, tempPort);
+			//TODO why Vector?
+			Vector<Object> v = new Vector<Object>();
+			Object stereo  = null;
+			
+			//check ChRtSpecification
+			for (int j=0; j<listComment.size(); j++){
+				Comment comm = listComment.get(j);
+				stereo = comm.getStereotypeApplication(CHESSProfileManager.getCHRTSpecification(comm));
+				if (stereo != null)
+					v.add(stereo);
+			}
+			if (v.size()>0){
+				portSlotStereo = CHESSProfileManager.applyChRTPortSlotStereotype(tempSlot);
+				tempSlot.setValue(portSlotStereo, "cH_RtSpecification", v);
+			}
+			
+			//check FPTCSpecification, FI4FASpecification
+			portSlotStereo = null;
+			for (int j=0; j<listComment.size(); j++){
+				Comment comm = listComment.get(j);
+				stereo = comm.getStereotypeApplication(CHESSProfileManager.getFPTCSpecification(comm));
+				if (stereo != null){
+					portSlotStereo = CHESSProfileManager.applyFPTCPortSlotStereotype(tempSlot);
+					tempSlot.setValue(portSlotStereo, "FPTCSpecification", stereo);
+				} else {
+					stereo = comm.getStereotypeApplication(CHESSProfileManager.getFI4FASpecification(comm));
+					if (stereo != null){
+						portSlotStereo = CHESSProfileManager.applyFPTCPortSlotStereotype(tempSlot);
+						tempSlot.setValue(portSlotStereo, "FPTCSpecification", stereo);
+					}
+				}
+			}
+		
+			// store tempSlot
+			slotList.add(tempSlot);
+		}
+	}
+	
+	protected static EList getInnerShapes(ShapeImpl shape){
+		
+			Iterator tempIter = shape.getPersistedChildren().iterator();
+			Object obj;
+			while (tempIter.hasNext()){
+				obj = tempIter.next();
+				if (obj instanceof ShapeImpl)
+					return shape.getPersistedChildren();
+				if (obj instanceof BasicCompartmentImpl){
+					return ((BasicCompartmentImpl) obj).getPersistedChildren();
+				}
+			}
+			return null;
+	}
+	
+	protected static Vector<ShapeImpl> getInnerPortShapes(ShapeImpl shape){
+		Vector<ShapeImpl> v = new Vector<ShapeImpl>();
+		Iterator tempIter = shape.getPersistedChildren().iterator();
+		Object obj = null;
+		while (tempIter.hasNext()){
+			obj = tempIter.next();
+			if (obj instanceof ShapeImpl && ((ShapeImpl)obj).getElement() instanceof Port){
+				v.add((ShapeImpl)obj);
+			}
+			
+		}
+		return v;
+}
+	
+	
+	public ISashWindowsContainer getISashWindowsContainer(PapyrusMultiDiagramEditor editor){		
+		ServicesRegistry serviceRegistry = editor.getServicesRegistry();
+				
+		ISashWindowsContainer container = null;
+		try {
+			container = ServiceUtils.getInstance().getISashWindowsContainer(serviceRegistry);
+		} catch (ServiceException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+		}
+			
+		return container;
+	}
+	
+	private static DiagramImpl getDiagram(PapyrusMultiDiagramEditor editor, Type comp){
+		ServicesRegistry serviceRegistry = editor.getServicesRegistry();
+		IPageManager pageMngr = null;
+		try {
+			pageMngr = ServiceUtils.getInstance().getIPageManager(serviceRegistry);
+		} catch (ServiceException e1) {
+			// TODO Auto-generated catch block
+			e1.printStackTrace();
+		}
+		Iterator<?> iter = pageMngr.allPages().iterator();
+		DiagramImpl dia = null;
+		Object tempObj = null;
+		while (iter.hasNext()){
+			tempObj = iter.next();
+			if (!(tempObj instanceof DiagramImpl))
+				continue;
+			dia = (DiagramImpl) tempObj;
+			if (dia.getElement() == null)
+				continue;
+			if (dia.getElement().equals(comp))
+				return dia;
+		}
+		return null;
+	}
+	
+	/**
+	 * 
+	 * @param comp The componenImplementation
+	 * @return true if the given comp is decomposed, i.e. it has attributes typed with Component
+	 */
+	public static boolean isDecomposedComponent(Component comp){
+		EList<Property> list = comp.getAttributes();
+		if (list.size() == 0)
+			return false;
+		for (Property p:list){
+			
+			if (UMLUtils.isComponentImplementation(p.getType()) || p.getType() instanceof Component)
+				return true;
+		}
+		return false;
+	}
+	
+	public static boolean isLeafShape(ShapeImpl shape){
+		Iterator inners = getInnerShapes(shape).iterator();
+		Object obj = null;
+		while (inners.hasNext()){
+			obj = inners.next();
+			if (obj instanceof ShapeImpl && ((ShapeImpl)obj).getElement() instanceof Property){
+				Property property = (Property) ((ShapeImpl)obj).getElement();
+				if (property.getType() instanceof Component)
+					return false;
+			}
+		}
+		return true;
+	}
+	
+	/**
+	 * set 'acList' and 'comments' self variable
+	 */
+	private static void saveAssignAllocations(PapyrusMultiDiagramEditor editor){
+		//saving assign allocations before destroying and regenerating instance specifications
+		EList<Comment> tmp = null;
+		try {
+			Resource res = ResourceUtils.getUMLResource(editor.getServicesRegistry());
+			Model umlModel = ResourceUtils.getModel(res);
+			
+			Package deplViewPkg = ViewUtils.getCHESSDeploymentPackage(umlModel);
+			Stereotype deplView = deplViewPkg.getAppliedStereotype("CHESS::Core::CHESSViews::DeploymentView");
+			if (deplView != null){
+				tmp = (EList<Comment>) deplViewPkg.getValue(deplView, "AssignList");
+			}
+			
+		} catch (ServiceException e) {
+			e.printStackTrace();
+		}
+		comments = new BasicEList<Comment>();
+		for (int i = 0; i < tmp.size(); i++){
+			if(tmp.get(i).getAppliedStereotype(ASSIGN) != null){
+				comments.add(tmp.get(i));
+			}
+		}
+		acList = AssignCopy.toAssignCopyList(comments);
+	}
+	
+	private static void regenerateAssignAllocations(){
+		//regenerating, if possible, assign allocations
+		Iterator<InstanceSpecification> instIt;
+		Iterator<Slot> slotIt;
+//				slotIt = slotList.iterator();
+//				while(slotIt.hasNext()){
+//					Slot s = slotIt.next();
+//					System.out.println(s.toString());
+//					System.out.println(s.getOwningInstance().getQualifiedName() + 
+//										" " + s.getDefiningFeature().getName());
+//					
+//				}
+				
+		for (int i = 0; i < acList.size(); i++){
+			Comment com = comments.get(i);
+			EList<Element> from = (EList<Element>) com.getValue(com.getAppliedStereotype(ASSIGN), "from");
+			EList<Element> to = (EList<Element>) com.getValue(com.getAppliedStereotype(ASSIGN), "to");
+			
+			AssignCopy ac = acList.get(i);
+			
+			for (String fromName : ac.getFrom()){
+				instIt = instancesList.iterator();
+				InstanceSpecification isFrom = null;
+				while(instIt.hasNext()){
+					InstanceSpecification tmpInst = instIt.next();
+					if(tmpInst.getName().equals(fromName)){
+						isFrom = tmpInst;
+						break;
+					}
+				}
+				if (isFrom != null && !from.contains(isFrom)){
+					from.add(isFrom);
+				}
+				else{
+					slotIt = slotList.iterator();
+					Slot slFrom = null;
+					while (slotIt.hasNext()){
+						Slot tmpSlot = slotIt.next();
+						String slotName = tmpSlot.getOwningInstance().getQualifiedName() + "::" 
+							+ tmpSlot.getDefiningFeature().getName();
+						if(slotName.equals(fromName)){
+							slFrom = tmpSlot;
+							break;
+						}
+					}
+					if(slFrom != null && !from.contains(slFrom)){
+						from.add(slFrom);
+					}	
+				}
+			}
+			for (String toName : ac.getTo()){
+				instIt = instancesList.iterator();
+				InstanceSpecification isTo = null;
+				while(instIt.hasNext()){
+					InstanceSpecification tmpInst = instIt.next();
+					if(tmpInst.getName().equals(toName)){
+						isTo = tmpInst;
+						break;
+					}
+				}
+				if (isTo != null && !to.contains(isTo)){
+					to.add(isTo);
+				}
+				else{
+					slotIt = slotList.iterator();
+					Slot slTo = null;
+					while (slotIt.hasNext()){
+						Slot tmpSlot = slotIt.next();					
+						String slotName = tmpSlot.getOwningInstance().getQualifiedName() + "::" 
+							+ tmpSlot.getDefiningFeature().getName();
+						if(slotName.equals(toName)){
+							slTo = tmpSlot;
+							break;
+						}
+					}
+					if(slTo != null && !to.contains(slTo)){
+						to.add(slTo);
+					}
+				}
+			}
+		}
+		
+//				//only to test comments
+//				System.out.println("AFTER");
+//				for (int i=0; i<comments.size(); i++){
+//					System.out.println(comments.get(i).getValue(comments.get(i).getAppliedStereotype(ASSIGN), "from").toString());
+//					System.out.println(comments.get(i).getValue(comments.get(i).getAppliedStereotype(ASSIGN), "to").toString());
+//				}
+	}
+	
+	private static void mapStereotypesFromPropertyToInstance(Property property, InstanceSpecification instance){
+		Type type = property.getType();
+		EObject stereo = property.getStereotypeApplication(CHESSProfileManager.getCH_HWBus(property));
+		Element elem = property;
+		if (stereo == null){
+			//try to use the classifier
+			 stereo = type.getStereotypeApplication(CHESSProfileManager.getCH_HWBus(type));
+			 elem = type;
+		}
+		if (stereo != null){
+			Stereotype chHwBus = CHESSProfileManager.applyCH_HwBusStereotype(instance);
+			instance.setValue(chHwBus, "transmMode", elem.getValue(chHwBus, "transmMode"));
+			instance.setValue(chHwBus, "blockT", elem.getValue(chHwBus, "blockT"));
+			instance.setValue(chHwBus, "packetT", elem.getValue(chHwBus, "packetT"));
+			instance.setValue(chHwBus, "speedFactor", elem.getValue(chHwBus, "speedFactor"));
+			instance.setValue(chHwBus, "resMult", elem.getValue(chHwBus, "resMult"));
+		}
+		stereo = property.getStereotypeApplication(CHESSProfileManager.getCH_HWComputingResource(property));
+		elem = property;
+		if (stereo == null){
+			//try to use the classifier
+			stereo = type.getStereotypeApplication(CHESSProfileManager.getCH_HWComputingResource(type));
+			elem = type;
+		}
+		if (stereo != null){
+			Stereotype chHwComputingRes = CHESSProfileManager.applyCH_HwComputingResourceStereotype(instance);
+			instance.setValue(chHwComputingRes, "speedFactor", elem.getValue(chHwComputingRes, "speedFactor"));
+			instance.setValue(chHwComputingRes, "resMult", elem.getValue(chHwComputingRes, "resMult"));
+		}
+		
+		stereo = property.getStereotypeApplication(CHESSProfileManager.getCH_HWProcessor(property));
+		elem = property;
+		if (stereo == null){
+			//try to use the classifier
+			stereo = type.getStereotypeApplication(CHESSProfileManager.getCH_HWProcessor(type));
+			elem = type;
+		}
+		if (stereo != null){
+			Stereotype chHwComputingRes = CHESSProfileManager.applyCH_HwProcessorStereotype(instance);
+			instance.setValue(chHwComputingRes, "speedFactor", elem.getValue(chHwComputingRes, "speedFactor"));
+			instance.setValue(chHwComputingRes, "resMult", elem.getValue(chHwComputingRes, "resMult"));
+		}
+		
+		
+	}
+	
+}
diff --git a/plugins/org.polarsys.chess.commands/src/org/polarsys/chess/commands/HideRTInformationCommand.java b/plugins/org.polarsys.chess.commands/src/org/polarsys/chess/commands/HideRTInformationCommand.java
new file mode 100644
index 000000000..d106bc6b8
--- /dev/null
+++ b/plugins/org.polarsys.chess.commands/src/org/polarsys/chess/commands/HideRTInformationCommand.java
@@ -0,0 +1,84 @@
+/*******************************************************************************
+ * Copyright (c) 2011 -2014 Intecs.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *    Stefano Puri, Nicholas Pacini - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.polarsys.chess.commands;
+
+import java.util.List;
+
+import org.eclipse.core.commands.AbstractHandler;
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.emf.transaction.RecordingCommand;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.gef.EditPart;
+import org.eclipse.gmf.runtime.notation.Shape;
+import org.eclipse.papyrus.editor.PapyrusMultiDiagramEditor;
+import org.eclipse.papyrus.uml.diagram.common.editparts.NamedElementEditPart;
+import org.eclipse.papyrus.uml.diagram.composite.edit.parts.ClassCompositeEditPart;
+import org.eclipse.papyrus.uml.diagram.composite.edit.parts.ComponentCompositeEditPart;
+import org.eclipse.papyrus.uml.diagram.composite.edit.parts.CompositeStructureDiagramEditPart;
+import org.polarsys.chess.core.notifications.ResourceNotification;
+import org.polarsys.chess.core.views.DiagramStatus;
+import org.polarsys.chess.service.utils.CHESSEditorUtils;
+
+public class HideRTInformationCommand extends AbstractHandler{
+
+	public Object execute(ExecutionEvent event) throws ExecutionException {
+		final PapyrusMultiDiagramEditor editor = CHESSEditorUtils.getCHESSEditor();
+		final DiagramStatus ds = CHESSEditorUtils.getDiagramStatus(editor);
+		if (editor == null || ds == null) 
+			return null;
+		try {
+			
+			//PapyrusMultiDiagramEditor editor = (PapyrusMultiDiagramEditor) PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActiveEditor();
+		
+		Object temp = CHESSEditorUtils.getDiagramGraphicalViewer().getRootEditPart().getChildren().get(0);
+		
+		if (temp == null || !(temp instanceof CompositeStructureDiagramEditPart))
+			return null;
+		
+		final CompositeStructureDiagramEditPart csd_ep = (CompositeStructureDiagramEditPart) temp;
+		TransactionalEditingDomain editingDomain = csd_ep.getEditingDomain();
+		
+		editingDomain.getCommandStack().execute(new RecordingCommand(editingDomain) {
+			protected void doExecute() {
+				
+				List l = csd_ep.getChildren();
+				EditPart epTemp = null;
+				NamedElementEditPart compositeEP = null;
+				for (int i=0; i< l.size(); i++){
+					epTemp = (EditPart) l.get(i);
+					if (epTemp instanceof ComponentCompositeEditPart){
+						compositeEP = (ComponentCompositeEditPart) epTemp;
+						break;
+					}
+					if (epTemp instanceof ClassCompositeEditPart){
+						compositeEP = (ClassCompositeEditPart) epTemp;
+						break;
+					}
+					
+				}
+				
+				if (ShowRTInformationCommand.showHideRT((Shape)compositeEP.getModel(), false)){
+					ds.setUserAction(false);
+				}
+			}
+		});
+		
+		} catch (Exception e) {
+			System.out.println(e.getMessage());
+			ResourceNotification.showInfo(e.getMessage());
+			ds.setUserAction(true);
+		}
+		ds.setUserAction(true);
+		return null;
+	}
+	
+}
diff --git a/plugins/org.polarsys.chess.commands/src/org/polarsys/chess/commands/ShowRTInformationCommand.java b/plugins/org.polarsys.chess.commands/src/org/polarsys/chess/commands/ShowRTInformationCommand.java
new file mode 100644
index 000000000..b80585b0a
--- /dev/null
+++ b/plugins/org.polarsys.chess.commands/src/org/polarsys/chess/commands/ShowRTInformationCommand.java
@@ -0,0 +1,128 @@
+/*******************************************************************************
+ * Copyright (c) 2011 -2014 Intecs.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *    Stefano Puri, Nicholas Pacini - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.polarsys.chess.commands;
+
+import java.util.Iterator;
+import java.util.List;
+
+import org.eclipse.core.commands.AbstractHandler;
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.emf.transaction.RecordingCommand;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.gef.EditPart;
+import org.eclipse.gmf.runtime.diagram.ui.editpolicies.CanonicalEditPolicy;
+import org.eclipse.gmf.runtime.diagram.ui.editpolicies.EditPolicyRoles;
+import org.eclipse.gmf.runtime.notation.Shape;
+import org.eclipse.gmf.runtime.notation.impl.BasicCompartmentImpl;
+import org.eclipse.gmf.runtime.notation.impl.ShapeImpl;
+import org.eclipse.papyrus.editor.PapyrusMultiDiagramEditor;
+import org.eclipse.papyrus.uml.diagram.common.editparts.NamedElementEditPart;
+import org.eclipse.papyrus.uml.diagram.composite.edit.parts.ClassCompositeEditPart;
+import org.eclipse.papyrus.uml.diagram.composite.edit.parts.ComponentCompositeEditPart;
+import org.eclipse.papyrus.uml.diagram.composite.edit.parts.CompositeStructureDiagramEditPart;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Port;
+import org.polarsys.chess.core.notifications.ResourceNotification;
+import org.polarsys.chess.core.profiles.CHESSProfileManager;
+import org.polarsys.chess.core.views.DiagramStatus;
+import org.polarsys.chess.service.utils.CHESSEditorUtils;
+
+public class ShowRTInformationCommand extends AbstractHandler{
+
+	public Object execute(ExecutionEvent event) throws ExecutionException {
+		final PapyrusMultiDiagramEditor editor = CHESSEditorUtils.getCHESSEditor();
+		final DiagramStatus ds = CHESSEditorUtils.getDiagramStatus(editor);
+		if (editor == null || ds == null) 
+			return null;
+		try {
+		//PapyrusMultiDiagramEditor editor = (PapyrusMultiDiagramEditor) PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActiveEditor();
+		
+		Object temp = CHESSEditorUtils.getDiagramGraphicalViewer().getRootEditPart().getChildren().get(0);
+		
+		if (temp == null || !(temp instanceof CompositeStructureDiagramEditPart))
+			return null;
+		
+		final CompositeStructureDiagramEditPart csd_ep = (CompositeStructureDiagramEditPart) temp;
+		TransactionalEditingDomain editingDomain = csd_ep.getEditingDomain();
+		
+		editingDomain.getCommandStack().execute(new RecordingCommand(editingDomain) {
+			protected void doExecute() {
+				List l = csd_ep.getChildren();
+				EditPart epTemp = null;
+				NamedElementEditPart compositeEP = null;
+				for (int i=0; i< l.size(); i++){
+					epTemp = (EditPart) l.get(i);
+					if (epTemp instanceof ComponentCompositeEditPart){
+						compositeEP = (ComponentCompositeEditPart) epTemp;
+						break;
+					}
+					if (epTemp instanceof ClassCompositeEditPart){
+						compositeEP = (ClassCompositeEditPart) epTemp;
+						break;
+					}
+					
+				}
+				
+				if (showHideRT((Shape)compositeEP.getModel(), true)){
+					ds.setUserAction(false);
+				}
+				
+				EditPart mainEditPart = (EditPart)(compositeEP.getRoot().getChildren().get(0));
+				CanonicalEditPolicy cep = (CanonicalEditPolicy)mainEditPart.getEditPolicy(EditPolicyRoles.CANONICAL_ROLE);
+				if (cep!=null)
+					cep.refresh();
+				
+				
+			}
+		});
+		
+		} catch (Exception e) {
+			System.out.println(e.getMessage());
+			ResourceNotification.showInfo(e.getMessage());
+			ds.setUserAction(true);
+		}
+		ds.setUserAction(true);
+		return null;
+	}
+	
+	public static boolean showHideRT(Shape shape, boolean visibility){
+		if (shape.getElement() instanceof Port)
+			return false;
+		if (shape.getElement() instanceof Comment){
+			Comment comm = (Comment) shape.getElement();
+			if (comm.isStereotypeApplied(CHESSProfileManager.getCHRTSpecification(comm)))
+				shape.setVisible(visibility);
+		}
+		
+		
+		
+		Iterator iter = shape.getPersistedChildren().iterator();
+		Object temp = null;
+		while (iter.hasNext()){
+			temp = iter.next();
+			if (temp instanceof BasicCompartmentImpl){
+				Iterator iter2 = ((BasicCompartmentImpl) temp).getPersistedChildren().iterator();
+				while (iter2.hasNext()){
+					showHideRT((Shape)iter2.next(), visibility);
+				}
+			}
+		}		
+		return true;
+	}
+	
+	public static void hideRtForComponent(ShapeImpl propertyComponent){
+		int i= 0;
+		i +=1;
+		
+	}
+	
+}
diff --git a/plugins/org.polarsys.chess.discovery/.classpath b/plugins/org.polarsys.chess.discovery/.classpath
new file mode 100644
index 000000000..2d1a4302f
--- /dev/null
+++ b/plugins/org.polarsys.chess.discovery/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/plugins/org.polarsys.chess.discovery/.gitignore b/plugins/org.polarsys.chess.discovery/.gitignore
new file mode 100644
index 000000000..ae3c17260
--- /dev/null
+++ b/plugins/org.polarsys.chess.discovery/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/plugins/org.polarsys.chess.discovery/.project b/plugins/org.polarsys.chess.discovery/.project
new file mode 100644
index 000000000..41ca0f3b5
--- /dev/null
+++ b/plugins/org.polarsys.chess.discovery/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.polarsys.chess.discovery</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
diff --git a/plugins/org.polarsys.chess.discovery/.settings/org.eclipse.jdt.core.prefs b/plugins/org.polarsys.chess.discovery/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 000000000..44217f8c0
--- /dev/null
+++ b/plugins/org.polarsys.chess.discovery/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.5
diff --git a/plugins/org.polarsys.chess.discovery/META-INF/MANIFEST.MF b/plugins/org.polarsys.chess.discovery/META-INF/MANIFEST.MF
new file mode 100644
index 000000000..e133e9b20
--- /dev/null
+++ b/plugins/org.polarsys.chess.discovery/META-INF/MANIFEST.MF
@@ -0,0 +1,17 @@
+Manifest-Version: 1.0
+Export-Package: org.polarsys.chess.discovery,
+ org.polarsys.chess.discovery.ui.menu.handler
+Require-Bundle: org.eclipse.ui;bundle-version="3.8.0",
+ org.eclipse.core.runtime;bundle-version="3.8.0",
+ org.eclipse.papyrus.infra.discovery.ui;bundle-version="1.0.0",
+ org.eclipse.papyrus.infra.discovery
+Bundle-Vendor: %providerName
+Bundle-ActivationPolicy: lazy
+Bundle-Version: 1.0.0.qualifier
+Bundle-Localization: plugin
+Bundle-Name: %pluginName
+Bundle-Activator: org.polarsys.chess.discovery.Activator
+Bundle-ManifestVersion: 2
+Bundle-SymbolicName: org.polarsys.chess.discovery;singleton:=true
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+
diff --git a/plugins/org.polarsys.chess.discovery/about.html b/plugins/org.polarsys.chess.discovery/about.html
new file mode 100644
index 000000000..209103075
--- /dev/null
+++ b/plugins/org.polarsys.chess.discovery/about.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+ 
+<p>November 14, 2008</p>	
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
+being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content.  Check the Redistributor's license that was 
+provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
+
+</body>
+</html>
\ No newline at end of file
diff --git a/plugins/org.polarsys.chess.discovery/build.properties b/plugins/org.polarsys.chess.discovery/build.properties
new file mode 100644
index 000000000..573a2ea46
--- /dev/null
+++ b/plugins/org.polarsys.chess.discovery/build.properties
@@ -0,0 +1,9 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+               .,\
+               icons/,\
+               plugin.xml,\
+               plugin.properties,\
+               about.html
+src.includes = icons/
diff --git a/plugins/org.polarsys.chess.discovery/icons/CHESSicon.gif b/plugins/org.polarsys.chess.discovery/icons/CHESSicon.gif
new file mode 100644
index 0000000000000000000000000000000000000000..1659c3fec7f988789d2ce4d6a6c770eab90089bf
GIT binary patch
literal 612
zcmZ?wbhEHb6krfwI9AHQ!_LXa#Vx?YE6Bquz{@AZ$1lP!ASNU%AtEXzCN3>5AtNCv
zD=8%>C9NPUrz9t@sj8-}uBok|VW6XHq^ECeU}$P&WMOJ*X=d){?GqXl6dDwq5Eqx7
znfcyV`n|twVSav5enC+|;fG+Q4<RZgg+(7iR6m5Oeh5?h5T^biOyfhi`iF4M@{-bz
z5gH#OG%L%?KSt|)j5qq2X!<eP@?(l+V}1R{RO_~umXEovpYq&3<$H8>bar=j_4oEo
zoG@Y1goz6mELgH=@$#k1RxV$$Vcoh7>(+1Duwm22O`A7u`o5%l>y|Cswr>5ta?;Kn
zJASU7ylwa1-|MFDK6v=xfdfCbFZr<ph?X8de(dD&6F>K?{<&|>&wXppojv#K<nCYR
z4&J(X^Uj?+_wV0-{OHk(7cahi{`~FRx9{J-|M>Ca=g*)2etiG)`}e=!zy1Kh-+zCB
z;2#A1|MUO<-~a#r{U;0*f3h%gG1N2YFaQB4P8iq^Hk39s7qm9Fca&xnl%{ny^#pS<
z+gmX4g_rg;do(2&G^r*xxi_VYGD!Havna|kar%icif8pCHAR>;>BclA&N}GoDJkS&
zD<JLdb}+?BfS1#*G%qj5hJ#noCAHL1n1`QLrb&v8pIgj%LTP}~f#!IHpo2ZJR)NL&
zt+~bi)^R3F7k+%`$|dUi<V;{v(ot@H%WD@_2DcvN6xR%x;qkD^g-5qkjcv11^O0_G
b<*XdewhqCmlIEK>)P$(>S-UhcFjxZs;b|(N

literal 0
HcmV?d00001

diff --git a/plugins/org.polarsys.chess.discovery/plugin.pdoc b/plugins/org.polarsys.chess.discovery/plugin.pdoc
new file mode 100644
index 000000000..e43e88a21
--- /dev/null
+++ b/plugins/org.polarsys.chess.discovery/plugin.pdoc
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<doc:Documentation xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:doc="http://www.eclipse.org/papyrus/documentation/plugin/documentation" description="This plugin contributes to the workbench, in order to have access to the papyrus discovery interface.">
+  <referent firstName="remi" lastName="schnekenburger" eMail="remi.schnekenburger@cea.fr" currentCompany="CEA-LIST"/>
+</doc:Documentation>
diff --git a/plugins/org.polarsys.chess.discovery/plugin.properties b/plugins/org.polarsys.chess.discovery/plugin.properties
new file mode 100644
index 000000000..c1b2a7a3a
--- /dev/null
+++ b/plugins/org.polarsys.chess.discovery/plugin.properties
@@ -0,0 +1,2 @@
+pluginName = CHESS Discovery UI Contributions
+providerName = University of Padova
diff --git a/plugins/org.polarsys.chess.discovery/plugin.xml b/plugins/org.polarsys.chess.discovery/plugin.xml
new file mode 100644
index 000000000..8aceaa437
--- /dev/null
+++ b/plugins/org.polarsys.chess.discovery/plugin.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<plugin>
+   <extension
+         point="org.eclipse.ui.commands">
+      <category
+            id="org.polarsys.chess.discovery.commands.category"
+            name="CHESS Discovery">
+      </category>
+      <command
+            categoryId="org.polarsys.chess.discovery.commands.category"
+            id="org.polarsys.chess.discovery.commands.category.discoveryCommand"
+            name="Install CHESS Additional Components">
+      </command>
+   </extension>
+   <extension
+         point="org.eclipse.ui.handlers">
+      <handler
+            class="org.polarsys.chess.discovery.ui.menu.handler.CHESSDiscoveryHandler"
+            commandId="org.polarsys.chess.discovery.commands.category.discoveryCommand">
+      </handler>
+   </extension>
+
+ <extension
+         point="org.eclipse.ui.menus">
+      <menuContribution
+            locationURI="menu:help?after=org.eclipse.equinox.p2.ui.sdk.install">
+            <command
+                  commandId="org.polarsys.chess.discovery.commands.category.discoveryCommand"
+                  icon="icons/CHESSicon.gif"
+                  id="org.polarsys.chess.discovery.ui.menu.toolbars.discoveryCommand"
+                  tooltip="Install CHESS Additional Components">
+            </command>
+      </menuContribution>
+   </extension>
+
+
+</plugin>
diff --git a/plugins/org.polarsys.chess.discovery/src/org/polarsys/chess/discovery/Activator.java b/plugins/org.polarsys.chess.discovery/src/org/polarsys/chess/discovery/Activator.java
new file mode 100644
index 000000000..b05325916
--- /dev/null
+++ b/plugins/org.polarsys.chess.discovery/src/org/polarsys/chess/discovery/Activator.java
@@ -0,0 +1,63 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014  University of Padova.
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ * 
+ * 
+ * Contributors:
+ *    Alessandro Zovi
+ *****************************************************************************/
+package org.polarsys.chess.discovery;
+
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+import org.osgi.framework.BundleContext;
+
+/**
+ * The activator class controls the plug-in life cycle
+ */
+public class Activator extends AbstractUIPlugin {
+
+	// The plug-in ID
+	public static final String PLUGIN_ID = "org.polarsys.chess.discovery"; //$NON-NLS-1$
+
+	// The shared instance
+	private static Activator plugin;
+	
+	/**
+	 * The constructor
+	 */
+	public Activator() {
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
+	 */
+	public void start(BundleContext context) throws Exception {
+		super.start(context);
+		plugin = this;
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
+	 */
+	public void stop(BundleContext context) throws Exception {
+		plugin = null;
+		super.stop(context);
+	}
+
+	/**
+	 * Returns the shared instance
+	 *
+	 * @return the shared instance
+	 */
+	public static Activator getDefault() {
+		return plugin;
+	}
+
+}
diff --git a/plugins/org.polarsys.chess.discovery/src/org/polarsys/chess/discovery/ui/menu/handler/CHESSDiscoveryAction.java b/plugins/org.polarsys.chess.discovery/src/org/polarsys/chess/discovery/ui/menu/handler/CHESSDiscoveryAction.java
new file mode 100644
index 000000000..84cada666
--- /dev/null
+++ b/plugins/org.polarsys.chess.discovery/src/org/polarsys/chess/discovery/ui/menu/handler/CHESSDiscoveryAction.java
@@ -0,0 +1,36 @@
+/*****************************************************************************
+ * Copyright (c) 2010 - 2014 University of Padova.
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Alessandro Zovi
+ *
+ *****************************************************************************/
+package org.polarsys.chess.discovery.ui.menu.handler;
+
+import org.eclipse.jface.action.Action;
+import org.polarsys.chess.discovery.ui.wizards.DiscoveryComponent;
+
+/**
+ * Action used for discovery 
+ */
+public class CHESSDiscoveryAction extends Action {
+	/**
+	 * The constructor.
+	 */
+	public CHESSDiscoveryAction() {
+	}
+
+	/**
+	 * {@inheritDoc}
+	 */
+	@Override
+	public void run() {
+		DiscoveryComponent.execute();
+	}
+}
diff --git a/plugins/org.polarsys.chess.discovery/src/org/polarsys/chess/discovery/ui/menu/handler/CHESSDiscoveryHandler.java b/plugins/org.polarsys.chess.discovery/src/org/polarsys/chess/discovery/ui/menu/handler/CHESSDiscoveryHandler.java
new file mode 100644
index 000000000..9dc06f410
--- /dev/null
+++ b/plugins/org.polarsys.chess.discovery/src/org/polarsys/chess/discovery/ui/menu/handler/CHESSDiscoveryHandler.java
@@ -0,0 +1,30 @@
+/*****************************************************************************
+ * Copyright (c) 2011 - 2014 University of Padova.
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Alessandro Zovi
+ *
+ *****************************************************************************/
+package org.polarsys.chess.discovery.ui.menu.handler;
+
+import org.eclipse.core.commands.AbstractHandler;
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.core.commands.ExecutionException;
+import org.polarsys.chess.discovery.ui.wizards.DiscoveryComponent;
+
+public class CHESSDiscoveryHandler extends AbstractHandler {
+	
+	public CHESSDiscoveryHandler() {
+	}
+
+	public Object execute(ExecutionEvent event) throws ExecutionException {
+		DiscoveryComponent.execute();
+		return null;
+	}
+}
diff --git a/plugins/org.polarsys.chess.discovery/src/org/polarsys/chess/discovery/ui/wizards/DiscoveryComponent.java b/plugins/org.polarsys.chess.discovery/src/org/polarsys/chess/discovery/ui/wizards/DiscoveryComponent.java
new file mode 100644
index 000000000..34e2fc146
--- /dev/null
+++ b/plugins/org.polarsys.chess.discovery/src/org/polarsys/chess/discovery/ui/wizards/DiscoveryComponent.java
@@ -0,0 +1,73 @@
+/*****************************************************************************
+ * Copyright (c) 2010 - 2014 University of Padova.
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Alessandro Zovi
+ *
+ *****************************************************************************/
+package org.polarsys.chess.discovery.ui.wizards;
+
+import java.io.IOException;
+import java.util.Collections;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.xmi.impl.XMIResourceImpl;
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.jface.wizard.WizardDialog;
+import org.eclipse.papyrus.infra.discovery.DiscoveryDefinition;
+import org.eclipse.papyrus.infra.discovery.ui.viewer.DiscoveryContentProvider;
+import org.eclipse.papyrus.infra.discovery.ui.wizards.DiscoveryWizard;
+import org.eclipse.papyrus.infra.discovery.ui.wizards.Messages;
+import org.eclipse.ui.IWorkbenchWindow;
+import org.eclipse.ui.PlatformUI;
+
+public class DiscoveryComponent {
+
+	/** URI of the model where all extra component features to be installed are referenced */
+	public static final String DISCOVERY_URI = "http://www.math.unipd.it/~azovi/CHESS/CHESS_Polarsys_Extra/chess-extra.xmi";
+
+	public static final Object execute() {
+		final IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
+
+		DiscoveryContentProvider provider = new DiscoveryContentProvider() {
+
+		
+			@Override
+			protected DiscoveryDefinition load() {
+				Resource res = new XMIResourceImpl(URI.createURI(DISCOVERY_URI));
+				try {
+					res.load(Collections.EMPTY_MAP);
+				} catch (IOException e) {
+					MessageDialog.openError(window.getShell(), Messages.DiscoveryComponent_CannotConnectToSource_title, Messages.DiscoveryComponent_CannotConnectToSource_label);
+					throw new RuntimeException(e);
+				}
+				return (DiscoveryDefinition)res.getContents().get(0);
+			}
+
+		
+			@Override
+			public String getDescription() {
+				return Messages.DiscoveryComponent_description;
+			}
+
+			@Override
+			public String getTitle() {
+				return Messages.DiscoveryComponent_title;
+			}
+
+		};
+
+
+		DiscoveryWizard wizard = new DiscoveryWizard(provider);
+		WizardDialog dialog = new WizardDialog(window.getShell(), wizard);
+		return dialog.open();
+	}
+
+}
diff --git a/plugins/org.polarsys.chess.extra.site/.project b/plugins/org.polarsys.chess.extra.site/.project
new file mode 100644
index 000000000..c73942029
--- /dev/null
+++ b/plugins/org.polarsys.chess.extra.site/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.polarsys.chess.extra.site</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.pde.UpdateSiteBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.pde.UpdateSiteNature</nature>
+	</natures>
+</projectDescription>
diff --git a/plugins/org.polarsys.chess.extra.site/about.html b/plugins/org.polarsys.chess.extra.site/about.html
new file mode 100644
index 000000000..209103075
--- /dev/null
+++ b/plugins/org.polarsys.chess.extra.site/about.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+ 
+<p>November 14, 2008</p>	
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
+being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content.  Check the Redistributor's license that was 
+provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
+
+</body>
+</html>
\ No newline at end of file
diff --git a/plugins/org.polarsys.chess.extra.site/chess-extra.xmi b/plugins/org.polarsys.chess.extra.site/chess-extra.xmi
new file mode 100644
index 000000000..48f23c4c8
--- /dev/null
+++ b/plugins/org.polarsys.chess.extra.site/chess-extra.xmi
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="ASCII"?>
+<discovery:DiscoveryDefinition
+    xmi:version="2.0"
+    xmlns:xmi="http://www.omg.org/XMI"
+    xmlns:discovery="http://www.eclipse.org/papyrus/discovery/1.0">
+  <categories
+      name="Features"
+      description="CHESS features"
+      relevance="6">
+    <components
+        name="MARTE2MAST"
+        provider="University of Padua"
+        description="Allows to execute MAST analysis"
+        license="GPL"
+        groups="//@filters.0"
+        image32="images/marte-32x32.png"
+        incubation="true">
+      <sitesURLS>http://www.math.unipd.it/~azovi/CHESS/CHESS_Polarsys_Extra/</sitesURLS>
+      <overview
+          summary=""
+          screenshot=""
+          url=""/>
+      <id>it.unipd.chess.m2m.marte2mast.feature</id>
+    </components>
+  </categories>
+  <filters name="Stable"/>
+  <filters name="Experimental"/>
+</discovery:DiscoveryDefinition>
diff --git a/plugins/org.polarsys.chess.extra.site/site.xml b/plugins/org.polarsys.chess.extra.site/site.xml
new file mode 100644
index 000000000..f25de58ab
--- /dev/null
+++ b/plugins/org.polarsys.chess.extra.site/site.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<site>
+   <feature url="features/it.unipd.chess.m2m.marte2mast.feature_1.0.0.201407282255.jar" id="it.unipd.chess.m2m.marte2mast.feature" version="1.0.0.201407282255"/>
+</site>
diff --git a/plugins/org.polarsys.chess.feature/.project b/plugins/org.polarsys.chess.feature/.project
new file mode 100644
index 000000000..68e19291a
--- /dev/null
+++ b/plugins/org.polarsys.chess.feature/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.polarsys.chess.feature</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.pde.FeatureBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.pde.FeatureNature</nature>
+	</natures>
+</projectDescription>
diff --git a/plugins/org.polarsys.chess.feature/build.properties b/plugins/org.polarsys.chess.feature/build.properties
new file mode 100644
index 000000000..82ab19c62
--- /dev/null
+++ b/plugins/org.polarsys.chess.feature/build.properties
@@ -0,0 +1 @@
+bin.includes = feature.xml
diff --git a/plugins/org.polarsys.chess.feature/epl-v10.html b/plugins/org.polarsys.chess.feature/epl-v10.html
new file mode 100644
index 000000000..cb1073a4b
--- /dev/null
+++ b/plugins/org.polarsys.chess.feature/epl-v10.html
@@ -0,0 +1,304 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
+<html xmlns:o="urn:schemas-microsoft-com:office:office"
+xmlns:w="urn:schemas-microsoft-com:office:word"
+xmlns="http://www.w3.org/TR/REC-html40">
+
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<link rel=File-List
+href="./Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml">
+<title>Eclipse Public License - Version 1.0</title>
+<style>
+<!--
+ /* Font Definitions */
+@font-face
+	{
+	panose-1:2 11 6 4 3 5 4 4 2 4;
+	mso-font-charset:0;
+	mso-font-pitch:variable;
+	mso-font-signature:553679495 -2147483648 8 0 66047 0;}
+ /* Style Definitions */
+p.MsoNormal, li.MsoNormal, div.MsoNormal
+	{mso-style-parent:"";
+	margin:0in;
+	margin-bottom:.0001pt;
+	mso-pagination:widow-orphan;
+	font-size:12.0pt;
+	}
+p
+	{margin-right:0in;
+	mso-margin-top-alt:auto;
+	mso-margin-bottom-alt:auto;
+	margin-left:0in;
+	mso-pagination:widow-orphan;
+	font-size:12.0pt;
+	}
+p.BalloonText, li.BalloonText, div.BalloonText
+	{mso-style-name:"Balloon Text";
+	margin:0in;
+	margin-bottom:.0001pt;
+	mso-pagination:widow-orphan;
+	font-size:8.0pt;
+	
+	}
+@page Section1
+	{size:8.5in 11.0in;
+	margin:1.0in 1.25in 1.0in 1.25in;
+	mso-header-margin:.5in;
+	mso-footer-margin:.5in;
+	mso-paper-source:0;}
+div.Section1
+	{page:Section1;}
+-->
+</style>
+</head>
+
+<body lang="EN-US" style='tab-interval:.5in'>
+
+<div class=Section1>
+
+<p align=center style='text-align:center'><b>Eclipse Public License - v 1.0</b>
+</p>
+
+<p><span style='font-size:10.0pt'>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER
+THE TERMS OF THIS ECLIPSE PUBLIC LICENSE (&quot;AGREEMENT&quot;). ANY USE,
+REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE
+OF THIS AGREEMENT.</span> </p>
+
+<p><b><span style='font-size:10.0pt'>1. DEFINITIONS</span></b> </p>
+
+<p><span style='font-size:10.0pt'>&quot;Contribution&quot; means:</span> </p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
+in the case of the initial Contributor, the initial code and documentation
+distributed under this Agreement, and<br clear=left>
+b) in the case of each subsequent Contributor:</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
+changes to the Program, and</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
+additions to the Program;</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>where
+such changes and/or additions to the Program originate from and are distributed
+by that particular Contributor. A Contribution 'originates' from a Contributor
+if it was added to the Program by such Contributor itself or anyone acting on
+such Contributor's behalf. Contributions do not include additions to the
+Program which: (i) are separate modules of software distributed in conjunction
+with the Program under their own license agreement, and (ii) are not derivative
+works of the Program. </span></p>
+
+<p><span style='font-size:10.0pt'>&quot;Contributor&quot; means any person or
+entity that distributes the Program.</span> </p>
+
+<p><span style='font-size:10.0pt'>&quot;Licensed Patents &quot; mean patent
+claims licensable by a Contributor which are necessarily infringed by the use
+or sale of its Contribution alone or when combined with the Program. </span></p>
+
+<p><span style='font-size:10.0pt'>&quot;Program&quot; means the Contributions
+distributed in accordance with this Agreement.</span> </p>
+
+<p><span style='font-size:10.0pt'>&quot;Recipient&quot; means anyone who
+receives the Program under this Agreement, including all Contributors.</span> </p>
+
+<p><b><span style='font-size:10.0pt'>2. GRANT OF RIGHTS</span></b> </p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
+Subject to the terms of this Agreement, each Contributor hereby grants Recipient
+a non-exclusive, worldwide, royalty-free copyright license to<span
+style='color:red'> </span>reproduce, prepare derivative works of, publicly
+display, publicly perform, distribute and sublicense the Contribution of such
+Contributor, if any, and such derivative works, in source code and object code
+form.</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
+Subject to the terms of this Agreement, each Contributor hereby grants
+Recipient a non-exclusive, worldwide,<span style='color:green'> </span>royalty-free
+patent license under Licensed Patents to make, use, sell, offer to sell, import
+and otherwise transfer the Contribution of such Contributor, if any, in source
+code and object code form. This patent license shall apply to the combination
+of the Contribution and the Program if, at the time the Contribution is added
+by the Contributor, such addition of the Contribution causes such combination
+to be covered by the Licensed Patents. The patent license shall not apply to
+any other combinations which include the Contribution. No hardware per se is
+licensed hereunder. </span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>c)
+Recipient understands that although each Contributor grants the licenses to its
+Contributions set forth herein, no assurances are provided by any Contributor
+that the Program does not infringe the patent or other intellectual property
+rights of any other entity. Each Contributor disclaims any liability to Recipient
+for claims brought by any other entity based on infringement of intellectual
+property rights or otherwise. As a condition to exercising the rights and
+licenses granted hereunder, each Recipient hereby assumes sole responsibility
+to secure any other intellectual property rights needed, if any. For example,
+if a third party patent license is required to allow Recipient to distribute
+the Program, it is Recipient's responsibility to acquire that license before
+distributing the Program.</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>d)
+Each Contributor represents that to its knowledge it has sufficient copyright
+rights in its Contribution, if any, to grant the copyright license set forth in
+this Agreement. </span></p>
+
+<p><b><span style='font-size:10.0pt'>3. REQUIREMENTS</span></b> </p>
+
+<p><span style='font-size:10.0pt'>A Contributor may choose to distribute the
+Program in object code form under its own license agreement, provided that:</span>
+</p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
+it complies with the terms and conditions of this Agreement; and</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
+its license agreement:</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
+effectively disclaims on behalf of all Contributors all warranties and
+conditions, express and implied, including warranties or conditions of title
+and non-infringement, and implied warranties or conditions of merchantability
+and fitness for a particular purpose; </span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
+effectively excludes on behalf of all Contributors all liability for damages,
+including direct, indirect, special, incidental and consequential damages, such
+as lost profits; </span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iii)
+states that any provisions which differ from this Agreement are offered by that
+Contributor alone and not by any other party; and</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iv)
+states that source code for the Program is available from such Contributor, and
+informs licensees how to obtain it in a reasonable manner on or through a
+medium customarily used for software exchange.<span style='color:blue'> </span></span></p>
+
+<p><span style='font-size:10.0pt'>When the Program is made available in source
+code form:</span> </p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
+it must be made available under this Agreement; and </span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b) a
+copy of this Agreement must be included with each copy of the Program. </span></p>
+
+<p><span style='font-size:10.0pt'>Contributors may not remove or alter any
+copyright notices contained within the Program. </span></p>
+
+<p><span style='font-size:10.0pt'>Each Contributor must identify itself as the
+originator of its Contribution, if any, in a manner that reasonably allows
+subsequent Recipients to identify the originator of the Contribution. </span></p>
+
+<p><b><span style='font-size:10.0pt'>4. COMMERCIAL DISTRIBUTION</span></b> </p>
+
+<p><span style='font-size:10.0pt'>Commercial distributors of software may
+accept certain responsibilities with respect to end users, business partners
+and the like. While this license is intended to facilitate the commercial use
+of the Program, the Contributor who includes the Program in a commercial
+product offering should do so in a manner which does not create potential
+liability for other Contributors. Therefore, if a Contributor includes the
+Program in a commercial product offering, such Contributor (&quot;Commercial
+Contributor&quot;) hereby agrees to defend and indemnify every other
+Contributor (&quot;Indemnified Contributor&quot;) against any losses, damages and
+costs (collectively &quot;Losses&quot;) arising from claims, lawsuits and other
+legal actions brought by a third party against the Indemnified Contributor to
+the extent caused by the acts or omissions of such Commercial Contributor in
+connection with its distribution of the Program in a commercial product
+offering. The obligations in this section do not apply to any claims or Losses
+relating to any actual or alleged intellectual property infringement. In order
+to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
+Contributor in writing of such claim, and b) allow the Commercial Contributor
+to control, and cooperate with the Commercial Contributor in, the defense and
+any related settlement negotiations. The Indemnified Contributor may participate
+in any such claim at its own expense.</span> </p>
+
+<p><span style='font-size:10.0pt'>For example, a Contributor might include the
+Program in a commercial product offering, Product X. That Contributor is then a
+Commercial Contributor. If that Commercial Contributor then makes performance
+claims, or offers warranties related to Product X, those performance claims and
+warranties are such Commercial Contributor's responsibility alone. Under this
+section, the Commercial Contributor would have to defend claims against the
+other Contributors related to those performance claims and warranties, and if a
+court requires any other Contributor to pay any damages as a result, the
+Commercial Contributor must pay those damages.</span> </p>
+
+<p><b><span style='font-size:10.0pt'>5. NO WARRANTY</span></b> </p>
+
+<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
+AGREEMENT, THE PROGRAM IS PROVIDED ON AN &quot;AS IS&quot; BASIS, WITHOUT
+WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING,
+WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
+MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
+responsible for determining the appropriateness of using and distributing the
+Program and assumes all risks associated with its exercise of rights under this
+Agreement , including but not limited to the risks and costs of program errors,
+compliance with applicable laws, damage to or loss of data, programs or
+equipment, and unavailability or interruption of operations. </span></p>
+
+<p><b><span style='font-size:10.0pt'>6. DISCLAIMER OF LIABILITY</span></b> </p>
+
+<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
+AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR
+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY
+OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF
+THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF
+THE POSSIBILITY OF SUCH DAMAGES.</span> </p>
+
+<p><b><span style='font-size:10.0pt'>7. GENERAL</span></b> </p>
+
+<p><span style='font-size:10.0pt'>If any provision of this Agreement is invalid
+or unenforceable under applicable law, it shall not affect the validity or
+enforceability of the remainder of the terms of this Agreement, and without
+further action by the parties hereto, such provision shall be reformed to the
+minimum extent necessary to make such provision valid and enforceable.</span> </p>
+
+<p><span style='font-size:10.0pt'>If Recipient institutes patent litigation
+against any entity (including a cross-claim or counterclaim in a lawsuit)
+alleging that the Program itself (excluding combinations of the Program with
+other software or hardware) infringes such Recipient's patent(s), then such
+Recipient's rights granted under Section 2(b) shall terminate as of the date
+such litigation is filed. </span></p>
+
+<p><span style='font-size:10.0pt'>All Recipient's rights under this Agreement
+shall terminate if it fails to comply with any of the material terms or
+conditions of this Agreement and does not cure such failure in a reasonable
+period of time after becoming aware of such noncompliance. If all Recipient's
+rights under this Agreement terminate, Recipient agrees to cease use and
+distribution of the Program as soon as reasonably practicable. However,
+Recipient's obligations under this Agreement and any licenses granted by
+Recipient relating to the Program shall continue and survive. </span></p>
+
+<p><span style='font-size:10.0pt'>Everyone is permitted to copy and distribute
+copies of this Agreement, but in order to avoid inconsistency the Agreement is
+copyrighted and may only be modified in the following manner. The Agreement
+Steward reserves the right to publish new versions (including revisions) of
+this Agreement from time to time. No one other than the Agreement Steward has
+the right to modify this Agreement. The Eclipse Foundation is the initial
+Agreement Steward. The Eclipse Foundation may assign the responsibility to
+serve as the Agreement Steward to a suitable separate entity. Each new version
+of the Agreement will be given a distinguishing version number. The Program
+(including Contributions) may always be distributed subject to the version of
+the Agreement under which it was received. In addition, after a new version of
+the Agreement is published, Contributor may elect to distribute the Program
+(including its Contributions) under the new version. Except as expressly stated
+in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to
+the intellectual property of any Contributor under this Agreement, whether
+expressly, by implication, estoppel or otherwise. All rights in the Program not
+expressly granted under this Agreement are reserved.</span> </p>
+
+<p><span style='font-size:10.0pt'>This Agreement is governed by the laws of the
+State of New York and the intellectual property laws of the United States of
+America. No party to this Agreement will bring a legal action under this
+Agreement more than one year after the cause of action arose. Each party waives
+its rights to a jury trial in any resulting litigation.</span> </p>
+
+<p class=MsoNormal></p>
+
+</div>
+
+</body>
+
+</html>
\ No newline at end of file
diff --git a/plugins/org.polarsys.chess.feature/feature.xml b/plugins/org.polarsys.chess.feature/feature.xml
new file mode 100644
index 000000000..d8a329428
--- /dev/null
+++ b/plugins/org.polarsys.chess.feature/feature.xml
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<feature
+      id="org.polarsys.chess.feature"
+      label="CHESS Polarsys"
+      version="0.7.0.qualifier">
+
+   <description url="http://www.example.com/description">
+      The CHESS feature provides the CHESS editor and the model transformations 
+supporting the CHESS methodology for the development of high-integrity
+systems.
+   </description>
+
+   <copyright url="http://www.eclipse.org/legal/epl-v10.html">
+      Copyright (c) 2011-2014 UPD-Intecs
+All rights reserved.   This program and the accompanying materials
+are made available under the terms of the Eclipse Public License
+v1.0 which accompanies this distribution, and is available at
+http://www.eclipse.org/legal/epl-v10.html
+   </copyright>
+
+   <license url="%licenseURL">
+      %license
+   </license>
+
+   <plugin
+         id="org.polarsys.chess.chessmlprofile"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.polarsys.chess.codegen.ada.singlenode"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.polarsys.chess.commands"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.polarsys.chess.core"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.polarsys.chess.discovery"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.polarsys.chess.m2m"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.polarsys.chess.validator"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.polarsys.chess.wizards"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.polarsys.chess.service"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+</feature>
diff --git a/plugins/org.polarsys.chess.feature/license.html b/plugins/org.polarsys.chess.feature/license.html
new file mode 100644
index 000000000..aa5a8fc03
--- /dev/null
+++ b/plugins/org.polarsys.chess.feature/license.html
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
+<title>Eclipse Foundation Software User Agreement</title>
+</head>
+
+<body lang="EN-US">
+<h2>Eclipse Foundation Software User Agreement</h2>
+<p>April 9, 2014</p>
+
+<h3>Usage Of Content</h3>
+
+<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
+   (COLLECTIVELY &quot;CONTENT&quot;).  USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
+   CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU AGREE THAT YOUR USE
+   OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
+   NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
+   CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
+
+<h3>Applicable Licenses</h3>
+
+<p>Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0
+   (&quot;EPL&quot;).  A copy of the EPL is provided with this Content and is also available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+   For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse Foundation source code
+   repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
+
+<ul>
+       <li>Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content.  Typical modules may include plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).</li>
+       <li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java&trade; ARchive) in a directory named &quot;plugins&quot;.</li>
+       <li>A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of the Plug-ins
+      and/or Fragments associated with that Feature.</li>
+       <li>Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</li>
+</ul>
+
+<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
+Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;).  Abouts and Feature Licenses may be located in any directory of a Download or Module
+including, but not limited to the following locations:</p>
+
+<ul>
+       <li>The top-level (root) directory</li>
+       <li>Plug-in and Fragment directories</li>
+       <li>Inside Plug-ins and Fragments packaged as JARs</li>
+       <li>Sub-directories of the directory named &quot;src&quot; of certain Plug-ins</li>
+       <li>Feature directories</li>
+</ul>
+
+<p>Note: if a Feature made available by the Eclipse Foundation is installed using the Provisioning Technology (as defined below), you must agree to a license (&quot;Feature Update License&quot;) during the
+installation process.  If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
+inform you where you can locate them.  Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.
+Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
+that directory.</p>
+
+<p>THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.  SOME OF THESE
+OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
+
+<ul>
+       <li>Eclipse Distribution License Version 1.0 (available at <a href="http://www.eclipse.org/licenses/edl-v10.html">http://www.eclipse.org/licenses/edl-v1.0.html</a>)</li>
+       <li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
+       <li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
+       <li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
+       <li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
+</ul>
+
+<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT.  If no About, Feature License, or Feature Update License is provided, please
+contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.</p>
+
+
+<h3>Use of Provisioning Technology</h3>
+
+<p>The Eclipse Foundation makes available provisioning software, examples of which include, but are not limited to, p2 and the Eclipse
+   Update Manager (&quot;Provisioning Technology&quot;) for the purpose of allowing users to install software, documentation, information and/or
+   other materials (collectively &quot;Installable Software&quot;). This capability is provided with the intent of allowing such users to
+   install, extend and update Eclipse-based products. Information about packaging Installable Software is available at <a
+       href="http://eclipse.org/equinox/p2/repository_packaging.html">http://eclipse.org/equinox/p2/repository_packaging.html</a>
+   (&quot;Specification&quot;).</p>
+
+<p>You may use Provisioning Technology to allow other parties to install Installable Software. You shall be responsible for enabling the
+   applicable license agreements relating to the Installable Software to be presented to, and accepted by, the users of the Provisioning Technology
+   in accordance with the Specification. By using Provisioning Technology in such a manner and making it available in accordance with the
+   Specification, you further acknowledge your agreement to, and the acquisition of all necessary rights to permit the following:</p>
+
+<ol>
+       <li>A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute the Provisioning Technology
+       on a machine (&quot;Target Machine&quot;) with the intent of installing, extending or updating the functionality of an Eclipse-based
+       product.</li>
+       <li>During the Provisioning Process, the Provisioning Technology may cause third party Installable Software or a portion thereof to be
+       accessed and copied to the Target Machine.</li>
+       <li>Pursuant to the Specification, you will provide to the user the terms and conditions that govern the use of the Installable
+       Software (&quot;Installable Software Agreement&quot;) and such Installable Software Agreement shall be accessed from the Target
+       Machine in accordance with the Specification. Such Installable Software Agreement must inform the user of the terms and conditions that govern
+       the Installable Software and must solicit acceptance by the end user in the manner prescribed in such Installable Software Agreement. Upon such
+       indication of agreement by the user, the provisioning Technology will complete installation of the Installable Software.</li>
+</ol>
+
+<h3>Cryptography</h3>
+
+<p>Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to
+   another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import,
+   possession, or use, and re-export of encryption software, to see if this is permitted.</p>
+
+<p><small>Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.</small></p>
+</body>
+</html>
\ No newline at end of file
diff --git a/plugins/org.polarsys.chess.m2m/.classpath b/plugins/org.polarsys.chess.m2m/.classpath
new file mode 100644
index 000000000..ad32c83a7
--- /dev/null
+++ b/plugins/org.polarsys.chess.m2m/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/plugins/org.polarsys.chess.m2m/.gitignore b/plugins/org.polarsys.chess.m2m/.gitignore
new file mode 100644
index 000000000..ae3c17260
--- /dev/null
+++ b/plugins/org.polarsys.chess.m2m/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/plugins/org.polarsys.chess.m2m/.project b/plugins/org.polarsys.chess.m2m/.project
new file mode 100644
index 000000000..b85affb39
--- /dev/null
+++ b/plugins/org.polarsys.chess.m2m/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.polarsys.chess.m2m</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
diff --git a/plugins/org.polarsys.chess.m2m/.settings/org.eclipse.jdt.core.prefs b/plugins/org.polarsys.chess.m2m/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 000000000..7ac39f290
--- /dev/null
+++ b/plugins/org.polarsys.chess.m2m/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,8 @@
+#Wed Aug 24 14:45:58 CEST 2011
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.6
diff --git a/plugins/org.polarsys.chess.m2m/META-INF/MANIFEST.MF b/plugins/org.polarsys.chess.m2m/META-INF/MANIFEST.MF
new file mode 100644
index 000000000..74eda66c9
--- /dev/null
+++ b/plugins/org.polarsys.chess.m2m/META-INF/MANIFEST.MF
@@ -0,0 +1,36 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-SymbolicName: org.polarsys.chess.m2m;singleton:=true
+Bundle-Version: 0.8.0.qualifier
+Bundle-Activator: org.polarsys.chess.m2m.Activator
+Require-Bundle: org.eclipse.ui,
+ org.eclipse.core.runtime,
+ org.eclipse.m2m.qvt.oml,
+ org.eclipse.core.resources,
+ org.eclipse.m2m.qvt.oml.common,
+ org.eclipse.m2m.qvt.oml.emf.util,
+ org.eclipse.uml2.uml,
+ org.eclipse.papyrus.marte.static.profile,
+ org.polarsys.chess.core,
+ org.polarsys.chess.chessmlprofile,
+ org.eclipse.m2m.qvt.oml.runtime,
+ org.eclipse.emf.edit,
+ org.eclipse.emf.transaction,
+ org.eclipse.papyrus.infra.core,
+ org.eclipse.papyrus.editor,
+ org.eclipse.acceleo.engine,
+ org.eclipse.m2m.qvt.oml.runtime.ui,
+ org.eclipse.debug.core,
+ org.eclipse.m2m.qvt.oml.editor.ui,
+ org.polarsys.chess.validator,
+ org.eclipse.ui.console,
+ org.eclipse.ui.ide,
+ org.eclipse.ui.workbench,
+ org.polarsys.chess.service,
+ org.polarsys.chess.m2m,
+ org.eclipse.emf.common,
+ org.eclipse.jface
+Bundle-ActivationPolicy: lazy
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Export-Package: org.polarsys.chess.m2m
+Bundle-Vendor: University of Padova
diff --git a/plugins/org.polarsys.chess.m2m/about.html b/plugins/org.polarsys.chess.m2m/about.html
new file mode 100644
index 000000000..209103075
--- /dev/null
+++ b/plugins/org.polarsys.chess.m2m/about.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+ 
+<p>November 14, 2008</p>	
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
+being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content.  Check the Redistributor's license that was 
+provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
+
+</body>
+</html>
\ No newline at end of file
diff --git a/plugins/org.polarsys.chess.m2m/build.properties b/plugins/org.polarsys.chess.m2m/build.properties
new file mode 100644
index 000000000..d46f78418
--- /dev/null
+++ b/plugins/org.polarsys.chess.m2m/build.properties
@@ -0,0 +1,8 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+               .,\
+               plugin.xml,\
+               transformations/,\
+               about.html
+src.includes = transformations/
diff --git a/plugins/org.polarsys.chess.m2m/license/Copyright-CeilingCalculator.txt b/plugins/org.polarsys.chess.m2m/license/Copyright-CeilingCalculator.txt
new file mode 100644
index 000000000..626dd9c98
--- /dev/null
+++ b/plugins/org.polarsys.chess.m2m/license/Copyright-CeilingCalculator.txt
@@ -0,0 +1,14 @@
+-----------------------------------------------------------------------
+--          Ceiling calculator for the CHESS component model         --
+--                                                                   --
+--                    Copyright (C) 2011-2012                        --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author: Marco Panunzio         panunzio@math.unipd.it             --
+--                                                                   --
+-- All rights reserved. This program and the accompanying materials  --
+-- are made available under the terms of the Eclipse Public License  --
+-- v1.0 which accompanies this distribution, and is available at     --
+-- http://www.eclipse.org/legal/epl-v10.html                         --
+-----------------------------------------------------------------------
+
diff --git a/plugins/org.polarsys.chess.m2m/license/Copyright.txt b/plugins/org.polarsys.chess.m2m/license/Copyright.txt
new file mode 100644
index 000000000..849e83462
--- /dev/null
+++ b/plugins/org.polarsys.chess.m2m/license/Copyright.txt
@@ -0,0 +1,13 @@
+-----------------------------------------------------------------------
+--          Ada code generator for the CHESS component model         --
+--                                                                   --
+--                    Copyright (C) 2011-2012                        --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author: Marco Panunzio         panunzio@math.unipd.it             --
+--                                                                   --
+-- All rights reserved. This program and the accompanying materials  --
+-- are made available under the terms of the Eclipse Public License  --
+-- v1.0 which accompanies this distribution, and is available at     --
+-- http://www.eclipse.org/legal/epl-v10.html                         --
+-----------------------------------------------------------------------
diff --git a/plugins/org.polarsys.chess.m2m/plugin.xml b/plugins/org.polarsys.chess.m2m/plugin.xml
new file mode 100644
index 000000000..f78cd5cda
--- /dev/null
+++ b/plugins/org.polarsys.chess.m2m/plugin.xml
@@ -0,0 +1,196 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<plugin>
+   <extension
+         point="org.eclipse.m2m.qvt.oml.runtime.qvtTransformation">
+      <transformation
+            file="transformations/CHESS_PIM2PSM.qvto"
+            id="transformations/CHESS_PIM2PSM">
+      </transformation>
+   </extension>
+<extension point="org.eclipse.m2m.qvt.oml.javaBlackboxUnits">
+     <unit
+        name="lib"
+        namespace="chess">
+        <library
+           class="org.polarsys.chess.m2m.blackbox.VSLUtils"
+           name="VSLUtils">
+           <metamodel nsURI="http://www.eclipse.org/emf/2002/Ecore"/>
+           <metamodel nsURI="http://www.eclipse.org/papyrus/MARTE/1"/>
+           <metamodel nsURI="http://CHESS"/>
+           <metamodel nsURI="http://www.eclipse.org/uml2/2.0.0/UML"/>
+        </library>
+     </unit>
+	</extension>
+	
+	<extension point="org.eclipse.m2m.qvt.oml.javaBlackboxUnits">
+     <unit
+        name="libJava4QVTutils"
+        namespace="chess">
+        <library
+           class="org.polarsys.chess.m2m.blackbox.Java4QVTutils"
+           name="Java4QVTutils">
+           <metamodel nsURI="http://www.eclipse.org/emf/2002/Ecore"/>
+           <metamodel nsURI="http://www.eclipse.org/papyrus/MARTE/1"/>
+           <metamodel nsURI="http://CHESS"/>
+           <metamodel nsURI="http://www.eclipse.org/uml2/2.0.0/UML"/>
+        </library>
+     </unit>
+	</extension>
+	 
+  <!--<extension point="org.eclipse.ui.popupMenus">
+      <objectContribution
+            adaptable="true"
+            objectClass="org.eclipse.core.resources.IFile"
+            nameFilter="*.qvtotrace"
+            id="it.unipd.chess.m2m.popupMenus.contribution.IFile">
+         <action
+               class="it.unipd.chess.m2m.backpropagation.BackpropagationUIAction"
+               enablesFor="1"
+               id="it.unipd.chess.m2m.popupMenus.backpropagationAction"
+               icon="icons/default.gif"
+               label="Backpropagation"/>
+      </objectContribution>
+   </extension>-->
+   <!--<extension point="org.eclipse.ui.popupMenus">
+      <objectContribution
+            adaptable="true"
+            objectClass="org.eclipse.core.resources.IFile"
+            nameFilter="*.uml"
+            id="it.unipd.chess.m2m.popupMenus.contribution.uml">
+         <action
+               class="it.unipd.chess.m2m.QVToUIAction"
+               enablesFor="1"
+               id="it.unipd.chess.m2m.popupMenus.qvtoUIAction"
+               icon="icons/default.gif"
+               label="Schedulability Analysis"/>
+      </objectContribution>
+   </extension>-->
+   <!--<extension
+         point="org.eclipse.m2m.qvt.oml.runtime.qvtTransformation">
+      <transformation
+            file="transformation/AlePIM2PSM.qvto"
+            id="transformation/AlePIM2PSM">
+         <input
+               metamodel="http://www.eclipse.org/uml2/2.0.0/UML"
+               metaclass="UML/Model">
+         </input>
+         <output
+               metamodel="http://www.eclipse.org/uml2/2.0.0/UML"
+               metaclass="UML/Model">
+         </output>
+            
+      </transformation>
+   </extension>-->
+   
+   <extension
+         point="org.eclipse.ui.menus">
+      <menuContribution
+            allPopups="false"
+            locationURI="menu:org.eclipse.ui.main.menu">
+         <menu
+               id="org.polarsys.chess.mainMenu"
+               label="CHESS"
+               mnemonic="E">
+            <command
+                  commandId="it.unipd.chess.m2m.purgePIM"
+                  label="Purge user model"
+                  style="push">
+               <visibleWhen
+                     checkEnabled="false">
+                  <and>
+                     <with
+                           variable="activeEditorInput">
+                        <adapt
+                              type="org.eclipse.core.resources.IResource">
+                           <test
+                                 property="org.eclipse.core.resources.projectNature"
+                                 value="org.polarsys.chess.CHESSNature">
+                           </test>
+                        </adapt>
+                     </with>
+                  </and>
+               </visibleWhen>
+            </command>
+            <command
+                  commandId="it.unipd.chess.m2m.QvtoUIHandlerVERDE.id"
+                  label="Schedulability (VERDE)"
+                  style="push">
+               <visibleWhen
+                     checkEnabled="false">
+                  <and>
+                     <with
+                           variable="activeEditorInput">
+                        <adapt
+                              type="org.eclipse.core.resources.IResource">
+                           <test
+                                 property="org.eclipse.core.resources.projectNature"
+                                 value="org.polarsys.chess.CHESSNature">
+                           </test>
+                        </adapt>
+                     </with>
+                  </and>
+               </visibleWhen>
+            </command>
+            <command
+               commandId="it.unipd.chess.m2m.QVToUIHandlerEnd2End.id"
+               label="End-To-End Scenario Analysis"
+               style="push">
+               <visibleWhen
+                     checkEnabled="false">
+                  <and>
+                     <with
+                           variable="activeEditorInput">
+                        <adapt
+                              type="org.eclipse.core.resources.IResource">
+                           <test
+                                 property="org.eclipse.core.resources.projectNature"
+                                 value="org.polarsys.chess.CHESSNature">
+                           </test>
+                        </adapt>
+                     </with>
+                  </and>
+               </visibleWhen>
+            </command>
+         </menu>
+      </menuContribution>
+   </extension>
+   <extension
+         id="Build Instance Command"
+         point="org.eclipse.ui.commands">
+      <!--command
+            categoryId="it.unipd.chess.commands.category"
+            defaultHandler="org.polarsys.chess.m2m.QVToUIHandlerFull"
+            id="it.unipd.chess.m2m.QvtoUIHandlerFull.id"
+            name="Schedulability Analysis">
+      </command-->
+      <command
+            category="it.unipd.chess.category"
+            categoryId="it.unipd.chess.commands.category"
+            defaultHandler="org.polarsys.chess.m2m.PurgePIMHandler"
+            id="it.unipd.chess.m2m.purgePIM"
+            name="Purge user model">
+      </command>
+      <command
+            categoryId="it.unipd.chess.commands.category"
+            defaultHandler="org.polarsys.chess.m2m.QVToUIHandlerVERDE"
+            id="it.unipd.chess.m2m.QvtoUIHandlerVERDE.id"
+            name="Schedulability Analysis (VERDE)">
+      </command>
+      <command
+            categoryId="it.unipd.chess.commands.category"
+            defaultHandler="org.polarsys.chess.m2m.QVToUIHandlerEnd2End"
+            id="it.unipd.chess.m2m.QVToUIHandlerEnd2End.id"
+            name="End-To-End Scenario Analysis">
+      </command>
+      <!--
+      <command
+            categoryId="it.unipd.chess.commands.category"
+            defaultHandler="it.unipd.chess.m2m.QVToUIHandler"
+            id="it.unipd.chess.m2m.QvtoUIHandler.id"
+            name="Schedulability Analysis">
+      </command>
+      -->
+   </extension>
+   
+</plugin>
diff --git a/plugins/org.polarsys.chess.m2m/src/org/polarsys/chess/m2m/AbstractQVToUIHandler.java b/plugins/org.polarsys.chess.m2m/src/org/polarsys/chess/m2m/AbstractQVToUIHandler.java
new file mode 100644
index 000000000..4203ed23a
--- /dev/null
+++ b/plugins/org.polarsys.chess.m2m/src/org/polarsys/chess/m2m/AbstractQVToUIHandler.java
@@ -0,0 +1,130 @@
+/*
+-----------------------------------------------------------------------
+--          			CHESS M2M plugin							 --
+--                                                                   --
+--                    Copyright (C) 2011-2012                        --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author: Alessandro Zovi         azovi@math.unipd.it 		         --
+--                                                                   --
+-- All rights reserved. This program and the accompanying materials  --
+-- are made available under the terms of the Eclipse Public License  --
+-- v1.0 which accompanies this distribution, and is available at     --
+-- http://www.eclipse.org/legal/epl-v10.html                         --
+-----------------------------------------------------------------------
+*/
+
+package org.polarsys.chess.m2m;
+
+import org.eclipse.core.commands.AbstractHandler;
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.core.runtime.jobs.IJobChangeEvent;
+import org.eclipse.core.runtime.jobs.Job;
+import org.eclipse.core.runtime.jobs.JobChangeAdapter;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.papyrus.editor.PapyrusMultiDiagramEditor;
+import org.eclipse.papyrus.infra.core.services.ServiceException;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.IFileEditorInput;
+import org.eclipse.ui.handlers.HandlerUtil;
+import org.polarsys.chess.core.util.CHESSProjectSupport;
+import org.polarsys.chess.core.util.uml.ResourceUtils;
+import org.polarsys.chess.service.utils.CHESSEditorUtils;
+
+public abstract class AbstractQVToUIHandler extends AbstractHandler {
+
+
+	protected IEditorPart editor;
+
+	private IProject getActiveProject(IEditorPart editor) {
+		IFileEditorInput input = (IFileEditorInput) editor.getEditorInput();
+		IFile file = input.getFile();
+		return file.getProject();
+	}
+
+	public Object execute(final ExecutionEvent event) throws ExecutionException {
+		editor = HandlerUtil.getActiveEditor(event);
+		
+		final Job job = new Job("Transforming") {
+			protected IStatus run(IProgressMonitor monitor) {
+				try {
+					preOperations();
+					String result = "";
+					try {
+						//CHESSProjectSupport.installMAST();
+						AbstractQVToUIHandler.this.execute_(editor, monitor);
+						//Reopen the editor
+						CHESSEditorUtils.reopenEditor(editor, true);
+					} catch (Exception e) {
+						throw e;
+					} finally {
+						getActiveProject(editor).refreshLocal(IResource.DEPTH_INFINITE, monitor);
+					}
+							
+					postOperations(result);
+					
+				} catch (Exception e) {
+					e.printStackTrace();
+					return new Status(Status.ERROR, Activator.PLUGIN_ID, 1,
+							"Error in transformation "+ e.getMessage(), null);
+				}
+				if (monitor.isCanceled())
+					return Status.CANCEL_STATUS;
+				return Status.OK_STATUS;
+			}
+		};
+		job.addJobChangeListener(new JobChangeAdapter() {
+			public void done(IJobChangeEvent event) {
+				if (event.getResult().isOK())
+					CHESSProjectSupport.printlnToCHESSConsole("Job completed successfully");
+				else
+					CHESSProjectSupport.printlnToCHESSConsole("Job did not complete successfully");
+			}
+		});
+		job.setUser(true);
+		job.setPriority(Job.SHORT);
+		job.schedule();
+		return null;
+	}
+	
+	protected void postOperations(String result) throws Exception {
+	}
+
+	protected void preOperations() {
+	}
+
+	public String execute_(IEditorPart editorPart, IProgressMonitor monitor) throws Exception {
+		monitor.beginTask("Transforming", 4);
+		
+		if (!(CHESSEditorUtils.isCHESSProject(editorPart)))
+			return null;
+		
+		PapyrusMultiDiagramEditor editor = (PapyrusMultiDiagramEditor)editorPart;
+		
+		Resource inResource = null;
+		try {
+			inResource = ResourceUtils.getUMLResource(editor.getServicesRegistry());
+		} catch (ServiceException e) {
+			throw new Exception("Unable to load the model");
+		}
+		
+		IFile inputFile = CHESSProjectSupport.resourceToFile(inResource);
+		String result = performPIMPSMTransformation(editor, inputFile, monitor);
+		
+		//CHESSProjectSupport.fileReplace(newFile, inputFile);
+		return result;
+	}
+	
+	public abstract String performPIMPSMTransformation(PapyrusMultiDiagramEditor editor, IFile modelFile, IProgressMonitor monitor) throws Exception;
+	/*{
+		Transformations.performPIMPSMTransformation((CHESSEditor)editor, inputFile, monitor);
+		
+	}*/
+}
diff --git a/plugins/org.polarsys.chess.m2m/src/org/polarsys/chess/m2m/AcceleoMarte2mastProxy.java b/plugins/org.polarsys.chess.m2m/src/org/polarsys/chess/m2m/AcceleoMarte2mastProxy.java
new file mode 100644
index 000000000..db38c98ab
--- /dev/null
+++ b/plugins/org.polarsys.chess.m2m/src/org/polarsys/chess/m2m/AcceleoMarte2mastProxy.java
@@ -0,0 +1,19 @@
+package org.polarsys.chess.m2m;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IFolder;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.polarsys.chess.core.transformationExecutor.ITransformationExecutor;
+import org.polarsys.chess.core.transformationExecutor.TransformationExecutorManager;
+
+public class AcceleoMarte2mastProxy {
+
+	public static String runMarte2Mast(IFile modelCopy, IFolder transDir,
+			IProgressMonitor monitor) throws Exception {
+		ITransformationExecutor e = TransformationExecutorManager.instance().getExecutor("MARTE2MAST");
+		if (e == null)
+			throw new Exception ("MARTE2MAST plugin not found.");
+		return e.execute(modelCopy, transDir, monitor);
+	}
+
+}
diff --git a/plugins/org.polarsys.chess.m2m/src/org/polarsys/chess/m2m/Activator.java b/plugins/org.polarsys.chess.m2m/src/org/polarsys/chess/m2m/Activator.java
new file mode 100644
index 000000000..d520a7214
--- /dev/null
+++ b/plugins/org.polarsys.chess.m2m/src/org/polarsys/chess/m2m/Activator.java
@@ -0,0 +1,65 @@
+/*
+-----------------------------------------------------------------------
+--          			CHESS M2M plugin							 --
+--                                                                   --
+--                    Copyright (C) 2011-2012                        --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author: Alessandro Zovi         azovi@math.unipd.it 		         --
+--                                                                   --
+-- All rights reserved. This program and the accompanying materials  --
+-- are made available under the terms of the Eclipse Public License  --
+-- v1.0 which accompanies this distribution, and is available at     --
+-- http://www.eclipse.org/legal/epl-v10.html                         --
+-----------------------------------------------------------------------
+*/
+package org.polarsys.chess.m2m;
+
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+import org.osgi.framework.BundleContext;
+
+/**
+ * The activator class controls the plug-in life cycle
+ */
+public class Activator extends AbstractUIPlugin {
+
+	// The plug-in ID
+	public static final String PLUGIN_ID = "org.polarsys.chess.m2m"; //$NON-NLS-1$
+
+	// The shared instance
+	private static Activator plugin;
+	
+	/**
+	 * The constructor
+	 */
+	public Activator() {
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
+	 */
+	public void start(BundleContext context) throws Exception {
+		super.start(context);
+		plugin = this;
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
+	 */
+	public void stop(BundleContext context) throws Exception {
+		plugin = null;
+		super.stop(context);
+	}
+
+	/**
+	 * Returns the shared instance
+	 *
+	 * @return the shared instance
+	 */
+	public static Activator getDefault() {
+		return plugin;
+	}
+
+}
diff --git a/plugins/org.polarsys.chess.m2m/src/org/polarsys/chess/m2m/AnalysisContextSelectionDialog.java b/plugins/org.polarsys.chess.m2m/src/org/polarsys/chess/m2m/AnalysisContextSelectionDialog.java
new file mode 100644
index 000000000..8fb620632
--- /dev/null
+++ b/plugins/org.polarsys.chess.m2m/src/org/polarsys/chess/m2m/AnalysisContextSelectionDialog.java
@@ -0,0 +1,75 @@
+package org.polarsys.chess.m2m;
+
+import java.util.List;
+
+import org.eclipse.jface.dialogs.Dialog;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Combo;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.uml2.uml.Class;
+
+public class AnalysisContextSelectionDialog extends Dialog {
+
+	private Combo chooseContextField;
+	private String context;
+	private List<org.eclipse.uml2.uml.Class> contextList;
+	
+	public AnalysisContextSelectionDialog(Shell parentShell, List<Class> selection) {
+		super(parentShell);
+		contextList = selection;
+	}
+
+	@Override
+	protected Control createDialogArea(Composite parent) {
+		GridLayout layout = new GridLayout(1, false);
+
+		layout.horizontalSpacing = 4;
+		layout.verticalSpacing = 4;
+		layout.marginBottom = 5;
+		layout.marginTop = 5;
+	
+		parent.setLayout(layout);
+		new Label(parent, SWT.NONE).setText("Scenarios found in model for End-To-End Analysis:");
+		
+		GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
+		chooseContextField = new Combo(parent, SWT.DROP_DOWN | SWT.READ_ONLY);
+		for(org.eclipse.uml2.uml.Class scenario : contextList){
+			chooseContextField.add(scenario.getQualifiedName());
+		}
+		chooseContextField.setLayoutData(gridData);
+		
+		new Label(parent, SWT.NONE).setText("");
+		
+		return parent;	
+	}
+	
+	@Override
+	protected void configureShell(Shell shell) {
+		super.configureShell(shell);
+		shell.setText("Select End-To-End Context to analyze");
+	}
+
+	@Override
+	protected boolean isResizable() {
+		return true;
+	}
+	
+	@Override
+	protected void okPressed() {
+		setContext(chooseContextField.getText());
+		super.okPressed();
+	}
+	
+	public void setContext(String qname) {
+		this.context = qname;
+	}
+
+	public String getContext() {
+		return context;
+	}
+}
diff --git a/plugins/org.polarsys.chess.m2m/src/org/polarsys/chess/m2m/End2EndResultDialog.java b/plugins/org.polarsys.chess.m2m/src/org/polarsys/chess/m2m/End2EndResultDialog.java
new file mode 100644
index 000000000..4c11e6479
--- /dev/null
+++ b/plugins/org.polarsys.chess.m2m/src/org/polarsys/chess/m2m/End2EndResultDialog.java
@@ -0,0 +1,510 @@
+package org.polarsys.chess.m2m;
+
+import java.io.ByteArrayInputStream;
+import java.io.InputStream;
+import java.net.URL;
+import java.text.SimpleDateFormat;
+import java.util.Calendar;
+import java.util.List;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IFolder;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.FileLocator;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.jface.dialogs.Dialog;
+import org.eclipse.jface.dialogs.IDialogConstants;
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.SAM.SaAnalysisContext;
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.SAM.SaEndtoEndFlow;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.Alloc.Assign;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.graphics.Color;
+import org.eclipse.swt.graphics.Device;
+import org.eclipse.swt.graphics.Font;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.swt.graphics.Rectangle;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Monitor;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.swt.widgets.Table;
+import org.eclipse.swt.widgets.TableColumn;
+import org.eclipse.swt.widgets.TableItem;
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityNode;
+import org.eclipse.uml2.uml.CallBehaviorAction;
+import org.eclipse.uml2.uml.InstanceSpecification;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.Operation;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.CH_HwProcessor;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.CHRtPortSlot;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.CHRtSpecification;
+import org.polarsys.chess.core.Activator;
+import org.polarsys.chess.core.util.CHESSProjectSupport;
+
+public class End2EndResultDialog extends Dialog {
+
+	private List<CH_HwProcessor> cpus;
+	private List<CHRtPortSlot> specifications;
+	private SaAnalysisContext saAnalysisCtx;
+	private SaEndtoEndFlow saE2EFlow;
+	private List<Operation> messages;
+	private List<Assign> assigns;
+	private Shell shell;
+	private Model model;
+	private Label resultLabel;
+	private Table cpuTable;
+	private Label e2eLabel;
+	private Table e2eTable;
+	private Label addinfoLabel;
+	private Table slotTable;
+	private Label cpuLabel;
+	private String[] cpuTitles = {"HW Instance", "Utilization", "Result"};
+	private String[] e2eTitles = {"End-To-End Scenario", "Operation Sequence", "Response Time", "Deadline", "Result"};
+	private String[]slotTitles = {"SW Instance", "Operation", "Deployed On", "Response Time", "Deadline", "Result"};
+	
+	protected End2EndResultDialog(Shell parentShell, Model model) {
+		super(parentShell);
+		this.shell = parentShell;
+		this.model = model;
+		Image image = null;
+		URL url = FileLocator.find(Activator.getDefault().getBundle(), new Path("/resources/CHESSicon.gif"), null);
+    	try {
+			url = FileLocator.toFileURL(url);
+	    	image = Activator.getImageDescriptor(url.toString()).createImage();
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+    	super.setDefaultImage(image);
+	}
+	
+	@Override
+	protected Control createDialogArea(Composite parent) {
+		
+		Composite container = (Composite) super.createDialogArea(parent);
+		GridLayout layout = new GridLayout();
+		layout.numColumns = 1;
+		layout.horizontalSpacing = 4;
+		layout.verticalSpacing = 4;
+		layout.marginBottom = 5;
+		layout.marginTop = 5;
+		container.setLayout(layout);
+		
+		Device display = shell.getDisplay();
+		Color green = display.getSystemColor(SWT.COLOR_GREEN);
+		Color red = display.getSystemColor(SWT.COLOR_RED);
+		
+		resultLabel = new Label(container, SWT.NONE);
+		resultLabel.setFont(new Font(display,"Tahoma", 12, SWT.BOLD));
+		
+		//compute e2e analysis results:
+		String e2eTime = saE2EFlow.getEnd2EndT().get(0);
+		String e2eTimeUnit = getValue(e2eTime, "unit");
+		String e2eTimeVal = getValue(e2eTime, "worst");
+
+		String e2eDl = saE2EFlow.getEnd2EndD().get(0);
+		String e2eDlVal = getValue(e2eDl, "value"); 
+		String e2eDlUnit =  getValue(e2eDl, "unit");
+
+		//if deadline is expressed in ms and response time is in s, use ms (other cases?)
+		if(e2eTimeVal != null && !e2eTimeVal.isEmpty() && e2eTimeUnit.equals("s")){
+			double conv = Float.parseFloat(e2eTimeVal)*1000;
+			conv = Math.round(conv*100)/100.0d;
+			e2eTimeVal = Double.toString(conv);
+			e2eTimeUnit = "ms";
+		}
+		boolean e2eResult = false;
+		if (!e2eTimeVal.isEmpty() && !e2eDlVal.isEmpty() && Float.parseFloat(e2eTimeVal) <= Float.parseFloat(e2eDlVal)){
+			e2eResult = true;
+		}
+		if(e2eResult){
+			resultLabel.setText("End-To-End Timing Constraints are Satisfied by the System");
+		}else{
+			resultLabel.setText("End-To-End Timing Constraints are NOT Satisfied by the System");
+		}
+		cpuLabel = new Label(container, SWT.NONE);
+		cpuLabel.setFont(new Font(display,"Tahoma", 12, SWT.ITALIC));
+		cpuLabel.setText("HW Resources:");
+		
+		cpuTable = new Table (container, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL);
+		cpuTable.setLinesVisible (true);
+		cpuTable.setHeaderVisible (true);
+		GridData data = new GridData(SWT.FILL, SWT.FILL, true, true);
+		cpuTable.setLayoutData(data);
+		for (int i = 0; i < cpuTitles.length; i++) {
+			TableColumn column = new TableColumn(cpuTable, SWT.NONE);
+			column.setText(cpuTitles[i]);
+		}
+		for (CH_HwProcessor processor : cpus) {
+			TableItem item = new TableItem(cpuTable, SWT.NONE);
+			String utilization = processor.getUtilization();
+			if(utilization != null){
+				item.setText(0, processor.getBase_InstanceSpecification().getName());
+				String utilValue = getValue(utilization, "value");
+				item.setText(1, utilValue  + "%");
+				if(Float.parseFloat(utilValue) <= 100){
+					item.setText(2, "OK");
+					item.setForeground(2, green);
+				}else{
+					item.setText(2, "NOT OK: utilization over 100%");
+					item.setForeground(2, red);
+				}
+			}
+		}
+		for (int i = 0; i < cpuTitles.length; i++) {
+			cpuTable.getColumn(i).pack();
+		}
+		
+		e2eLabel = new Label(container, SWT.NONE);
+		e2eLabel.setFont(new Font(display,"Tahoma", 12, SWT.ITALIC));
+		e2eLabel.setText("End-To-End Scenario: ");
+		
+		e2eTable = new Table (container, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL);
+		e2eTable.setLinesVisible (true);
+		e2eTable.setHeaderVisible (true);
+		
+		data = new GridData(SWT.FILL, SWT.FILL, true, true);
+		e2eTable.setLayoutData(data);
+		for (int i = 0; i < e2eTitles.length; i++) {
+			TableColumn column = new TableColumn(e2eTable, SWT.NONE);
+			column.setText(e2eTitles[i]);
+		}
+
+		//set the scenario
+		TableItem item = new TableItem (e2eTable, SWT.NONE);
+		Activity e2eActivity = (Activity) saE2EFlow.getBase_NamedElement();
+		CallBehaviorAction callbehaviour = null;
+		for (ActivityNode activityNode : e2eActivity.getNodes()) {
+			if(activityNode instanceof CallBehaviorAction){
+				callbehaviour = (CallBehaviorAction)activityNode;
+			}
+		}
+		item.setText(0, callbehaviour.getBehavior().getName());
+		StringBuilder opSequence = new StringBuilder();
+		String delim = "";
+		for (Operation msg : messages) {
+			opSequence.append(delim).append(msg.getName());
+		    delim = ", ";
+		}
+
+		item.setText(1, opSequence.toString());
+		
+		//set the response time and deadline
+		item.setText(2, e2eTimeVal + e2eTimeUnit);
+		item.setText(3, e2eDlVal + e2eDlUnit);
+		
+		//set the result
+		if(e2eResult){
+			item.setText(4, "OK");
+			item.setForeground(4, green);
+		}else{
+			item.setText(4, "NOT OK: Response Time > Deadline");
+			item.setForeground(4, red);
+		}
+		
+		for (int i = 0; i < e2eTitles.length; i++) {
+			e2eTable.getColumn(i).pack();
+		}
+		
+		addinfoLabel = new Label(container, SWT.NONE);
+		addinfoLabel.setFont(new Font(display,"Tahoma", 12, SWT.ITALIC));
+		addinfoLabel.setText("Additional Model Info: ");
+		
+		slotTable = new Table (container, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL);
+		slotTable.setLinesVisible (true);
+		slotTable.setHeaderVisible (true);
+		
+		data = new GridData(SWT.FILL, SWT.FILL, true, true);
+		slotTable.setLayoutData(data);
+		for (int i = 0; i < slotTitles.length; i++) {
+			TableColumn column = new TableColumn(slotTable, SWT.NONE);
+			column.setText(slotTitles[i]);
+		}
+		
+		for (CHRtPortSlot slot : specifications) {
+			EList<CHRtSpecification> specifications = slot.getCH_RtSpecification();
+			for (CHRtSpecification spec : specifications) {
+				
+				if (spec.getRlDl() == null || spec.getRlDl().isEmpty() || messages.contains(spec.getContext()))
+					continue;
+				
+				item = new TableItem (slotTable, SWT.NONE);
+				item.setText(0, slot.getBase_Slot().getOwningInstance().getName());
+				item.setText(1, spec.getContext().getName());
+				
+				InstanceSpecification deployInst = getDeployment(slot.getBase_Slot().getOwningInstance());
+				if(deployInst != null){
+					item.setText(2, deployInst.getName());
+				}
+				String rldl = spec.getRlDl();
+				String rldlUnit = getValue(rldl, "unit");
+				String rldlValue = getValue(rldl, "value");
+				String deadline = rldlValue + rldlUnit;
+				item.setText(4, deadline);
+				
+				String respT = "";
+				String respUnit = "";
+				String respValue ="";
+				
+				if (spec.getRespT().size()>0){
+					respT = spec.getRespT().get(0);
+					respUnit = getValue(respT, "unit");
+					respValue = getValue(respT, "worst");
+				}
+				
+				//if rldl is expressed in ms by the user convert respT in ms too
+				if(respValue != null && !respValue.isEmpty() && rldlUnit.equals("ms")){
+					double conv = Float.parseFloat(respValue)*1000;
+					conv = Math.round(conv*100)/100.0d;
+					respValue = Double.toString(conv);
+					respUnit = "ms";
+				}
+				
+				//if rldl is expressed in us by the user convert respT in us too
+				if(respValue != null && !respValue.isEmpty() && rldlUnit.equals("us")){
+					double conv = Float.parseFloat(respValue)*1000000;
+					conv = Math.round(conv*100)/100.0d;
+					respValue = Double.toString(conv);
+					respUnit = "us";
+				}
+				
+				String responseTime = respValue + respUnit;
+				item.setText(3, responseTime);
+				if (!respValue.isEmpty() && !rldlValue.isEmpty() ){
+					if(Float.parseFloat(respValue) <= Float.parseFloat(rldlValue)){
+						item.setText(5, "OK");
+						item.setForeground(5, green);
+					}else{
+						item.setText(5, "NOT OK: Response Time > Deadline");
+						item.setForeground(5, red);
+					}
+				}
+			}
+		}
+		
+		for (int i = 0; i < slotTitles.length; i++) {
+			slotTable.getColumn(i).pack();
+		}
+		
+		return container;
+	}
+	
+	@Override
+	protected void configureShell(Shell shell) {
+		super.configureShell(shell);
+		shell.setText("End-To-End Schedulability Analysis Report");
+		Monitor primary = shell.getDisplay().getPrimaryMonitor();
+	    Rectangle bounds = primary.getBounds();
+	    Rectangle rect = shell.getBounds();
+	    
+	    int x = bounds.x + (bounds.width - rect.width) / 2;
+	    int y = bounds.y + (bounds.height - rect.height) / 2;
+	    
+	    shell.setSize(bounds.width/2, bounds.height/2);
+	    shell.setLocation(x, y);
+	}
+	
+	@Override
+	protected void setShellStyle(int newShellStyle) {
+		super.setShellStyle(getShellStyle() | SWT.CLOSE | SWT.MAX | SWT.APPLICATION_MODAL | SWT.BORDER | SWT.TITLE | SWT.RESIZE);
+		setBlockOnOpen(false);
+	}
+	
+	@Override
+	protected boolean isResizable() {
+		return true;
+	}
+	
+	
+	@Override
+	protected void okPressed() {
+		try {
+			IFile modelFile = CHESSProjectSupport.resourceToFile(model.eResource());
+			IFolder resultFolder =  modelFile.getProject().getFolder(TransUtil.RESULTS_DIR_E2E);
+			if(!resultFolder.exists()){
+				resultFolder.create(IResource.NONE, true, null);
+			}
+			String timestamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(Calendar.getInstance().getTime());
+			IFile reportFile = resultFolder.getFile(model.getName() + "_e2eAnalysisResult_" + timestamp);
+			if(!reportFile.exists()){
+				String initalContent = "Results of End-To-End Analysis on model: " + modelFile.getLocation().toString() + " @ " + timestamp;
+				StringBuilder sb = new StringBuilder(initalContent);
+				fillContent(sb);
+				byte[] bytes = sb.toString().getBytes();
+			    InputStream source = new ByteArrayInputStream(bytes);
+				reportFile.create(source, IResource.NONE, null);
+			}
+		} catch (CoreException e) {
+			e.printStackTrace();
+		}
+		super.okPressed();
+	}
+
+	@Override
+	protected Button createButton(Composite parent, int id,
+			String label, boolean defaultButton) {
+		if (id == IDialogConstants.CANCEL_ID)
+			return null;
+		return super.createButton(parent, id, label, defaultButton);
+	}
+
+	public List<CH_HwProcessor> getCpus() {
+		return cpus;
+	}
+
+	public void setCpus(List<CH_HwProcessor> cpus) {
+		this.cpus = cpus;
+	}
+
+	public List<CHRtPortSlot> getSpecifications() {
+		return specifications;
+	}
+
+	public void setSpecifications(List<CHRtPortSlot> specifications) {
+		this.specifications = specifications;
+	}
+
+	public SaAnalysisContext getSaAnalysisCtx() {
+		return saAnalysisCtx;
+	}
+
+	public void setSaAnalysisCtx(SaAnalysisContext saAnalysisCtx) {
+		this.saAnalysisCtx = saAnalysisCtx;
+	}
+	
+	public SaEndtoEndFlow getSaE2EFlow() {
+		return saE2EFlow;
+	}
+
+	public void setSaE2EFlow(SaEndtoEndFlow saE2EFlow) {
+		this.saE2EFlow = saE2EFlow;	
+	}
+	
+public List<Operation> getMessages() {
+		return messages;
+	}
+
+	public void setMessages(List<Operation> messages) {
+		this.messages = messages;
+	}
+
+	public List<Assign> getAssigns() {
+		return assigns;
+	}
+
+	public void setAssigns(List<Assign> assigns) {
+		this.assigns = assigns;
+	}
+
+	private static String getValue(String s, String match) {
+
+		if (s== null)
+			return"";
+
+		String found = null;
+		String[] splits = s.split(",");
+		for (String split : splits) {
+			if(split.contains(match)){
+				String[] ssplits = split.split("=");
+				for (String str : ssplits) {
+					if(!str.contains(match)){
+						found =  str;
+					}
+				}
+			}
+		}
+		if(found != null){
+			found = found.trim();
+			if (found.startsWith("(")){
+				found = found.substring(1, found.length());
+			}
+			if (found.endsWith(")")){
+				found = found.substring(0, found.length()-1);
+			}
+		}
+		return found;
+	}
+	
+	private InstanceSpecification getDeployment(InstanceSpecification fromInst) {
+		InstanceSpecification toInst = null;
+		for (Assign assign : assigns) {
+			if(assign.getFrom().get(0).equals(fromInst)){
+				toInst = (InstanceSpecification) assign.getTo().get(0);
+			}
+		}
+		return toInst;
+	}
+	
+	private void fillContent(StringBuilder sb) {
+
+		appendNewLines(sb, 2);
+		sb.append(resultLabel.getText());
+		
+		appendNewLines(sb, 2);
+		sb.append(cpuLabel.getText());
+	
+		appendNewLines(sb, 2);
+		for (int i = 0; i < cpuTitles.length; i++) {
+			sb.append(cpuTitles[i] + "\t");
+		}
+		appendNewLines(sb, 1);
+		TableItem[] items = cpuTable.getItems();
+		for (int i = 0; i < items.length; i++) {
+			sb.append(items[i].getText() + "\t");
+			sb.append(items[i].getText(1) + "\t");
+			sb.append(items[i].getText(2) + "\t");
+			appendNewLines(sb, 1);
+		}
+		
+		appendNewLines(sb, 1);
+		sb.append(e2eLabel.getText());
+		
+		appendNewLines(sb, 2);
+		for (int i = 0; i < cpuTitles.length; i++) {
+			sb.append(e2eTitles[i] + "\t");
+		}
+		
+		appendNewLines(sb, 1);
+		items = e2eTable.getItems();
+		for (int i = 0; i < items.length; i++) {
+			sb.append(items[i].getText() + "\t");
+			sb.append(items[i].getText(1) + "\t");
+			sb.append(items[i].getText(2) + "\t");
+			sb.append(items[i].getText(3) + "\t");
+			sb.append(items[i].getText(4) + "\t");
+			appendNewLines(sb, 1);
+		}
+		
+		appendNewLines(sb, 1);
+		sb.append(addinfoLabel.getText());
+		
+		appendNewLines(sb, 2);
+		for (int i = 0; i < slotTitles.length; i++) {
+			sb.append(slotTitles[i] + "\t");
+		}
+		
+		appendNewLines(sb, 1);
+		items = slotTable.getItems();
+		for (int i = 0; i < items.length; i++) {
+			sb.append(items[i].getText() + "\t");
+			sb.append(items[i].getText(1) + "\t");
+			sb.append(items[i].getText(2) + "\t");
+			sb.append(items[i].getText(3) + "\t");
+			sb.append(items[i].getText(4) + "\t");
+			sb.append(items[i].getText(5) + "\t");
+			appendNewLines(sb, 1);
+		}
+	}
+	
+	private void appendNewLines(StringBuilder sb, int numLines){
+		for (int i = 0; i < numLines; i++) {
+			sb.append(System.lineSeparator());
+		}
+	}
+}
diff --git a/plugins/org.polarsys.chess.m2m/src/org/polarsys/chess/m2m/PurgePIMHandler.java b/plugins/org.polarsys.chess.m2m/src/org/polarsys/chess/m2m/PurgePIMHandler.java
new file mode 100644
index 000000000..e79178324
--- /dev/null
+++ b/plugins/org.polarsys.chess.m2m/src/org/polarsys/chess/m2m/PurgePIMHandler.java
@@ -0,0 +1,179 @@
+/*
+-----------------------------------------------------------------------
+--          			CHESS M2M plugin							 --
+--                                                                   --
+--                    Copyright (C) 2011-2012                        --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author: Alessandro Zovi         azovi@math.unipd.it 		         --
+--                                                                   --
+-- All rights reserved. This program and the accompanying materials  --
+-- are made available under the terms of the Eclipse Public License  --
+-- v1.0 which accompanies this distribution, and is available at     --
+-- http://www.eclipse.org/legal/epl-v10.html                         --
+-----------------------------------------------------------------------
+*/
+
+package org.polarsys.chess.m2m;
+
+import static org.polarsys.chess.core.util.CHESSProjectSupport.printlnToCHESSConsole;
+
+import java.util.ArrayList;
+
+import org.eclipse.core.commands.AbstractHandler;
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.core.runtime.jobs.IJobChangeEvent;
+import org.eclipse.core.runtime.jobs.Job;
+import org.eclipse.core.runtime.jobs.JobChangeAdapter;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.m2m.internal.qvt.oml.emf.util.ModelContent;
+import org.eclipse.papyrus.editor.PapyrusMultiDiagramEditor;
+import org.eclipse.papyrus.infra.core.services.ServiceException;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.IFileEditorInput;
+import org.eclipse.ui.handlers.HandlerUtil;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.InstanceSpecification;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.Package;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.CH_HwBus;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.CH_HwProcessor;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.CHRtSpecification;
+import org.polarsys.chess.core.util.CHESSProjectSupport;
+import org.polarsys.chess.core.util.uml.ResourceUtils;
+import org.polarsys.chess.core.util.uml.UMLUtils;
+import org.polarsys.chess.core.views.ViewUtils;
+import org.polarsys.chess.service.utils.CHESSEditorUtils;
+
+public class PurgePIMHandler extends AbstractHandler {
+
+	protected IEditorPart editor;
+
+	private IProject getActiveProject(IEditorPart editor) {
+		IFileEditorInput input = (IFileEditorInput) editor.getEditorInput();
+		IFile file = input.getFile();
+		return file.getProject();
+	}
+
+	public Object execute(final ExecutionEvent event) throws ExecutionException {
+		editor = HandlerUtil.getActiveEditor(event);
+		
+		final Job job = new Job("Transforming") {
+			protected IStatus run(IProgressMonitor monitor) {
+				try {
+					try {
+						if (!(CHESSEditorUtils.isCHESSProject(editor)))
+							return null;
+						
+						Resource inResource = null;
+						try {
+							inResource = ResourceUtils.getUMLResource(((PapyrusMultiDiagramEditor) editor).getServicesRegistry());
+						} catch (ServiceException e) {
+							e.printStackTrace();
+							throw new Exception("Unable to load the model");
+						}
+							
+						IFile modelFile = CHESSProjectSupport.resourceToFile(inResource);
+						//ModelContent inModel = ExtendedEmfUtil.loadModel(new EclipseFile(inputFile));
+						ModelContent inModel = TransUtil.loadModel(modelFile);
+						Model m = (Model) inModel.getContent().get(0);
+						
+						// Remove the content of the RtAnalysisPackage
+						m = PurgePIMHandler.this.removeRtAnalysis(m);
+						
+						//remove results of the backpropagation
+						m = PurgePIMHandler.this.resetStereotypeValues(m);
+						
+						m.eResource().save(null);
+						
+						CHESSEditorUtils.reopenEditor(editor, false);
+					} catch (Exception e) {
+						throw e;
+					} finally {
+						getActiveProject(editor).refreshLocal(IResource.DEPTH_INFINITE, monitor);
+					}
+				} catch (Exception e) {
+					e.printStackTrace();
+					return new Status(Status.ERROR, Activator.PLUGIN_ID, 1,
+							"Error in transformation "+ e.getMessage(), null);
+				}
+				if (monitor.isCanceled())
+					return Status.CANCEL_STATUS;
+				return Status.OK_STATUS;
+			}
+		};
+		job.addJobChangeListener(new JobChangeAdapter() {
+			public void done(IJobChangeEvent event) {
+				if (event.getResult().isOK())
+					CHESSProjectSupport.printlnToCHESSConsole("Job completed successfully");
+				else
+					CHESSProjectSupport.printlnToCHESSConsole("Job did not complete successfully");
+			}
+		});
+		job.setPriority(Job.SHORT);
+		job.schedule();
+		return null;
+	}
+
+	
+	private Model resetStereotypeValues(Model m) {
+		Package rt;
+		rt = ViewUtils.getCHESSComponentPackage(m);
+		
+		for (Element e : rt.allOwnedElements()) {
+			if (e instanceof Comment){
+				
+				CHRtSpecification s = UMLUtils.getStereotypeApplication(e, CHRtSpecification.class);
+				if (s != null){
+					printlnToCHESSConsole("Resetting:" + e);
+					
+					s.getBlockT().clear();
+					s.getRespT().clear();
+					
+				}
+			}
+		}
+		
+		rt = ViewUtils.getCHESSDeploymentPackage(m);
+		for (Element e : rt.allOwnedElements()) {
+			if (e instanceof InstanceSpecification){
+				CH_HwProcessor pr = UMLUtils.getStereotypeApplication(e, CH_HwProcessor.class);
+				if (pr != null){
+					pr.setUtilization(null);
+					printlnToCHESSConsole("Resetting:" + e);
+				}
+				
+				CH_HwBus bu = UMLUtils.getStereotypeApplication(e, CH_HwBus.class);
+				if (bu != null){
+					bu.setUtilization(null);
+					printlnToCHESSConsole("Resetting:" + e);
+				}
+			}
+		}
+		return m;
+	}
+	
+	private Model removeRtAnalysis(Model m) {
+		Package rt = ViewUtils.getCHESSRtAnalysisPackage(m);
+		System.out.println(rt.getName());
+		ArrayList<Element> l = new ArrayList<Element>(); 
+		for (Element e : rt.getOwnedElements()) {
+			if (e instanceof Package){
+				l.add(e);
+				printlnToCHESSConsole("Removing:" + ((Package) e).getName());
+			}
+		}
+		for (int i = 0; i < l.size(); i++) {
+			l.get(i).destroy();
+		}
+		return m;
+	}
+}
diff --git a/plugins/org.polarsys.chess.m2m/src/org/polarsys/chess/m2m/QVToTransformation.java b/plugins/org.polarsys.chess.m2m/src/org/polarsys/chess/m2m/QVToTransformation.java
new file mode 100644
index 000000000..b8058d978
--- /dev/null
+++ b/plugins/org.polarsys.chess.m2m/src/org/polarsys/chess/m2m/QVToTransformation.java
@@ -0,0 +1,155 @@
+/*
+-----------------------------------------------------------------------
+--          			CHESS M2M plugin							 --
+--                                                                   --
+--                    Copyright (C) 2011-2012                        --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author: Alessandro Zovi         azovi@math.unipd.it 		         --
+--                                                                   --
+-- All rights reserved. This program and the accompanying materials  --
+-- are made available under the terms of the Eclipse Public License  --
+-- v1.0 which accompanies this distribution, and is available at     --
+-- http://www.eclipse.org/legal/epl-v10.html                         --
+-----------------------------------------------------------------------
+ */
+
+package org.polarsys.chess.m2m;
+
+
+import java.io.OutputStreamWriter;
+import java.util.HashMap;
+import java.util.Map;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.debug.core.DebugPlugin;
+import org.eclipse.debug.core.ILaunchConfigurationType;
+import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
+import org.eclipse.debug.core.ILaunchManager;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.m2m.internal.qvt.oml.common.launch.IQvtLaunchConstants;
+import org.eclipse.m2m.internal.qvt.oml.library.Context;
+import org.eclipse.m2m.internal.qvt.oml.runtime.launch.QvtLaunchConfigurationDelegate;
+import org.eclipse.m2m.internal.qvt.oml.runtime.launch.QvtLaunchConfigurationDelegateBase;
+import org.eclipse.m2m.internal.qvt.oml.runtime.launch.QvtLaunchUtil;
+import org.eclipse.m2m.internal.qvt.oml.runtime.project.QvtInterpretedTransformation;
+import org.eclipse.m2m.internal.qvt.oml.runtime.project.QvtTransformation;
+import org.eclipse.m2m.qvt.oml.util.WriterLog;
+import org.polarsys.chess.core.util.CHESSProjectSupport;
+
+@SuppressWarnings("restriction")
+public class QVToTransformation {
+
+	public static void launchCeilingAssignment(IFile model, IProgressMonitor monitor)
+			throws Exception {
+
+		launchTransformation(TransUtil.QVTO_CEILING, "CHESS_CEILING", false,
+				model, monitor, new HashMap<String, String>());
+	}
+	
+	public static void launchBuildMultiInstance(IFile model, IProgressMonitor monitor)
+			throws Exception {
+
+		launchTransformation(TransUtil.QVTO_MULTIINSTANCE, "BuildMultiInstance", false,
+				model, monitor, new HashMap<String, String>());
+	}
+	
+	public static void launchRemoveMultiInstance(IFile model, IProgressMonitor monitor)
+			throws Exception {
+
+		launchTransformation(TransUtil.QVTO_REMMULTIINSTANCE, "RemoveMultiInstance", false,
+				model, monitor, new HashMap<String, String>());
+	}
+	
+	
+//	public static void launchPIM2PSMVERDE(IFile model, IProgressMonitor monitor,  Map<String, String> configProps) 
+//			throws Exception {
+//		
+//		launchTransformation(TransUtil.QVTO_PIM2PSMVERDE, "CHESS_PIM2PSMVERDE", true,
+//				model, monitor, configProps);
+//	}
+//	
+//	public static void launchPIM2PSMEndToEnd(IFile model, IProgressMonitor monitor, Map<String, String> configProps) 
+//			throws Exception {
+//		
+//		launchTransformation(TransUtil.QVTO_PIM2PSMVERDE, "CHESS_PIM2PSMEndToEnd", true,
+//				model, monitor, configProps);
+//	}
+
+	public static void launchTransformation(String transURI, String transName,
+			boolean generateTrace, IFile model, IProgressMonitor monitor, Map<String, String> configProps)
+			throws Exception {
+		String modelURIString = URI.createPlatformResourceURI(
+				model.getFullPath().toString(), false).toString();
+		String traceURIString = generateTrace ? modelURIString.substring(0,
+				modelURIString.lastIndexOf('.') + 1) + "qvtotrace" : null;
+		String transfURIString = transURI;
+		// String marteURIString =
+		// org.eclipse.papyrus.MARTE.MARTEPackage.eNS_URI;
+	
+		ILaunchManager manager = DebugPlugin.getDefault().getLaunchManager();
+		ILaunchConfigurationType c = manager
+				.getLaunchConfigurationType(QvtLaunchConfigurationDelegate.LAUNCH_CONFIGURATION_TYPE_ID);
+		ILaunchConfigurationWorkingCopy instance = c.newInstance(null,
+				transName);
+	
+		instance.setAttribute(IQvtLaunchConstants.CLEAR_CONTENTS + "1", true);
+		instance.setAttribute(IQvtLaunchConstants.CLEAR_CONTENTS + "2", true);
+		instance.setAttribute(IQvtLaunchConstants.CONFIGURATION_PROPERTIES, configProps);
+		instance.setAttribute(IQvtLaunchConstants.ELEM_COUNT, 2);
+		instance.setAttribute(IQvtLaunchConstants.FEATURE_NAME + "1", "");
+		instance.setAttribute(IQvtLaunchConstants.FEATURE_NAME + "2", "");
+		instance.setAttribute(IQvtLaunchConstants.MODULE, transfURIString);
+		instance.setAttribute(IQvtLaunchConstants.TARGET_MODEL + "1",
+				modelURIString);
+		// instance.setAttribute(IQvtLaunchConstants.TARGET_MODEL+"2",
+		// marteURIString);
+	
+		instance.setAttribute(IQvtLaunchConstants.TARGET_TYPE + "1",
+				"NEW_MODEL");
+		// instance.setAttribute(IQvtLaunchConstants.TARGET_TYPE+"2",
+		// "NEW_MODEL");
+		if (generateTrace)
+			instance.setAttribute(IQvtLaunchConstants.TRACE_FILE,
+					traceURIString);
+	
+		instance.setAttribute(IQvtLaunchConstants.USE_TRACE_FILE, generateTrace);
+	
+		QvtTransformation qvtTransformation = new QvtInterpretedTransformation(
+				QvtLaunchConfigurationDelegateBase.getQvtModule(instance));
+		
+		IStatus status = QvtLaunchConfigurationDelegateBase.validate(
+				qvtTransformation, instance);
+		if (status.getSeverity() > IStatus.WARNING) {
+			throw new CoreException(status);
+		}
+	
+		//EvaluationMonitor execMonitor = createMonitor();
+		Context context = QvtLaunchUtil.createContext(instance);
+	
+		OutputStreamWriter s = new OutputStreamWriter(
+				CHESSProjectSupport.CHESS_CONSOLE);
+		context.setLog(new WriterLog(s));
+		context.setProgressMonitor(monitor);
+		
+		QvtLaunchConfigurationDelegateBase.doLaunch(qvtTransformation,
+				instance, context);
+		qvtTransformation.cleanup();
+	}
+
+//	private static EvaluationMonitor createMonitor() {
+//		return new EvaluationMonitor() {
+//			boolean fIsCanceled = false;
+//
+//			public void cancel() {
+//				fIsCanceled = true;
+//			}
+//
+//			public boolean isCanceled() {
+//				return fIsCanceled;
+//			}
+//		};
+//	}
+}
diff --git a/plugins/org.polarsys.chess.m2m/src/org/polarsys/chess/m2m/QVToUIAction.java b/plugins/org.polarsys.chess.m2m/src/org/polarsys/chess/m2m/QVToUIAction.java
new file mode 100644
index 000000000..04394e439
--- /dev/null
+++ b/plugins/org.polarsys.chess.m2m/src/org/polarsys/chess/m2m/QVToUIAction.java
@@ -0,0 +1,91 @@
+/*
+-----------------------------------------------------------------------
+--          			CHESS M2M plugin							 --
+--                                                                   --
+--                    Copyright (C) 2011-2012                        --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author: Alessandro Zovi         azovi@math.unipd.it 		         --
+--                                                                   --
+-- All rights reserved. This program and the accompanying materials  --
+-- are made available under the terms of the Eclipse Public License  --
+-- v1.0 which accompanies this distribution, and is available at     --
+-- http://www.eclipse.org/legal/epl-v10.html                         --
+-----------------------------------------------------------------------
+*/
+
+package org.polarsys.chess.m2m;
+
+import java.util.List;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.operation.IRunnableWithProgress;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.actions.ActionDelegate;
+import org.polarsys.chess.m2m.transformations.AbstractTransformation;
+import org.polarsys.chess.m2m.transformations.PIMPSMTransformationVERDE;
+
+public class QVToUIAction extends ActionDelegate {
+	public QVToUIAction() {}
+	
+	/**
+	 * Selected model files.
+	 */
+	protected List<IFile> files;
+
+	/**{@inheritDoc}
+	 *
+	 * @see org.eclipse.ui.actions.ActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection)
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	public void selectionChanged(IAction action, ISelection selection) {
+		if (selection instanceof IStructuredSelection) {
+			files = ((IStructuredSelection) selection).toList();
+		}
+	}
+
+	/**{@inheritDoc}
+	 *
+	 * @see org.eclipse.ui.actions.ActionDelegate#run(org.eclipse.jface.action.IAction)
+	 * @generated
+	 */
+	public void run(IAction action) {
+		if (files != null) {
+			IRunnableWithProgress operation = new IRunnableWithProgress() {
+				public void run(IProgressMonitor monitor) {
+					try{
+					for (IFile model: files) {
+						try {
+							AbstractTransformation t = new PIMPSMTransformationVERDE();
+							final TransformationResultsData result = t.performTransformation(null, model, monitor);
+						} catch (Exception e) {
+							IStatus status = new Status(IStatus.ERROR, Activator.PLUGIN_ID, e.getMessage(), e);
+							Activator.getDefault().getLog().log(status);
+						} finally {
+								model.getProject().refreshLocal(IResource.DEPTH_INFINITE, monitor);
+						}
+					}
+					}catch (Exception e) {
+						IStatus status = new Status(IStatus.ERROR, Activator.PLUGIN_ID, e.getMessage(), e);
+						Activator.getDefault().getLog().log(status);
+					}
+				}
+			};
+			try {
+				PlatformUI.getWorkbench().getProgressService().run(true, true, operation);
+			} catch (Exception e) {
+				IStatus status = new Status(IStatus.ERROR, Activator.PLUGIN_ID, e.getMessage(), e);
+				Activator.getDefault().getLog().log(status);
+			}
+		}
+	}
+}
+
diff --git a/plugins/org.polarsys.chess.m2m/src/org/polarsys/chess/m2m/QVToUIHandlerEnd2End.java b/plugins/org.polarsys.chess.m2m/src/org/polarsys/chess/m2m/QVToUIHandlerEnd2End.java
new file mode 100644
index 000000000..c4fbf47e9
--- /dev/null
+++ b/plugins/org.polarsys.chess.m2m/src/org/polarsys/chess/m2m/QVToUIHandlerEnd2End.java
@@ -0,0 +1,350 @@
+/*
+-----------------------------------------------------------------------
+--          			CHESS M2M plugin							 --
+--                                                                   --
+--                    Copyright (C) 2011-2012                        --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Authors: -Alessandro Zovi         azovi@math.unipd.it 
+--          -Intecs
+--                                                                   --
+-- This program is free software; you can redistribute it and/or     --
+-- modify it under the terms of the GNU General Public License       --
+-- version 2 as published by the Free Software Foundation.           --
+--                                                                   --
+-- This program is distributed in the hope that it will be useful,   --
+-- but WITHOUT ANY WARRANTY; without even the implied warranty of    --
+-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU --
+-- General Public License for more details.                          --
+--                                                                   --
+-- You should have received a copy of the GNU General Public         --
+-- License along with this program; if not, write to the             --
+-- Free Software Foundation, Inc., 59 Temple Place - Suite 330,      --
+-- Boston, MA 02111-1307, USA.                                       --
+--                                                                   --
+-----------------------------------------------------------------------
+*/
+
+package org.polarsys.chess.m2m;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.CH_HwProcessor;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.CHRtPortSlot;
+import org.polarsys.chess.core.util.CHESSProjectSupport;
+import org.polarsys.chess.core.util.uml.ResourceUtils;
+import org.polarsys.chess.core.util.uml.UMLUtils;
+import org.polarsys.chess.m2m.transformations.PIMPSMTransformationEnd2End;
+import org.polarsys.chess.service.utils.CHESSEditorUtils;
+import org.eclipse.core.commands.AbstractHandler;
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.core.runtime.jobs.IJobChangeEvent;
+import org.eclipse.core.runtime.jobs.Job;
+import org.eclipse.core.runtime.jobs.JobChangeAdapter;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.jface.window.Window;
+import org.eclipse.m2m.internal.qvt.oml.emf.util.ModelContent;
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.GQAM.GaWorkloadBehavior;
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.SAM.SaAnalysisContext;
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.SAM.SaEndtoEndFlow;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.Alloc.Assign;
+import org.eclipse.papyrus.editor.PapyrusMultiDiagramEditor;
+import org.eclipse.papyrus.infra.core.services.ServiceException;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.IFileEditorInput;
+import org.eclipse.ui.IWorkbenchWindow;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.handlers.HandlerUtil;
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityNode;
+import org.eclipse.uml2.uml.CallBehaviorAction;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.InstanceSpecification;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.Message;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.Stereotype;
+
+@SuppressWarnings("restriction")
+public class QVToUIHandlerEnd2End extends AbstractHandler {
+
+	private static final String SAANALYSISCONTEXT = "MARTE::MARTE_AnalysisModel::SAM::SaAnalysisContext";
+	private static final String SAENDTOENDFLOW = "MARTE::MARTE_AnalysisModel::SAM::SaEndtoEndFlow";
+	private Shell activeShell = null;
+	private Resource inResource = null;
+	private Class contextClass;
+	private String deadline;
+	private String scenario;
+	private String saAnalysisName;
+	private String saE2EFlowName;
+	private SaEndtoEndFlow saE2EFlow;
+	private SaAnalysisContext saAnalysisCtx;
+	
+	private IProject getActiveProject(IEditorPart editor) {
+		IFileEditorInput input = (IFileEditorInput) editor.getEditorInput();
+		IFile file = input.getFile();
+		return file.getProject();
+	}
+
+	public Object execute(final ExecutionEvent event) throws ExecutionException {
+		final IEditorPart editor = HandlerUtil.getActiveEditor(event);
+		if (!(CHESSEditorUtils.isCHESSProject(editor)))
+			return null;
+
+		IWorkbenchWindow window = HandlerUtil.getActiveWorkbenchWindowChecked(event);
+		activeShell = window.getShell();
+
+		try {
+			inResource = ResourceUtils.getUMLResource(((PapyrusMultiDiagramEditor) editor).getServicesRegistry());
+		} catch (ServiceException e) {
+			e.printStackTrace();
+		}
+
+		//open a dialog to select the end-to-end analysis context to be analyzed
+		//first get all the classes stereotyped as SaAnalysisContext
+		final List<Class> selection = new ArrayList<Class>();
+		final Model model = (Model) inResource.getContents().get(0);
+		EList<Element> elemList = model.allOwnedElements();
+		for (Element elem : elemList) {
+			if(elem instanceof Class && elem.getAppliedStereotype(SAANALYSISCONTEXT) != null &&
+					!(elem.getNearestPackage().getName().equals("AnalysisContext"))){
+				selection.add((Class) elem);
+				//System.out.println("**********" + ((Class) elem).getName());
+			}
+		}
+		//then open the dialog
+		String contextQN = null;
+		AnalysisContextSelectionDialog dialog = new AnalysisContextSelectionDialog(activeShell, selection);
+		if (dialog.open() == Window.OK) {
+			contextQN = dialog.getContext();
+			if(contextQN == null || contextQN.isEmpty()){
+				return null;
+			}
+			for (Element elem : model.allOwnedElements()){
+				if(elem.getAppliedStereotype(SAANALYSISCONTEXT) != null &&
+						((NamedElement) elem).getQualifiedName().equals(contextQN)){
+					contextClass = (Class) elem;
+				}
+			}
+		}else{
+			return null;
+		}
+		//System.out.println("!!!!!!!!!!!!" + contextClass.getQualifiedName());
+		saAnalysisName = contextClass.getQualifiedName();
+		Stereotype stereo = contextClass.getAppliedStereotype(SAANALYSISCONTEXT);
+		saAnalysisCtx = (SaAnalysisContext) contextClass.getStereotypeApplication(stereo);		
+		
+		EList<GaWorkloadBehavior> workloadList = saAnalysisCtx.getWorkload();
+		//assume there's only one workload
+		if(workloadList.size() != 1){
+			return null;
+		}
+		GaWorkloadBehavior workload = workloadList.get(0);
+		NamedElement nelem = workload.getBase_NamedElement();
+		if (!(nelem instanceof Activity)){
+			return null;
+		}
+		Activity workloadActivity = (Activity) nelem;
+		saE2EFlowName = workloadActivity.getQualifiedName();
+		//check that the activity is also a SaEndToEndFlow (assumption)
+		stereo = workloadActivity.getApplicableStereotype(SAENDTOENDFLOW);
+		saE2EFlow = (SaEndtoEndFlow) workloadActivity.getStereotypeApplication(stereo);
+		//deadline is to be passed to the QVTO transformation
+		deadline = saE2EFlow.getEnd2EndD().get(0); //note: in MARTE this relationship is [0..1] not [0..*] as in Papyrus
+		//assume the activity has exactly one callbehaviour node
+		CallBehaviorAction callbehaviour = null;
+		EList<ActivityNode> nodes = workloadActivity.getNodes();
+		for (ActivityNode activityNode : nodes) {
+			if(activityNode instanceof CallBehaviorAction){
+				callbehaviour = (CallBehaviorAction)activityNode;
+			}
+		}
+		//System.out.println("***********" + callbehaviour.getName());
+		if (!(callbehaviour.getBehavior() instanceof Interaction)){
+			return null;
+		}
+		//scenario is to be passed to the QVTO transformation
+		final Interaction interaction = ((Interaction) callbehaviour.getBehavior());
+		scenario = interaction .getQualifiedName();
+		
+		final Job job = new Job("Transforming") {
+			protected IStatus run(IProgressMonitor monitor) {
+				try {
+					
+					//IWorkbenchPage page =  editor.getEditorSite().getPage();
+					TransformationResultsData result =null;
+					try {
+						//CHESSProjectSupport.installMAST();
+						result = QVToUIHandlerEnd2End.this.execute_(editor, monitor);
+						//Reopen the editor
+						CHESSEditorUtils.reopenEditor(editor, false);
+					} catch (Exception e) {
+						throw e;
+					} finally {
+						getActiveProject(editor).refreshLocal(IResource.DEPTH_INFINITE, monitor);
+						
+					}
+					
+					//open sched analysis result
+					
+					try {
+						//can active editor be different from just reopened CHESS ones? it should be not the case given that it has been just reopened
+						//inResource = ResourceUtils.getUMLResource(((CHESSEditor) editor).getServicesRegistry());
+						//Model model = (Model) inResource.getContents().get(0);
+						
+						ModelContent inModel = TransUtil.loadModel(result.umlFile);
+						Model model = (Model) inModel.getContent().get(0);
+						
+						openE2EAnalysisReport(model, saAnalysisCtx, saE2EFlow, interaction);
+					} catch (Exception e) {
+						e.printStackTrace();
+						throw new Exception("Unable to load the model and so open the schedAnalysisReport");
+					}
+
+		
+				} catch (Exception e) {
+					e.printStackTrace();
+					return new Status(Status.ERROR, Activator.PLUGIN_ID, 1,
+							"Error in transformation "+ e.getMessage(), null);
+				}
+				if (monitor.isCanceled())
+					return Status.CANCEL_STATUS;
+				return Status.OK_STATUS;
+			}
+		};
+		job.addJobChangeListener(new JobChangeAdapter() {
+			public void done(IJobChangeEvent event) {
+				if (event.getResult().isOK())
+					CHESSProjectSupport.printlnToCHESSConsole("Job completed successfully");
+				else
+					CHESSProjectSupport.printlnToCHESSConsole("Job did not complete successfully");
+			}
+		});
+		job.setUser(true);
+		job.setPriority(Job.SHORT);
+		job.schedule();
+		return null;
+	}
+	
+	/***
+	 * 
+	 * @param editor
+	 * @param monitor
+	 * @param scenario 
+	 * @param deadline 
+	 * @return the string resulting from the MAST execution (i.e. the system is/not schedulable
+	 * @throws Exception
+	 */
+	public TransformationResultsData execute_(IEditorPart editor, IProgressMonitor monitor) throws Exception {
+		monitor.beginTask("Transforming", 4);
+		if (!(CHESSEditorUtils.isCHESSProject(editor)))
+			return null;
+		
+//		IProject project = getActiveProject(editor);
+//		ModelSet resourceSet = getEditorResourceSet(editor);
+			
+		IFile inputFile = CHESSProjectSupport.resourceToFile(inResource);
+		
+		//finally call the transformation
+		PIMPSMTransformationEnd2End t = new PIMPSMTransformationEnd2End();
+		t.setFolder(TransUtil.TRANSFORMATIONS_DIR_E2E);
+		Map<String, String> configProps = new HashMap<String, String>();
+		configProps.put("deadline", deadline);
+		configProps.put("scenario", scenario);
+		configProps.put("saAnalysis",saAnalysisName);
+		configProps.put("saE2EFlow", saE2EFlowName);
+		configProps.put("analysisType", "EndToEnd");
+		t.setConfigProperty(configProps);
+		TransformationResultsData result = t.performTransformation((PapyrusMultiDiagramEditor) editor, inputFile, monitor);
+				
+		return result;
+	}
+	
+	/***
+	 * 
+	 * @param model
+	 * @param saAnalysis
+	 * @param saE2EFlow
+	 * @param interaction 
+	 */
+	public void openE2EAnalysisReport(final Model model, final SaAnalysisContext saAnalysisCtx, final SaEndtoEndFlow saE2EFlow, Interaction interaction){
+		//get all the e2e analysis result info from the model and open a simple, user-friendly report
+		EList<Message> messages = interaction.getMessages();
+		final List<Operation> e2eOperations = new ArrayList<Operation>();
+		for (Message msg : messages) {
+			Operation op = (Operation) msg.getSignature();
+			if (op.eIsProxy()){
+				op = (Operation) EcoreUtil.resolve(op, model.eResource().getResourceSet());
+			}
+			e2eOperations.add(op);
+		}
+		final List<CH_HwProcessor> cpus = new ArrayList<CH_HwProcessor>();
+		final List<CHRtPortSlot> specifications = new ArrayList<CHRtPortSlot>();
+		final List<Assign> assigns = new ArrayList<Assign>();
+		for (Element elem : model.allOwnedElements()) {
+			CHRtPortSlot chrtSlot = UMLUtils.getStereotypeApplication(elem, CHRtPortSlot.class);
+			if(chrtSlot != null){
+				specifications.add(chrtSlot);
+			}
+			if(elem instanceof InstanceSpecification){
+				CH_HwProcessor chHwProc = UMLUtils.getStereotypeApplication(elem, CH_HwProcessor.class);
+				if(chHwProc != null){
+					cpus.add(chHwProc);
+				}
+			}
+			
+			Assign assign = UMLUtils.getStereotypeApplication(elem, Assign.class);
+			if(assign != null){
+				assigns.add(assign);
+			}
+		};
+		
+		final Display display = PlatformUI.getWorkbench().getDisplay();
+		display.asyncExec(new Runnable() {
+			@Override
+			public void run() {
+				Shell shell = new Shell(display);
+				End2EndResultDialog e2eDialog = new End2EndResultDialog(shell, model);
+				e2eDialog.setCpus(cpus);
+				e2eDialog.setSpecifications(specifications);
+				e2eDialog.setSaAnalysisCtx(saAnalysisCtx);
+				e2eDialog.setSaE2EFlow(saE2EFlow);
+				e2eDialog.setMessages(e2eOperations);
+				e2eDialog.setAssigns(assigns);
+				if (e2eDialog.open() == Window.OK) {
+				    System.out.println("OK");
+				}
+			}
+		});
+	}
+	
+//	@SuppressWarnings("unused")
+//	private ModelSet getEditorResourceSet(IEditorPart editor)
+//			throws Exception {
+//		ModelSet resourceSet = null;
+//		try {
+//			resourceSet = (ModelSet)((ServicesRegistry)editor.getAdapter(ServicesRegistry.class)).getService(ModelSet.class);
+//		} catch (ServiceException e) {
+//			e.printStackTrace();
+//			throw new Exception("Unable to get the service registry");
+//		}
+//		return resourceSet;
+//	}
+}
diff --git a/plugins/org.polarsys.chess.m2m/src/org/polarsys/chess/m2m/QVToUIHandlerVERDE.java b/plugins/org.polarsys.chess.m2m/src/org/polarsys/chess/m2m/QVToUIHandlerVERDE.java
new file mode 100644
index 000000000..8e320021a
--- /dev/null
+++ b/plugins/org.polarsys.chess.m2m/src/org/polarsys/chess/m2m/QVToUIHandlerVERDE.java
@@ -0,0 +1,222 @@
+/*
+-----------------------------------------------------------------------
+--          			CHESS M2M plugin							 --
+--                                                                   --
+--                    Copyright (C) 2011-2012                        --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Authors: -Alessandro Zovi         azovi@math.unipd.it 
+--          -Intecs
+--                                                                   --
+-- All rights reserved. This program and the accompanying materials  --
+-- are made available under the terms of the Eclipse Public License  --
+-- v1.0 which accompanies this distribution, and is available at     --
+-- http://www.eclipse.org/legal/epl-v10.html                         --
+-----------------------------------------------------------------------
+*/
+
+package org.polarsys.chess.m2m;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.eclipse.core.commands.AbstractHandler;
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.core.runtime.jobs.IJobChangeEvent;
+import org.eclipse.core.runtime.jobs.Job;
+import org.eclipse.core.runtime.jobs.JobChangeAdapter;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.jface.window.Window;
+import org.eclipse.m2m.internal.qvt.oml.emf.util.ModelContent;
+import org.eclipse.papyrus.editor.PapyrusMultiDiagramEditor;
+import org.eclipse.papyrus.infra.core.services.ServiceException;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.IFileEditorInput;
+import org.eclipse.ui.IWorkbenchPage;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.handlers.HandlerUtil;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.InstanceSpecification;
+import org.eclipse.uml2.uml.Model;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.CH_HwProcessor;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.CHRtPortSlot;
+import org.polarsys.chess.core.util.CHESSProjectSupport;
+import org.polarsys.chess.core.util.uml.ResourceUtils;
+import org.polarsys.chess.core.util.uml.UMLUtils;
+import org.polarsys.chess.m2m.transformations.AbstractTransformation;
+import org.polarsys.chess.m2m.transformations.PIMPSMTransformationVERDE;
+import org.polarsys.chess.service.utils.CHESSEditorUtils;
+
+public class QVToUIHandlerVERDE extends AbstractHandler {
+
+	private IProject getActiveProject(IEditorPart editor) {
+		IFileEditorInput input = (IFileEditorInput) editor.getEditorInput();
+		IFile file = input.getFile();
+		return file.getProject();
+	}
+
+	public Object execute(final ExecutionEvent event) throws ExecutionException {
+		final IEditorPart editor = HandlerUtil.getActiveEditor(event);
+		
+		if (!(CHESSEditorUtils.isCHESSProject(editor)))
+			return null;
+		
+		final Job job = new Job("Transforming") {
+			protected IStatus run(IProgressMonitor monitor) {
+				try {
+					
+					IWorkbenchPage page =  editor.getEditorSite().getPage();
+					TransformationResultsData result =null;
+					try {
+						//CHESSProjectSupport.installMAST();
+						result = QVToUIHandlerVERDE.this.execute_(editor, monitor);
+						//Reopen the editor
+						CHESSEditorUtils.reopenEditor(editor, false);
+					} catch (Exception e) {
+						throw e;
+					} finally {
+						getActiveProject(editor).refreshLocal(IResource.DEPTH_INFINITE, monitor);
+						
+					}
+					
+					//open sched analysis result
+					
+					try {
+						//can active editor be different from just reopened CHESS ones? it should be not the case given that it has been just reopened
+						//inResource = ResourceUtils.getUMLResource(((CHESSEditor) editor).getServicesRegistry());
+						//Model model = (Model) inResource.getContents().get(0);
+						
+							ModelContent inModel = TransUtil.loadModel(result.umlFile);
+							Model model = (Model) inModel.getContent().get(0);
+						
+						
+						openSchedAnalysisReport(model, result.res);
+					} catch (Exception e) {
+						e.printStackTrace();
+						throw new Exception("Unable to load the model and so open the schedAnalysisReport");
+					}
+
+		
+				} catch (Exception e) {
+					e.printStackTrace();
+					return new Status(Status.ERROR, Activator.PLUGIN_ID, 1,
+							"Error in transformation "+ e.getMessage(), null);
+				}
+				if (monitor.isCanceled())
+					return Status.CANCEL_STATUS;
+				return Status.OK_STATUS;
+			}
+		};
+		job.addJobChangeListener(new JobChangeAdapter() {
+			public void done(IJobChangeEvent event) {
+				if (event.getResult().isOK())
+					CHESSProjectSupport.printlnToCHESSConsole("Job completed successfully");
+				else
+					CHESSProjectSupport.printlnToCHESSConsole("Job did not complete successfully");
+			}
+		});
+		job.setUser(true);
+		job.setPriority(Job.SHORT);
+		job.schedule();
+		return null;
+	}
+	
+	/***
+	 * 
+	 * @param editor
+	 * @param monitor
+	 * @return the string resulting from the MAST execution (i.e. the system is/not schedulable
+	 * @throws Exception
+	 */
+	public TransformationResultsData execute_(IEditorPart editor, IProgressMonitor monitor) throws Exception {
+		monitor.beginTask("Transforming", 4);
+		if (!(CHESSEditorUtils.isCHESSProject(editor)))
+			return null;
+		
+//		IProject project = getActiveProject(editor);
+//		ModelSet resourceSet = getEditorResourceSet(editor);
+		
+		Resource inResource = null;
+		try {
+			inResource = ResourceUtils.getUMLResource(((PapyrusMultiDiagramEditor) editor).getServicesRegistry());
+		} catch (ServiceException e) {
+			e.printStackTrace();
+			throw new Exception("Unable to load the model");
+		}
+			
+		IFile inputFile = CHESSProjectSupport.resourceToFile(inResource);
+		AbstractTransformation t = new PIMPSMTransformationVERDE();
+		Map<String, String> configProps = new HashMap<String, String>();
+		configProps.put("analysisType", "Schedulability");
+		t.setConfigProperty(configProps);
+		final TransformationResultsData result = t.performTransformation((PapyrusMultiDiagramEditor) editor, inputFile, monitor);
+				
+		//CHESSProjectSupport.fileReplace(newFile, inputFile);
+		return result;
+	}
+	
+
+	/***
+	 * 
+	 * @param model
+	 * @param result
+	 */
+	public void openSchedAnalysisReport(Model model, final String result){
+		
+		//TODO Not the best solution 			
+		if (result == null)
+			return;
+		//and open a simple, user-friendly report
+
+		final List<CHRtPortSlot> specifications = new ArrayList<CHRtPortSlot>();
+		final List<CH_HwProcessor> cpus = new ArrayList<CH_HwProcessor>();
+		for (Element elem : model.allOwnedElements()) {
+			CHRtPortSlot chrtSlot = UMLUtils.getStereotypeApplication(elem, CHRtPortSlot.class);
+			if(chrtSlot != null){
+				specifications.add(chrtSlot);
+			}
+			if(elem instanceof InstanceSpecification){
+				CH_HwProcessor chHwProc = UMLUtils.getStereotypeApplication(elem, CH_HwProcessor.class);
+				if(chHwProc != null){
+					cpus.add(chHwProc);
+				}
+			}
+		};
+		
+		final Display display = PlatformUI.getWorkbench().getDisplay();
+		display.asyncExec(new Runnable() {
+			@Override
+			public void run() {
+				Shell shell = new Shell(display);
+				SchedResultDialog dialog = new SchedResultDialog(shell, result, specifications, cpus);
+				if (dialog.open() == Window.OK) {
+				    System.out.println("OK");
+				}
+			}
+		});
+	}
+	
+//	@SuppressWarnings("unused")
+//	private ModelSet getEditorResourceSet(IEditorPart editor)
+//			throws Exception {
+//		ModelSet resourceSet = null;
+//		try {
+//			resourceSet = (ModelSet)((ServicesRegistry)editor.getAdapter(ServicesRegistry.class)).getService(ModelSet.class);
+//		} catch (ServiceException e) {
+//			e.printStackTrace();
+//			throw new Exception("Unable to get the service registry");
+//		}
+//		return resourceSet;
+//	}
+}
diff --git a/plugins/org.polarsys.chess.m2m/src/org/polarsys/chess/m2m/SchedResultDialog.java b/plugins/org.polarsys.chess.m2m/src/org/polarsys/chess/m2m/SchedResultDialog.java
new file mode 100644
index 000000000..7c77f18c4
--- /dev/null
+++ b/plugins/org.polarsys.chess.m2m/src/org/polarsys/chess/m2m/SchedResultDialog.java
@@ -0,0 +1,242 @@
+package org.polarsys.chess.m2m;
+
+import java.net.URL;
+import java.util.List;
+
+import org.eclipse.core.runtime.FileLocator;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.jface.dialogs.Dialog;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.graphics.Color;
+import org.eclipse.swt.graphics.Device;
+import org.eclipse.swt.graphics.Font;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.swt.graphics.Rectangle;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Monitor;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.swt.widgets.Table;
+import org.eclipse.swt.widgets.TableColumn;
+import org.eclipse.swt.widgets.TableItem;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.CH_HwProcessor;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.CHRtPortSlot;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.CHRtSpecification;
+import org.polarsys.chess.core.Activator;
+
+public class SchedResultDialog extends Dialog {
+
+	private Shell shell;
+	private String result;
+	private List<CHRtPortSlot> specifications;
+	private List<CH_HwProcessor> cpus;
+
+	public SchedResultDialog(Shell parentShell, String result, List<CHRtPortSlot> specifications, List<CH_HwProcessor> cpus) {
+		super(parentShell);
+		this.shell = parentShell;
+		this.result = result;
+		this.specifications = specifications;
+		this.cpus = cpus;
+		
+		Image image = null;
+		URL url = FileLocator.find(Activator.getDefault().getBundle(), new Path("/resources/CHESSicon.gif"), null);
+    	try {
+			url = FileLocator.toFileURL(url);
+			//URI uri = new URI(url.getProtocol(), url.getHost(), url.getPath(), null);
+			
+	    	image = Activator.getImageDescriptor(url.toString()).createImage();
+		} catch (Exception e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+		}
+    	
+		super.setDefaultImage(image);
+	}
+	
+	@Override
+	protected Control createDialogArea(Composite parent) {
+		
+		//GridLayout layout = new GridLayout(1, false);
+		
+		GridLayout layout = new GridLayout();
+		layout.numColumns = 1;
+		layout.horizontalSpacing = 4;
+		layout.verticalSpacing = 4;
+		layout.marginBottom = 5;
+		layout.marginTop = 5;
+		parent.setLayout(layout);
+		
+		Device display = shell.getDisplay();
+		Color green = display.getSystemColor(SWT.COLOR_GREEN);
+		Color red = display.getSystemColor(SWT.COLOR_RED);
+		
+		Label resultLabel = new Label(parent, SWT.NONE);
+		resultLabel.setFont(new Font(display,"Tahoma", 14, SWT.BOLD));
+		if(result != null){
+			resultLabel.setText(result);
+		}
+		
+		Table cpuTable = new Table (parent, SWT.BORDER | SWT.NO_SCROLL);
+		cpuTable.setLinesVisible (true);
+		cpuTable.setHeaderVisible (true);
+		GridData data = new GridData(GridData.FILL, 
+                GridData.BEGINNING, true, false, 1, 1);
+		cpuTable.setLayoutData(data);
+		//cpuTable.setLayoutData(new GridData(SWT.NONE, SWT.NONE, false, false));
+		String[] cpuTitles = {"HW Instance", "Utilization", "Result"};
+		for (int i = 0; i < cpuTitles.length; i++) {
+			TableColumn column = new TableColumn(cpuTable, SWT.NONE);
+			column.setText(cpuTitles[i]);
+		}
+		for (CH_HwProcessor processor : cpus) {
+			TableItem item = new TableItem(cpuTable, SWT.NONE);
+			String utilization = processor.getUtilization();
+			if(utilization != null){
+				item.setText(0, processor.getBase_InstanceSpecification().getName());
+				String utilValue = getValue(utilization, "value");
+				item.setText(1, utilValue  + "%");
+				if(Float.parseFloat(utilValue) <= 100){
+					item.setText(2, "OK");
+					item.setForeground(2, green);
+				}else{
+					item.setText(2, "NOT OK: utiliaztion over 100%");
+					item.setForeground(2, red);
+				}
+			}
+		}
+		for (int i = 0; i < cpuTitles.length; i++) {
+			cpuTable.getColumn(i).pack();
+		}
+		
+		Table slotTable = new Table (parent, SWT.BORDER | SWT.NO_SCROLL);
+		slotTable.setLinesVisible (true);
+		slotTable.setHeaderVisible (true);
+		
+		data = new GridData(GridData.FILL, 
+                GridData.BEGINNING, true, false, 1, 1);
+		slotTable.setLayoutData(data);
+		//slotTable.setLayoutData(new GridData(SWT.NONE, SWT.NONE, false, false));
+		String[]slotTitles = {"SW Instance", "Operation", "Response Time", "Deadline", "Result"};
+		for (int i = 0; i < slotTitles.length; i++) {
+			TableColumn column = new TableColumn(slotTable, SWT.NONE);
+			column.setText(slotTitles[i]);
+		}
+		
+		for (CHRtPortSlot slot : specifications) {
+			EList<CHRtSpecification> specifications = slot.getCH_RtSpecification();
+			for (CHRtSpecification spec : specifications) {
+				
+				if (spec.getRlDl() == null || spec.getRlDl().isEmpty())
+					continue;
+				
+				TableItem item = new TableItem (slotTable, SWT.NONE);
+				item.setText(0, slot.getBase_Slot().getOwningInstance().getName());
+				item.setText(1, spec.getContext().getName());
+				
+				String rldl = spec.getRlDl();
+				String rldlUnit = getValue(rldl, "unit");
+				String rldlValue = getValue(rldl, "value");
+				String deadline = rldlValue + rldlUnit;
+				item.setText(3, deadline);
+				
+				String respT = "";
+				String respUnit = "";
+				String respValue ="";
+				
+				if (spec.getRespT().size()>0){
+					respT = spec.getRespT().get(0);
+					respUnit = getValue(respT, "unit");
+					respValue = getValue(respT, "worst");
+				}
+				
+				//if rldl is expressed in ms by the user convert respT in ms too
+				if(respValue != null && !respValue.isEmpty() && rldlUnit.equals("ms")){
+					double conv = Float.parseFloat(respValue)*1000;
+					conv = Math.round(conv*100)/100.0d;
+					respValue = Double.toString(conv);
+					respUnit = "ms";
+				}
+				
+				//if rldl is expressed in us by the user convert respT in us too
+				if(respValue != null && !respValue.isEmpty() && rldlUnit.equals("us")){
+					double conv = Float.parseFloat(respValue)*1000000;
+					conv = Math.round(conv*100)/100.0d;
+					respValue = Double.toString(conv);
+					respUnit = "us";
+				}
+				
+				String responseTime = respValue + respUnit;
+				item.setText(2, responseTime);
+				if (!respValue.isEmpty() && !rldlValue.isEmpty() ){
+					if(Float.parseFloat(respValue) <= Float.parseFloat(rldlValue)){
+						item.setText(4, "OK");
+						item.setForeground(4, green);
+					}else{
+						item.setText(4, "NOT OK: Response Time > Deadline");
+						item.setForeground(4, red);
+					}
+				}
+			}
+		}
+		
+		for (int i = 0; i < slotTitles.length; i++) {
+			slotTable.getColumn(i).pack();
+		}
+				
+		return super.createDialogArea(parent);
+	}
+	
+	
+	@Override
+	protected void configureShell(Shell shell) {
+		super.configureShell(shell);
+		shell.setText("Schedulability Analysis Report");
+		shell.setSize(650, 350);
+		Monitor primary = shell.getDisplay().getPrimaryMonitor();
+	    Rectangle bounds = primary.getBounds();
+	    Rectangle rect = shell.getBounds();
+	    
+	    int x = bounds.x + (bounds.width - rect.width) / 2;
+	    int y = bounds.y + (bounds.height - rect.height) / 2;
+	    
+	    shell.setLocation(x, y);
+	}
+	
+	@Override
+	protected boolean isResizable() {
+		return true;
+	}
+	
+	private static String getValue(String s, String match) {
+		
+		if (s== null)
+			return"";
+		
+		String found = null;
+		String[] splits = s.split(",");
+		for (String split : splits) {
+			if(split.contains(match)){
+				String[] ssplits = split.split("=");
+				for (String str : ssplits) {
+					if(!str.contains(match)){
+						found =  str;
+					}
+				}
+			}
+		}
+		if(found != null){
+			found = found.trim();
+			if (found.startsWith("(")){
+				found = found.substring(1, found.length());
+			}
+			if (found.endsWith(")")){
+				found = found.substring(0, found.length()-1);
+			}
+		}
+		return found;
+	}
+}
diff --git a/plugins/org.polarsys.chess.m2m/src/org/polarsys/chess/m2m/TransUtil.java b/plugins/org.polarsys.chess.m2m/src/org/polarsys/chess/m2m/TransUtil.java
new file mode 100644
index 000000000..a30f21da3
--- /dev/null
+++ b/plugins/org.polarsys.chess.m2m/src/org/polarsys/chess/m2m/TransUtil.java
@@ -0,0 +1,110 @@
+/*
+-----------------------------------------------------------------------
+--          			CHESS M2M plugin							 --
+--                                                                   --
+--                    Copyright (C) 2011-2012                        --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author: Alessandro Zovi         azovi@math.unipd.it 		         --
+--                                                                   --
+-- All rights reserved. This program and the accompanying materials  --
+-- are made available under the terms of the Eclipse Public License  --
+-- v1.0 which accompanies this distribution, and is available at     --
+-- http://www.eclipse.org/legal/epl-v10.html                         --
+-----------------------------------------------------------------------
+*/
+
+package org.polarsys.chess.m2m;
+
+import java.io.IOException;
+import java.util.ArrayList;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.m2m.internal.qvt.oml.emf.util.EmfUtil;
+import org.eclipse.m2m.internal.qvt.oml.emf.util.ModelContent;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.Package;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.CHRtSpecification;
+import org.polarsys.chess.core.util.uml.UMLUtils;
+import org.polarsys.chess.core.views.ViewUtils;
+
+//import es.unican.ctr.marte2mast.Marte2mast;
+
+public class TransUtil {	
+	public static final String TRANSPATH = "/transformations/";
+	
+	public static final String QVTO_PIM2PSM = "platform:/plugin/" + Activator.PLUGIN_ID + TRANSPATH + "CHESS_PIM2PSM.qvto";
+	
+	public static final String QVTO_PIM2PSMVERDE = "platform:/plugin/" + Activator.PLUGIN_ID + TRANSPATH + "CHESS_PIM2PSM_Inst_full_VERDE.qvto";
+	
+	public static final String QVTO_PIM2PSM_FULL = "platform:/plugin/" + Activator.PLUGIN_ID + TRANSPATH + "CHESS_PIM2PSM_Inst_full.qvto";
+	
+	public static final String QVTO_CEILING = "platform:/plugin/" + Activator.PLUGIN_ID + TRANSPATH + "CHESS_CeilingAssignment.qvto";
+
+	public static final String QVTO_MULTIINSTANCE = "platform:/plugin/" + Activator.PLUGIN_ID + TRANSPATH + "BuildMultiInstance.qvto";
+	
+	public static final String QVTO_REMMULTIINSTANCE = "platform:/plugin/" + Activator.PLUGIN_ID + TRANSPATH + "RemoveMultiInstance.qvto";
+	
+	public static final String TRANSFORMATIONS_DIR = "schedulability_analysis";
+	
+	public static final String TRANSFORMATIONS_FULL_DIR = "schedulability_analysis_full";
+	
+	public static final String CODEGEN_DIR = "src-gen";
+	
+	public static final String PIM_PSM_DIR = "m2m-temp";
+
+	public static final String TRANSFORMATIONS_DIR_VERDE = "schedulability_analysis_full_VERDE";
+	
+	public static final String TRANSFORMATIONS_DIR_E2E= "End-To-End_schedulability_analysis";
+
+	public static final String QVTO_PIM2PSME2E = "platform:/plugin/" + Activator.PLUGIN_ID + TRANSPATH + "CHESS_PIM2PSM_EndToEnd.qvto";
+
+	public static final String RESULTS_DIR_E2E = "End-To-End_analysis_results";
+
+	
+	public static ModelContent loadModel(Resource inResource){
+		return EmfUtil.loadModel(inResource.getURI());
+	}
+	
+	public static ModelContent loadModel(IFile modelFile){
+		return EmfUtil.loadModel(URI.createPlatformResourceURI(modelFile.getFullPath().toString(), true));
+	}
+	
+	public static void purgeModel(IFile modelFile) throws IOException {
+		ModelContent inModel = loadModel(modelFile);
+		Model m = (Model) inModel.getContent().get(0);
+		purgeRTAPackage(m);
+		purgeBackpropagation(m);
+		m.eResource().save(null);
+	}
+	
+	// Remove the content of the RtAnalysisPackage
+	private static void purgeRTAPackage(Model m) throws IOException {
+		Package rt = ViewUtils.getCHESSRtAnalysisPackage(m);
+		ArrayList<Element> l = new ArrayList<Element>(); 
+		for (Element e : rt.getOwnedElements()) {
+			if (e instanceof Package){
+				l.add(e);
+			}
+		}
+		for (int i = 0; i < l.size(); i++) {
+			l.get(i).destroy();
+		}
+	}
+	
+	
+	// Remove the values of the backpropagation results 
+	private static void purgeBackpropagation(Model m) throws IOException {
+		Package cm = ViewUtils.getCHESSComponentPackage(m);
+		for (Element el : cm.allOwnedElements()) {
+			CHRtSpecification chrt = UMLUtils.getStereotypeApplication(el, CHRtSpecification.class);
+			if (chrt != null){
+				chrt.getRespT().clear();
+				chrt.getBlockT().clear();
+			}
+		}
+	}
+}
diff --git a/plugins/org.polarsys.chess.m2m/src/org/polarsys/chess/m2m/TransformationResultsData.java b/plugins/org.polarsys.chess.m2m/src/org/polarsys/chess/m2m/TransformationResultsData.java
new file mode 100644
index 000000000..0d5194b2a
--- /dev/null
+++ b/plugins/org.polarsys.chess.m2m/src/org/polarsys/chess/m2m/TransformationResultsData.java
@@ -0,0 +1,13 @@
+package org.polarsys.chess.m2m;
+
+import org.eclipse.core.resources.IFile;
+
+public class TransformationResultsData {
+	public String res;
+	public IFile umlFile;
+
+	public TransformationResultsData(String res, IFile umlFile) {
+		this.res = res;
+		this.umlFile = umlFile;
+	}
+}
\ No newline at end of file
diff --git a/plugins/org.polarsys.chess.m2m/src/org/polarsys/chess/m2m/backpropagation/BackpropagationFullVERDE.java b/plugins/org.polarsys.chess.m2m/src/org/polarsys/chess/m2m/backpropagation/BackpropagationFullVERDE.java
new file mode 100644
index 000000000..5c44cb38c
--- /dev/null
+++ b/plugins/org.polarsys.chess.m2m/src/org/polarsys/chess/m2m/backpropagation/BackpropagationFullVERDE.java
@@ -0,0 +1,333 @@
+/*
+-----------------------------------------------------------------------
+--          			CHESS M2M plugin							 --
+--                                                                   --
+--                    Copyright (C) 2011-2012                        --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author: Alessandro Zovi         azovi@math.unipd.it 		         --
+--                                                                   --
+-- All rights reserved. This program and the accompanying materials  --
+-- are made available under the terms of the Eclipse Public License  --
+-- v1.0 which accompanies this distribution, and is available at     --
+-- http://www.eclipse.org/legal/epl-v10.html                         --
+-----------------------------------------------------------------------
+*/
+
+package org.polarsys.chess.m2m.backpropagation;
+
+import static org.polarsys.chess.core.util.CHESSProjectSupport.printlnToCHESSConsole;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.m2m.internal.qvt.oml.emf.util.ModelContent;
+import org.eclipse.m2m.internal.qvt.oml.trace.EMappingContext;
+import org.eclipse.m2m.internal.qvt.oml.trace.EMappingResults;
+import org.eclipse.m2m.internal.qvt.oml.trace.Trace;
+import org.eclipse.m2m.internal.qvt.oml.trace.TraceRecord;
+import org.eclipse.m2m.internal.qvt.oml.trace.VarParameterValue;
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.GQAM.GaResourcesPlatform;
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.SAM.SaAnalysisContext;
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.SAM.SaCommHost;
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.SAM.SaEndtoEndFlow;
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.SAM.SaExecHost;
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.SAM.SaStep;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SwMutualExclusionResource;
+import org.eclipse.papyrus.editor.PapyrusMultiDiagramEditor;
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.InstanceSpecification;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.Slot;
+import org.eclipse.uml2.uml.Stereotype;
+import org.polarsys.chess.chessmlprofile.Core.CHGaResourcePlatform;
+import org.polarsys.chess.chessmlprofile.Core.IdentifInstance;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.CH_HwBus;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.CH_HwComputingResource;
+import org.polarsys.chess.chessmlprofile.Predictability.DeploymentConfiguration.HardwareBaseline.CH_HwProcessor;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.CHRtSpecification;
+import org.polarsys.chess.core.util.uml.UMLUtils;
+import org.polarsys.chess.m2m.TransUtil;
+
+@SuppressWarnings({ "restriction", "unchecked", "rawtypes" })
+public class BackpropagationFullVERDE{
+
+	protected static List<BackpropagationRule> rules = new ArrayList<BackpropagationRule>();
+
+	public static void processQVTOTraceFile(PapyrusMultiDiagramEditor editor, IFile model) throws Exception {
+		printlnToCHESSConsole("*** CHESS PSM->PIM backpropagation ***");
+		ModelContent inModel = TransUtil.loadModel(model);		
+		Resource inResource = inModel.getResourceSet().getResource(URI.createURI(model.getLocationURI().toString()), true);
+		
+		String modelURI = URI.createPlatformResourceURI(model.getFullPath().toString(), true).toString();
+		String strTraceUri = modelURI.substring(0,modelURI.lastIndexOf('.') + 1) + "qvtotrace";
+		
+		inResource = inModel.getResourceSet().getResource(URI.createURI(strTraceUri), true);
+		ModelContent traceModel = new ModelContent(inResource.getContents());
+		
+		Trace trace = (Trace) traceModel.getContent().get(0);
+		for (TraceRecord rec: trace.getTraceRecords()) {
+			EMappingContext ctx = rec.getContext();
+			//printlnToCHESSConsole("Parsing trace: " + rec.getMappingOperation().getName());
+			EMappingResults res = rec.getResult();
+			EList<VarParameterValue> ress = res.getResult();
+			EObject outEl = null;
+			if (ress.isEmpty()){
+				// if the mapping has no output, i.e. it is a INOUT mapping
+				continue;
+			}else{ 
+				outEl = ress.get(0).getValue().getModelElement();
+			}
+			EObject inEl = ctx.getContext().getValue().getModelElement();
+				
+			for (BackpropagationRule rule : rules) {
+				if (rule.getInputType().isInstance(inEl) && rule.getOutputType().isInstance(outEl)){
+					rule.rule(inEl, outEl, rec);
+				}
+			}
+			Resource inputResource = inEl.eResource();
+			inputResource.save(null);
+			}
+		
+		printlnToCHESSConsole("*** End of CHESS PSM->PIM backpropagation   ***");
+	}
+	
+	static public abstract class BackpropagationRule<I, O> {
+		private Class<I> inputType;
+		private Class<O> outputType;
+		
+		public Class<I> getInputType() {
+			return inputType;
+		}
+		
+		public Class<O> getOutputType() {
+			return outputType;
+		}
+		
+		public BackpropagationRule(Class<I> inputType, Class<O> outputType) {
+			this.inputType = inputType;
+			this.outputType = outputType;
+			rules.add(this);
+		}
+		
+		public void printStatus(final String property, final Element theElement, final String value){
+			if (value == null || theElement ==null)
+				return;
+			if ( value.isEmpty())
+				return;
+			
+			String elName = theElement instanceof NamedElement?((NamedElement)theElement).getQualifiedName():theElement.toString();
+			StringBuilder s = new StringBuilder(20);
+			s.append(property).append(" updated for ").append(elName).append(": ").append(value);
+			printlnToCHESSConsole(s.toString());
+		}	
+		
+		abstract void rule(I inEl, O outEl, TraceRecord rec);
+	}
+	
+	/*@SuppressWarnings("unused")
+	private ModelSet getEditorResourceSet(IEditorPart editor)
+			throws Exception {
+		ModelSet resourceSet = null;
+		try {
+			resourceSet = (ModelSet)((ServicesRegistry)editor.getAdapter(ServicesRegistry.class)).getService(ModelSet.class);
+		} catch (ServiceException e) {
+			e.printStackTrace();
+			throw new Exception("Unable to get the service registry");
+		}
+		return resourceSet;
+	}*/
+	
+	
+	static BackpropagationRule<InstanceSpecification, Operation> CHRTComment2SaStep = new BackpropagationRule<InstanceSpecification, Operation>(InstanceSpecification.class, Operation.class) {
+		@Override
+		void rule(InstanceSpecification inEl, Operation outEl, TraceRecord rec) {
+			Comment chrt = null;
+			Slot slot = null;
+			try {
+				VarParameterValue v = rec.getParameters().getParameters().get(0); 
+				chrt = (Comment) v.getValue().getModelElement();
+				
+				v = rec.getParameters().getParameters().get(1); 
+				slot = (Slot) v.getValue().getModelElement();
+			} catch (Exception e) {
+				return;
+			}
+			
+			CHRtSpecification in = UMLUtils.getStereotypeApplication(chrt, CHRtSpecification.class);
+			SaStep out = UMLUtils.getStereotypeApplication(outEl, SaStep.class);
+			IdentifInstance id = UMLUtils.getStereotypeApplication(slot.getOwningInstance(), IdentifInstance.class);
+			if (out == null || in == null || id == null)
+				return;
+			String blockT = out.getBlockT() != null ? "(instance=" + id.getId() + ", " + out.getBlockT().substring(1) : "";
+			String respT = !out.getRespT().isEmpty() ? "(instance=" + id.getId() + ", " + out.getRespT().get(0).substring(1) : "";
+			
+			if (blockT != "")
+				in.getBlockT().add(blockT);
+			
+			if (respT != "")
+				in.getRespT().add(respT);
+			
+			printStatus("'blockT'", in.getContext(), blockT);
+			printStatus("'respT'", in.getContext(), respT);
+		}
+	};
+	
+	static BackpropagationRule<InstanceSpecification, org.eclipse.uml2.uml.Class> HwComputingResource2SaExecHost = new BackpropagationRule<InstanceSpecification, org.eclipse.uml2.uml.Class>(InstanceSpecification.class, org.eclipse.uml2.uml.Class.class) {
+		@Override
+		void rule(InstanceSpecification inEl, org.eclipse.uml2.uml.Class outEl, TraceRecord rec) {
+			CH_HwComputingResource in = UMLUtils.getStereotypeApplication(inEl, CH_HwComputingResource.class);
+			SaExecHost out = UMLUtils.getStereotypeApplication(outEl, SaExecHost.class);
+			if (in == null || out == null)
+				return;
+			//String slack = out.getSchSlack();
+			String util = !out.getUtilization().isEmpty() ? out.getUtilization().get(0) : "";
+			in.setUtilization(util);
+			printStatus("'utilization'", inEl, util);
+		}
+	};
+	
+	static BackpropagationRule<InstanceSpecification, org.eclipse.uml2.uml.Class> HwProcessor2SaExecHost = new BackpropagationRule<InstanceSpecification, org.eclipse.uml2.uml.Class>(InstanceSpecification.class, org.eclipse.uml2.uml.Class.class) {
+		@Override
+		void rule(InstanceSpecification inEl, org.eclipse.uml2.uml.Class outEl, TraceRecord rec) {
+			CH_HwProcessor in = UMLUtils.getStereotypeApplication(inEl, CH_HwProcessor.class);
+			SaExecHost out = UMLUtils.getStereotypeApplication(outEl, SaExecHost.class);
+			if (in == null || out == null)
+				return;
+			//String slack = out.getSchSlack();
+			String util = !out.getUtilization().isEmpty() ? out.getUtilization().get(0) : "";
+			in.setUtilization(util);
+			printStatus("'utilization'", inEl, util);
+		}
+	};
+	
+	static BackpropagationRule<InstanceSpecification, org.eclipse.uml2.uml.Class> HwBus2SaCommHost = new BackpropagationRule<InstanceSpecification, org.eclipse.uml2.uml.Class>(InstanceSpecification.class, org.eclipse.uml2.uml.Class.class) {
+		@Override
+		void rule(InstanceSpecification inEl, org.eclipse.uml2.uml.Class outEl, TraceRecord rec) {
+			CH_HwBus in = UMLUtils.getStereotypeApplication(inEl, CH_HwBus.class);
+			SaCommHost out = UMLUtils.getStereotypeApplication(outEl, SaCommHost.class);
+			if (in == null || out == null)
+				return;
+			//String slack = out.getSchSlack();
+			String util = !out.getUtilization().isEmpty() ? out.getUtilization().get(0) : "";
+			in.setUtilization(util);
+			printStatus("'utilization'", inEl, util);
+		}
+	};
+	
+	static BackpropagationRule<Component, org.eclipse.uml2.uml.Class> CHGaResourcePlatform2SaAnalysisContext = new BackpropagationRule<Component, org.eclipse.uml2.uml.Class>(Component.class, org.eclipse.uml2.uml.Class.class) {
+		@Override
+		void rule(Component inEl, org.eclipse.uml2.uml.Class outEl, TraceRecord rec) {
+			GaResourcesPlatform in = UMLUtils.getStereotypeApplication(inEl, CHGaResourcePlatform.class);
+			SaAnalysisContext out = UMLUtils.getStereotypeApplication(outEl, SaAnalysisContext.class);
+			if (in == null || out == null)
+				return;
+			//String slack = out.getIsSched();
+		}
+	};
+	
+	static BackpropagationRule<InstanceSpecification, org.eclipse.uml2.uml.Class> Operation2SaSharedResource = new BackpropagationRule<InstanceSpecification, org.eclipse.uml2.uml.Class>(InstanceSpecification.class, org.eclipse.uml2.uml.Class.class) {
+		@Override
+		void rule(InstanceSpecification inEl, org.eclipse.uml2.uml.Class outEl, TraceRecord rec) {
+			
+			Comment chrt = null;
+			Slot slot = null;
+			try {
+				VarParameterValue v = rec.getParameters().getParameters().get(0); 
+				chrt = (Comment) v.getValue().getModelElement();
+				
+				v = rec.getParameters().getParameters().get(1); 
+				slot = (Slot) v.getValue().getModelElement();
+			} catch (Exception e) {
+				return;
+			}
+			
+			
+			CHRtSpecification in = UMLUtils.getStereotypeApplication(chrt, CHRtSpecification.class);
+			SwMutualExclusionResource out = UMLUtils.getStereotypeApplication(outEl, SwMutualExclusionResource.class);
+			if (in == null || out == null)
+				return;
+			String ceiling = out.getCeiling(); 
+			in.setCeiling(ceiling);
+			printStatus("'ceiling'", in.getContext(), ceiling);
+			//in.setStackSize(out.getCapacity());
+		}
+	};
+	
+	
+	static BackpropagationRule<InstanceSpecification, org.eclipse.uml2.uml.Activity> slot2EndToEndWorkFlow = new BackpropagationRule<InstanceSpecification, org.eclipse.uml2.uml.Activity>(InstanceSpecification.class, org.eclipse.uml2.uml.Activity.class) {
+		@Override
+		void rule(InstanceSpecification inEl, org.eclipse.uml2.uml.Activity outEl, TraceRecord rec) {
+			
+			
+			Comment chrt = null;
+			Slot slot = null;
+			try {
+				VarParameterValue v = rec.getParameters().getParameters().get(0); 
+				chrt = (Comment) v.getValue().getModelElement();
+				
+				v = rec.getParameters().getParameters().get(1); 
+				slot = (Slot) v.getValue().getModelElement();
+			} catch (Exception e) {
+				return;
+			}
+			
+			CHRtSpecification in = UMLUtils.getStereotypeApplication(chrt, CHRtSpecification.class);
+			SaEndtoEndFlow out = UMLUtils.getStereotypeApplication(outEl, SaEndtoEndFlow.class);
+			if (in == null || out == null)
+				return;
+			EList<String> e2e = out.getEnd2EndT(); 
+			if (e2e != null && !e2e.isEmpty()){
+				//check if respT is already added by CHRTComment2SaStep...
+				if (in.getRespT().isEmpty()){
+						in.getRespT().add(e2e.get(0));
+						printStatus("'respT'", in.getContext(), e2e.get(0));
+				}
+				else
+					printStatus("'respT not updated'", in.getContext(), e2e.get(0));
+			}	
+			//in.setStackSize(out.getCapacity());
+		}
+	};
+	
+	static BackpropagationRule<Interaction, Activity> Interaction2EndToEndWorkFlow = new BackpropagationRule<Interaction, Activity>(Interaction.class, Activity.class) {
+		@Override
+		void rule(Interaction inEl, Activity outEl, TraceRecord rec) {
+			
+			//get the end2end worst completion time from PSM end2end flow
+			SaEndtoEndFlow psmE2EFlow = UMLUtils.getStereotypeApplication(outEl, SaEndtoEndFlow.class);
+			EList<String> end2endT = psmE2EFlow.getEnd2EndT();
+			
+			//get the analysis result (true/false) from PSM analysis context
+			VarParameterValue param = rec.getParameters().getParameters().get(0);
+			org.eclipse.uml2.uml.Class psmContext = (org.eclipse.uml2.uml.Class) param.getValue().getModelElement();
+			SaAnalysisContext psmAnalysisCtx = UMLUtils.getStereotypeApplication(psmContext, SaAnalysisContext.class);
+			String isSched = psmAnalysisCtx.getIsSched();
+			
+			//update isSched for PIM analysis context
+			param = rec.getParameters().getParameters().get(1);
+			org.eclipse.uml2.uml.Class pimContext = (org.eclipse.uml2.uml.Class) param.getValue().getModelElement();
+			SaAnalysisContext pimAnalysisCtx = UMLUtils.getStereotypeApplication(pimContext, SaAnalysisContext.class);
+			pimAnalysisCtx.setIsSched(isSched);
+			printStatus("isSched", pimContext, isSched);
+			
+			//update end2EndT for PIM e2e flow
+			param = rec.getParameters().getParameters().get(2);
+			Activity pimActivity = (Activity) param.getValue().getModelElement();
+			SaEndtoEndFlow pimE2EFlow = UMLUtils.getStereotypeApplication(pimActivity, SaEndtoEndFlow.class);
+			pimE2EFlow.getEnd2EndT().clear();
+			pimE2EFlow.getEnd2EndT().add(end2endT.get(0));
+			printStatus("endToEndT", pimActivity, end2endT.get(0));
+		}
+	};
+}
\ No newline at end of file
diff --git a/plugins/org.polarsys.chess.m2m/src/org/polarsys/chess/m2m/blackbox/Java4QVTutils.java b/plugins/org.polarsys.chess.m2m/src/org/polarsys/chess/m2m/blackbox/Java4QVTutils.java
new file mode 100644
index 000000000..4fee3d3c8
--- /dev/null
+++ b/plugins/org.polarsys.chess.m2m/src/org/polarsys/chess/m2m/blackbox/Java4QVTutils.java
@@ -0,0 +1,52 @@
+package org.polarsys.chess.m2m.blackbox;
+
+import org.eclipse.m2m.qvt.oml.blackbox.java.Operation;
+import org.eclipse.m2m.qvt.oml.blackbox.java.Operation.Kind;
+import org.eclipse.m2m.qvt.oml.util.IContext;
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityFinalNode;
+import org.eclipse.uml2.uml.InitialNode;
+import org.eclipse.uml2.uml.OpaqueAction;
+import org.eclipse.uml2.uml.UMLFactory;
+
+public class Java4QVTutils {
+	/**
+	 * 
+	 */
+	@Operation(kind = Kind.HELPER, contextual = true, withExecutionContext = true)
+	public  static InitialNode createInitialNode(IContext context, Activity act) {
+	
+		InitialNode tempNode = UMLFactory.eINSTANCE.createInitialNode();
+		InitialNode initNode = (InitialNode) act.createOwnedNode("InitialNode1", tempNode.eClass());
+		return initNode;
+		
+
+	}// end createInitialNode
+	
+	/**
+	 * 
+	 */
+	@Operation(kind = Kind.HELPER, contextual = true, withExecutionContext = true)
+	public  static ActivityFinalNode createFinalNode(IContext context, Activity act) {
+	
+		ActivityFinalNode tempNode = UMLFactory.eINSTANCE.createActivityFinalNode();
+		ActivityFinalNode finalNode = (ActivityFinalNode) act.createOwnedNode("ActivityFinalNode1", tempNode.eClass());
+		return finalNode;
+		
+
+	}// end createFinalNode
+	
+	/**
+	 * 
+	 */
+	@Operation(kind = Kind.HELPER, contextual = true, withExecutionContext = true)
+	public  static OpaqueAction createOpaqueAction(IContext context, Activity act, String name) {
+	
+		OpaqueAction tempNode = UMLFactory.eINSTANCE.createOpaqueAction();
+		OpaqueAction op = (OpaqueAction) act.createOwnedNode(name, tempNode.eClass());
+		return op;
+		
+
+	}// end createOpaqueAction
+	
+}
diff --git a/plugins/org.polarsys.chess.m2m/src/org/polarsys/chess/m2m/blackbox/VSLUtils.java b/plugins/org.polarsys.chess.m2m/src/org/polarsys/chess/m2m/blackbox/VSLUtils.java
new file mode 100644
index 000000000..4178a39c2
--- /dev/null
+++ b/plugins/org.polarsys.chess.m2m/src/org/polarsys/chess/m2m/blackbox/VSLUtils.java
@@ -0,0 +1,677 @@
+/*
+-----------------------------------------------------------------------
+--          			CHESS M2M plugin							 --
+--                                                                   --
+--                    Copyright (C) 2011-2012                        --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author: Alessandro Zovi         azovi@math.unipd.it 		         --
+--                                                                   --
+-- All rights reserved. This program and the accompanying materials  --
+-- are made available under the terms of the Eclipse Public License  --
+-- v1.0 which accompanies this distribution, and is available at     --
+-- http://www.eclipse.org/legal/epl-v10.html                         --
+-----------------------------------------------------------------------
+ */
+
+package org.polarsys.chess.m2m.blackbox;
+
+import java.util.ArrayList;
+import java.util.Vector;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.m2m.qvt.oml.blackbox.java.Operation;
+import org.eclipse.m2m.qvt.oml.blackbox.java.Operation.Kind;
+import org.eclipse.m2m.qvt.oml.util.IContext;
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.SAM.SaSharedResource;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SwMutualExclusionResource;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.Alloc.Assign;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.MutualExclusionResource;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.NFPs.NfpConstraint;
+import org.eclipse.papyrus.MARTE_Library.GRM_BasicTypes.ProtectProtocolKind;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.InstanceSpecification;
+import org.eclipse.uml2.uml.Slot;
+import org.polarsys.chess.chessmlprofile.Core.IdentifInstance;
+import org.polarsys.chess.chessmlprofile.Core.IdentifSlot;
+
+public class VSLUtils {
+
+	/**
+	 * returns the 'pattern' data (MARTE).
+	 * 
+	 * <p>
+	 * i.e. periodic(period=(value=0.6,unit=ms))
+	 * 
+	 * @return the 'pattern' data, or null if no data was found
+	 */
+	@Operation(kind = Kind.HELPER, contextual = true, withExecutionContext = true)
+	public static String getArrivalPatternType(IContext context, String self) {
+		String regex = "(\\w*)\\s*\\((.*)\\)";
+		Pattern pattern = Pattern.compile(regex);
+		Matcher matcher = pattern.matcher(self);
+		if (matcher.find())
+			return matcher.group(1).trim();
+		context.getLog().log("No ArrivalPattern detected");
+		return null;
+
+	}// end parseArrivalPattern
+
+	private static boolean isRealNumber(String n) {
+		try {
+			Double.parseDouble(n);
+		} catch (Exception e) {
+			return false;
+		}
+		return true;
+	}
+
+	/**
+	 * VSL parsing: receives an NFP_Integer value and parses the selected
+	 * property
+	 * 
+	 * <p>
+	 * i.e. (value=6)
+	 * 
+	 * @param inputText
+	 *            VSL formatted input string
+	 * 
+	 * @param propertyName
+	 *            property whose value we want
+	 * 
+	 * @return the parsed value of the property
+	 */
+	@Operation(kind = Kind.OPERATION, contextual = true, withExecutionContext = true)
+	public static String normalizeNFPInteger(IContext context, String self) {
+
+		if (self == null)
+			return "(value = 0)";
+		// If it is a shorthand notation, just the number (e.g. "1")
+		try {
+			return "(value = " + Integer.valueOf(self).toString() + ")";
+		} catch (Exception e) {
+			// continue with normal parsing
+		}
+		self = parseGetFirstValidVSL(self);
+		if (self == null) {
+			return "(value = 0)";
+		}
+
+		String regex = "\\(([^\\(\\)]*)\\)"; // same example -> 1:
+												// value=2,statQ=min | 2:
+												// value=3,statQ=max
+		Pattern pattern = Pattern.compile(regex);
+		Matcher matcher = pattern.matcher(self);
+
+		if (!matcher.find()) {
+			return "MALFORMED INPUT";
+		}
+
+		return "(value = " + parseInteger(matcher.group(1), "value") + ")";
+	}
+
+	/**
+	 * Some properties can store multiple values. This method returns the fist
+	 * valid one, in our case: the one with no statQ=calc
+	 * 
+	 * @param inputText
+	 *            text to check
+	 * 
+	 * @return the first valid VSL expression
+	 */
+	private static String parseGetFirstValidVSL(String inputText) {
+		// e.g. [ (statQ=calc) , ( value =2.0 ), (value= 3.8,statq=calc)] -> (
+		// value =2.0 )
+
+		Vector<String> splittedText = new Vector<String>();
+		String outText = null;
+		if (inputText == null) {
+			return null;
+		}
+		// SPLIT
+		String regex = "(\\(.*?\\))"; // ? -> non greedy
+		Pattern pattern = Pattern.compile(regex);
+		Matcher matcher = pattern.matcher(inputText);
+		while (matcher.find()) {
+			if (matcher.groupCount() > 0) {
+				splittedText.add(matcher.group(1));
+			}
+		}
+		// SELECT FIRST VALID
+		if (splittedText == null || splittedText.size() == 0) {
+			return null;
+		}
+		// check if there is one with no statQ=calc
+		for (int i = 0; i < splittedText.size(); i++) {
+			String inText = splittedText.get(i);
+			String regexStatQ = "statQ\\s*=\\s*calc"; // ? -> non greedy
+			pattern = Pattern.compile(regexStatQ);
+			matcher = pattern.matcher(inText);
+			if (!matcher.find()) {
+				return inText;
+			}
+		}// no? -> then, take the first one with statQ=calc
+		for (int i = 0; i < splittedText.size(); i++) {
+			String inText = splittedText.get(i);
+			String regexStatQ = "statQ\\s*=\\s*calc"; // ? -> non greedy
+			pattern = Pattern.compile(regexStatQ);
+			matcher = pattern.matcher(inText);
+			if (matcher.find()) {
+				return inText;
+			}
+		}
+		// END
+		splittedText.clear();
+		return outText;
+	}// parseGetFirstValidVSL
+
+	/**
+	 * VSL parsing: utility function used by parse_NFPInteger
+	 * 
+	 * <p>
+	 * i.e. [0..34[
+	 * 
+	 * @param propertiesText
+	 *            VSL formatted input string
+	 * 
+	 * @param propertyName
+	 *            "value", "source", "statQ" ...
+	 * 
+	 * @return the parsed value of the property
+	 */
+	private static String parseInteger(String propertiesText,
+			String propertyName) {
+
+		if (propertiesText == null)
+			return "MALFORMED INPUT";
+
+		String regex; // example: value=2,statQ=min
+		Pattern pattern;
+		Matcher matcher;
+
+		if (propertyName.equals("value")) {
+
+			regex = "\\s*" + propertyName + "\\s*=\\s*(\\d+)";
+			pattern = Pattern.compile(regex);
+			matcher = pattern.matcher(propertiesText);
+
+			if (!matcher.find()) {
+				return "MALFORMED INPUT";
+			}
+
+			return matcher.group(1);
+
+		} else if (propertyName.equals("source")) {
+
+			regex = "\\s*source\\s*=\\s*(est|meas|calc|req)";
+			pattern = Pattern.compile(regex);
+			matcher = pattern.matcher(propertiesText);
+
+			// if(matcher.groupCount()<2)return "NOT FOUND";
+			if (!matcher.find()) {
+				return "MALFORMED INPUT";
+			}
+
+			return matcher.group(1);
+
+		} else if (propertyName.equals("statQ")) {
+
+			regex = "\\s*statQ\\s*=\\s*(min|max)";
+			pattern = Pattern.compile(regex);
+			matcher = pattern.matcher(propertiesText);
+
+			// if(matcher.groupCount()<2)return "NOT FOUND";
+			if (!matcher.find()) {
+				return "MALFORMED INPUT";
+			}
+
+			return matcher.group(1);
+
+		} else {
+			return "NOT IMPLEMENTED";
+		}
+	}
+
+	/**
+	 * VSL parsing: receives an NFP_Duration value and parses the property
+	 * selected
+	 * 
+	 * <p>
+	 * i.e. (value=0.6,unit=ms)
+	 * 
+	 * @param self
+	 *            VSL formatted input string
+	 * 
+	 * @param propertyName
+	 *            property whose value we want
+	 * 
+	 * @return the parsed value of the property
+	 */
+	@Operation(kind = Kind.HELPER, contextual = true, withExecutionContext = true)
+	public static String parseNFPDuration(IContext context, String self,
+			String propertyName) {
+
+		if (self == null)
+			return "MALFORMED INPUT";
+		self = parseGetFirstValidVSL(self);
+		if (self == null) {
+			return "MALFORMED INPUT";
+		}
+
+		String regex = "\\((.*)\\)";
+		Pattern pattern = Pattern.compile(regex);
+		Matcher matcher = pattern.matcher(self);
+		if (!matcher.find()) {
+			context.getLog().log("WARNING: can't parse NFP_Duration ");
+			return "MALFORMED INPUT";
+		}
+		String propertiesText = matcher.group(1);
+
+		if (propertyName.equals("source")) {
+
+			regex = "\\s*source\\s*=\\s*([est|meas|calc|req])";
+			pattern = Pattern.compile(regex);
+			matcher = pattern.matcher(propertiesText);
+
+			// if(matcher.groupCount()<2)return "NOT FOUND";
+			if (!matcher.find()) {
+				context.getLog()
+						.log("WARNING: NFP_Duration doesn't have a valid value for \"source\" ");
+				return "MALFORMED INPUT";
+			}
+
+			return matcher.group(1);
+
+		} else if (propertyName.equals("value") || propertyName.equals("best")
+				|| propertyName.equals("worst")) {
+
+			// Extract Value
+			String theValue, theUnit;
+			regex = "\\s*" + propertyName + "\\s*=\\s*(\\d+\\.*\\d*)";
+			pattern = Pattern.compile(regex);
+			matcher = pattern.matcher(propertiesText);
+
+			// if(matcher.groupCount()<2)return "NOT FOUND";
+			if (!matcher.find()) {
+				context.getLog().log("WARNING: can't parse NFP_Duration ");
+				return "MALFORMED INPUT";
+			}
+
+			theValue = matcher.group(1);
+
+			// MAST needs a real value not an integer (if the VSL is correct it
+			// should be a real anyway,
+			// but I check in case it isn't correctly formed)
+			regex = "\\s*" + propertyName + "\\s*=\\s*(\\d+\\.+\\d+)";
+			pattern = Pattern.compile(regex);
+			matcher = pattern.matcher(propertiesText);
+			if (!matcher.find()) {
+				theValue += ".0";
+			}
+
+			// Extract Units
+			regex = "\\s*unit\\s*=\\s*(\\w+)";
+			pattern = Pattern.compile(regex);
+			matcher = pattern.matcher(propertiesText);
+			if (matcher.find()) {
+				theUnit = matcher.group(1);
+			} else {
+				theUnit = "s";
+			}
+
+			if (theUnit.equals("s")) {
+				return theValue;
+			} else if (theUnit.equals("ms")) {
+				return theValue + "E-3";
+			} else if (theUnit.equals("us")) {
+				return theValue + "E-6";
+			} else if (theUnit.equals("ns")) {
+				return theValue + "E-9";
+			}
+
+			context.getLog().log("WARNING: can't parse NFP_Duration ");
+			return "MALFORMED INPUT";
+
+		} else {
+			context.getLog().log("WARNING: can't parse NFP_Duration ");
+			return "NOT IMPLEMENTED";
+		}
+
+	}// end parseNFP_Duration
+
+	@Operation(kind = Kind.OPERATION, contextual = true, withExecutionContext = true)
+	public static String parseNFPReal(IContext context, String self,
+			String propertyName) {
+
+		if (self == null) {
+			return "MALFORMED INPUT";
+		}
+		// If it is a shorthand notation, just the number (e.g. "1.0")
+		try {
+			return Double.valueOf(self).toString();
+		} catch (Exception e) {
+			// continue with normal parsing
+		}
+
+		self = parseGetFirstValidVSL(self);
+		if (self == null) {
+			return "MALFORMED INPUT";
+		}
+
+		String regex = "\\((.*)\\)";
+		Pattern pattern = Pattern.compile(regex);
+		Matcher matcher = pattern.matcher(self);
+		if (!matcher.find()) {
+			return "MALFORMED INPUT";
+		}
+
+		if (matcher.groupCount() < 1)
+			return "";
+
+		String propertiesText = matcher.group(1);
+
+		regex = "\\s*" + propertyName + "\\s*=\\s*(\\d+\\.*\\d*)";
+		pattern = Pattern.compile(regex);
+		matcher = pattern.matcher(propertiesText);
+
+		if (!matcher.find()) {
+			return "MALFORMED INPUT";
+		}
+
+		return matcher.group(1);
+
+	}// end parseNFP_Real
+
+	@Operation(kind = Kind.OPERATION, contextual = true, withExecutionContext = true)
+	public static void setCeiling(IContext context,
+			org.eclipse.uml2.uml.Class self, String ceiling) {
+		if (ceiling == null)
+			return;
+		if (ceiling.isEmpty())
+			return;
+		for (EObject e : self.getStereotypeApplications()) {
+			if (e instanceof SaSharedResource) {
+				SaSharedResource s = (SaSharedResource) e;
+
+				if (!isRealNumber(ceiling))
+					ceiling = parseNFPReal(context, ceiling, "value");
+				s.setCeiling(ceiling);
+			}
+			// else if (e instanceof SwMutualExclusionResource){
+			// SwMutualExclusionResource s = (SwMutualExclusionResource) e;
+			// if (isRealNumber(ceiling))
+			// ceiling = "(value = "+ ceiling +" , source = req)";
+			// else
+			// ceiling = "(value = "+ parseNFPReal(context, ceiling, "value")
+			// +" , source = req)";
+			// s.setCeiling(ceiling);
+			// }
+		}
+	}
+
+	@Operation(kind = Kind.OPERATION, contextual = true, withExecutionContext = true)
+	public static void setCeiling2(IContext context,
+			org.eclipse.uml2.uml.Class self, String ceiling) {
+		if (ceiling == null)
+			return;
+		if (ceiling.isEmpty())
+			return;
+		for (EObject e : self.getStereotypeApplications()) {
+			if (e instanceof SwMutualExclusionResource) {
+				SwMutualExclusionResource s = (SwMutualExclusionResource) e;
+				if (!isRealNumber(ceiling))
+					ceiling = parseNFPReal(context, ceiling, "value");
+				s.setCeiling(ceiling);
+			}
+		}
+	}
+
+	@Operation(kind = Kind.OPERATION, contextual = true, withExecutionContext = true)
+	public static void setCeiling3(IContext context,
+			org.eclipse.uml2.uml.Class self, String ceiling) {
+		if (ceiling == null)
+			return;
+		if (ceiling.isEmpty())
+			return;
+		for (EObject e : self.getStereotypeApplications()) {
+			if (e instanceof MutualExclusionResource) {
+				MutualExclusionResource s = (MutualExclusionResource) e;
+
+				if (!isRealNumber(ceiling))	
+					ceiling =parseNFPReal(context, ceiling, "value");
+				s.setCeiling(ceiling);
+			}
+		}
+	}
+
+	@Operation(kind = Kind.OPERATION, contextual = true, withExecutionContext = true)
+	public static void setProtectKind(IContext context,
+			org.eclipse.uml2.uml.Class self, String type) {
+		for (EObject e : self.getStereotypeApplications()) {
+			if (e instanceof SaSharedResource) {
+				SaSharedResource s = (SaSharedResource) e;
+				ProtectProtocolKind a = ProtectProtocolKind.getByName(type);
+				s.setProtectKind(a);
+			}
+			// else if (e instanceof SwMutualExclusionResource){
+			// SwMutualExclusionResource s = (SwMutualExclusionResource) e;
+			// ProtectProtocolKind a = ProtectProtocolKind.getByName(type);
+			// s.setProtectKind(a);
+			// }
+		}
+
+	}
+
+	@Operation(kind = Kind.OPERATION, contextual = true, withExecutionContext = true)
+	public static void setProtectKind2(IContext context,
+			org.eclipse.uml2.uml.Class self, String type) {
+		for (EObject e : self.getStereotypeApplications()) {
+			if (e instanceof SwMutualExclusionResource) {
+				SwMutualExclusionResource s = (SwMutualExclusionResource) e;
+				ProtectProtocolKind a = ProtectProtocolKind.getByName(type);
+				s.setProtectKind(a);
+			}
+		}
+	}
+
+	@Operation(kind = Kind.OPERATION, contextual = true, withExecutionContext = true)
+	public static void setProtectKind3(IContext context,
+			org.eclipse.uml2.uml.Class self, String type) {
+		for (EObject e : self.getStereotypeApplications()) {
+			if (e instanceof MutualExclusionResource) {
+				MutualExclusionResource s = (MutualExclusionResource) e;
+				ProtectProtocolKind a = ProtectProtocolKind.getByName(type);
+				s.setProtectKind(a);
+			}
+		}
+	}
+
+	@Operation(kind = Kind.HELPER, contextual = true, withExecutionContext = true)
+	public static EList<Slot> portToSlotsByRule(IContext context,
+			org.eclipse.uml2.uml.InstanceSpecification self, org.eclipse.uml2.uml.Port onPort, org.eclipse.uml2.uml.Constraint rule) {
+		EList<Slot> list = new BasicEList<Slot>();
+		
+		String values[] = rule.getSpecification().stringValue().trim().split(" ");
+		ArrayList<int[]> boundsList = new ArrayList<int[]>();
+		for (String value : values) {
+			boundsList.add(getBounds(value));
+		}
+		
+		for (Slot slot : self.getSlots()) {
+			IdentifSlot id = getStereotypeApplication(slot, IdentifSlot.class);
+			
+			if (id != null && slot.getDefiningFeature() == onPort && isInBounds(id.getId(), boundsList)) {
+				list.add(slot);
+			}
+			else if (slot.getDefiningFeature() == onPort) {
+				list.add(slot);
+			}
+		}
+		
+		return list;
+	}
+	
+	@Operation(kind = Kind.HELPER, contextual = true, withExecutionContext = true)
+	public static EList<InstanceSpecification> getInstances(IContext context,
+			org.eclipse.uml2.uml.Comment self,
+			org.eclipse.uml2.uml.Package inst,
+			org.eclipse.uml2.uml.Package instFull) {
+		EList<InstanceSpecification> list = new BasicEList<InstanceSpecification>();
+
+		Assign ass = getStereotypeApplication(self, Assign.class);
+		InstanceSpecification originatingInst = (InstanceSpecification) ass.getFrom().get(0);
+		
+		if (originatingInst == null)
+			return list;
+		
+		if (!inst.allOwnedElements().contains(originatingInst))
+			return list;
+		
+		
+		
+		int[] bounds = getBounds(self);
+		
+		if (bounds != null)
+			for (Element el : instFull.allOwnedElements()) {
+				
+				IdentifInstance id = getStereotypeApplication(el,
+						IdentifInstance.class);
+				
+				if (el instanceof InstanceSpecification && id != null) {
+					if (isInBounds(id.getId(), bounds)
+							&& id.getSourceInstanceSpec() == originatingInst)
+						list.add((InstanceSpecification) el);
+				}
+			}
+		else
+			for (Element el : instFull.allOwnedElements()) {
+				IdentifInstance id = getStereotypeApplication(el,
+						IdentifInstance.class);
+				if (el instanceof InstanceSpecification && id != null
+						&& id.getSourceInstanceSpec() == originatingInst) {
+					list.add((InstanceSpecification) el);
+				}
+			}
+
+		return list;
+	}
+
+//	@Operation(kind = Kind.HELPER, contextual = true, withExecutionContext = true)
+//	public static EList<InstanceSpecification> getInstances(IContext context,
+//			org.eclipse.uml2.uml.Comment self) {
+//		EList<InstanceSpecification> list = new BasicEList<InstanceSpecification>();
+//		if (!self.getAnnotatedElements().isEmpty()) {
+//			// TODO assumption: one and only nfpConstrant
+//			Constraint a = getNfpConstraint(self.getAnnotatedElements());
+//			System.out.println(a.getSpecification().stringValue());
+//		}
+//
+//		return list;
+//	}
+	
+	@Operation(kind = Kind.HELPER, contextual = true, withExecutionContext = true)
+	public static Boolean isReferringId(IContext context,
+			org.eclipse.uml2.uml.Comment self, Integer id) {
+		
+		int[] bounds = getBounds(self);
+		
+		//if there are no bounds the comment refers to all the instance ids
+		if (bounds == null)
+			return true;
+		
+		return isInBounds(id, bounds);
+	}
+
+	private static Boolean isInBounds(int id, int[] bounds) {
+		return id >= bounds[0] && id <= bounds[1];
+	}
+	
+	private static Boolean isInBounds(int id, java.util.List<int[]> bounds) {
+		for (int[] b : bounds) {
+			if (isInBounds(id, b))
+				return true;
+		}
+		return false;
+	}
+	
+	private static int[] getBounds(Comment comment) {
+		if (!comment.getAnnotatedElements().isEmpty()) {
+			// TODO assumption: one and only nfpConstrant
+			Constraint a = getNfpConstraint(comment.getAnnotatedElements());
+			
+			String value = a.getSpecification().stringValue();
+
+			return getBounds(value);
+			
+		}
+
+		return null;
+	}
+
+	//match all variants of "    [  1   ..   10   ]   " result: [1, 10]
+	//match all variants of "    [  1   ]   		  " result: [1, 1]
+	//match all variants of "      10   			  " result: [10, 10]
+	private static int[] getBounds(String value) {
+		String regex = "\\s*\\[\\s*(\\d+)\\s*\\.*\\s*(\\d+)\\]\\s*";
+		Pattern pattern = Pattern.compile(regex);
+		Matcher matcher = pattern.matcher(value);
+		int[] b = new int[2];
+
+		if (matcher.find() && matcher.groupCount() == 2) {
+			String begin_ = matcher.group(1);
+			String end_ = matcher.group(2);
+			b[0] = Integer.parseInt(begin_);
+			b[1] = Integer.parseInt(end_);
+			return b;
+		}
+		
+		regex = "\\s*\\[\\s*(\\d+)\\s*\\]\\s*";
+		pattern = Pattern.compile(regex);
+		matcher = pattern.matcher(value);
+		if (matcher.find() && matcher.groupCount() == 1) {
+			String begin_ = matcher.group(1);
+			b[0] = Integer.parseInt(begin_);
+			b[1] = b[0];
+			return b;
+		}
+		
+		regex = "\\s*(\\d+)\\s*";
+		pattern = Pattern.compile(regex);
+		matcher = pattern.matcher(value);
+		if (matcher.find() && matcher.groupCount() == 1) {
+			String begin_ = matcher.group(1);
+			b[0] = Integer.parseInt(begin_);
+			b[1] = b[0];
+			return b;
+		}
+		
+		return null;
+	}
+
+	private static Constraint getNfpConstraint(EList<Element> list) {
+		for (Element element : list) {
+			if (element instanceof Constraint) {
+				if (getStereotypeApplication(element, NfpConstraint.class) != null)
+					return (Constraint) element;
+			}
+		}
+		return null;
+	}
+
+	@SuppressWarnings("unchecked")
+	private static <T extends EObject> T getStereotypeApplication(
+			Element element, Class<T> stereotypeClass) {
+		for (EObject stereoApplication : element.getStereotypeApplications()) {
+			if (stereotypeClass.isInstance(stereoApplication)) {
+				return (T) stereoApplication;
+			}
+		}
+		return null;
+	}
+}
\ No newline at end of file
diff --git a/plugins/org.polarsys.chess.m2m/src/org/polarsys/chess/m2m/transformations/AbstractTransformation.java b/plugins/org.polarsys.chess.m2m/src/org/polarsys/chess/m2m/transformations/AbstractTransformation.java
new file mode 100644
index 000000000..720614386
--- /dev/null
+++ b/plugins/org.polarsys.chess.m2m/src/org/polarsys/chess/m2m/transformations/AbstractTransformation.java
@@ -0,0 +1,94 @@
+package org.polarsys.chess.m2m.transformations;
+
+import java.util.Map;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IFolder;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.papyrus.editor.PapyrusMultiDiagramEditor;
+import org.polarsys.chess.core.util.CHESSProjectSupport;
+import org.polarsys.chess.m2m.AcceleoMarte2mastProxy;
+import org.polarsys.chess.m2m.QVToTransformation;
+import org.polarsys.chess.m2m.TransUtil;
+import org.polarsys.chess.m2m.TransformationResultsData;
+
+public abstract class AbstractTransformation {
+
+	private String folder = TransUtil.TRANSFORMATIONS_DIR;
+	private IFolder transDir;
+	protected Map<String, String> configProperty;
+
+	public AbstractTransformation() {
+		super();
+	}
+
+	public void setFolder (String newFolder){
+		this.folder = newFolder;
+	}
+	
+	public Map<String, String>  getConfigProperty() {
+		return configProperty;
+	}
+	
+	public void setConfigProperty(Map<String, String> configProperty) {
+		this.configProperty = configProperty;
+	}
+
+	protected IFile s1(IFile model) throws Exception {
+		transDir = model.getProject().getFolder(folder);
+
+		// Delete the working dir if it exists
+		CHESSProjectSupport.deleteFolder(transDir);
+
+		CHESSProjectSupport.createFolder(transDir);
+		// Work on a copy of the model
+		IFile modelCopy = CHESSProjectSupport.copyFile(model, folder,
+				model.getName());
+		// Remove the content of the RtAnalysisPackage and Backpropagation
+		// results
+		TransUtil.purgeModel(modelCopy);
+		return modelCopy;
+	}
+
+	public TransformationResultsData performTransformation(
+			final PapyrusMultiDiagramEditor editor, IFile model, IProgressMonitor monitor)
+			throws Exception {
+		// Tidy up directories
+
+		IFile modelCopy = s1(model);
+		//Execute the various steps of the transformations
+		QVToTransformation.launchBuildMultiInstance(modelCopy, monitor);
+		build1(monitor, modelCopy);
+
+		String result = build2(monitor, modelCopy, editor);
+
+		// Remove the package with the multi instances
+		QVToTransformation.launchRemoveMultiInstance(modelCopy, monitor);
+
+		// Replace the input model file with the transformed model
+		CHESSProjectSupport.fileReplace(modelCopy, model);
+		return new TransformationResultsData(result, model);
+		// Finally delete the working dir
+		// CHESSProjectSupport.deleteFolder((IFolder) transDir);
+	}
+
+	abstract protected void build1(IProgressMonitor monitor, IFile modelCopy)
+			throws Exception;
+	
+	abstract protected void backpropagation(PapyrusMultiDiagramEditor editor, IFile modelCopy)
+			throws Exception;
+	
+
+	protected String build2(IProgressMonitor monitor, IFile modelCopy,
+			PapyrusMultiDiagramEditor editor) throws Exception {
+		try {
+			String result = AcceleoMarte2mastProxy.runMarte2Mast(modelCopy,
+					transDir, monitor);
+			backpropagation(editor, modelCopy);
+			return result;
+		} catch (Exception e) {
+
+		}
+		return null;
+	}
+}
\ No newline at end of file
diff --git a/plugins/org.polarsys.chess.m2m/src/org/polarsys/chess/m2m/transformations/PIMPSMTransformationEnd2End.java b/plugins/org.polarsys.chess.m2m/src/org/polarsys/chess/m2m/transformations/PIMPSMTransformationEnd2End.java
new file mode 100644
index 000000000..e4e7d9cf6
--- /dev/null
+++ b/plugins/org.polarsys.chess.m2m/src/org/polarsys/chess/m2m/transformations/PIMPSMTransformationEnd2End.java
@@ -0,0 +1,24 @@
+package org.polarsys.chess.m2m.transformations;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.papyrus.editor.PapyrusMultiDiagramEditor;
+import org.polarsys.chess.m2m.QVToTransformation;
+import org.polarsys.chess.m2m.TransUtil;
+import org.polarsys.chess.m2m.backpropagation.BackpropagationFullVERDE;
+
+public class PIMPSMTransformationEnd2End extends AbstractTransformation {
+
+	@Override
+	protected void build1(IProgressMonitor monitor, IFile modelCopy)
+			throws Exception {
+		QVToTransformation.launchTransformation(TransUtil.QVTO_PIM2PSMVERDE, "CHESS_PIM2PSMEND2END",true, modelCopy, monitor, configProperty);
+	}
+
+	@Override
+	protected void backpropagation(PapyrusMultiDiagramEditor editor,
+			IFile modelCopy) throws Exception {
+		BackpropagationFullVERDE.processQVTOTraceFile(editor, modelCopy);
+	}
+
+}
diff --git a/plugins/org.polarsys.chess.m2m/src/org/polarsys/chess/m2m/transformations/PIMPSMTransformationVERDE.java b/plugins/org.polarsys.chess.m2m/src/org/polarsys/chess/m2m/transformations/PIMPSMTransformationVERDE.java
new file mode 100644
index 000000000..dc1dc299d
--- /dev/null
+++ b/plugins/org.polarsys.chess.m2m/src/org/polarsys/chess/m2m/transformations/PIMPSMTransformationVERDE.java
@@ -0,0 +1,40 @@
+/*
+-----------------------------------------------------------------------
+--          			CHESS M2M plugin							 --
+--                                                                   --
+--                    Copyright (C) 2011-2012                        --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author: Alessandro Zovi         azovi@math.unipd.it 		         --
+--                                                                   --
+-- All rights reserved. This program and the accompanying materials  --
+-- are made available under the terms of the Eclipse Public License  --
+-- v1.0 which accompanies this distribution, and is available at     --
+-- http://www.eclipse.org/legal/epl-v10.html                         --
+-----------------------------------------------------------------------
+*/
+
+package org.polarsys.chess.m2m.transformations;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.papyrus.editor.PapyrusMultiDiagramEditor;
+import org.polarsys.chess.m2m.QVToTransformation;
+import org.polarsys.chess.m2m.TransUtil;
+import org.polarsys.chess.m2m.backpropagation.BackpropagationFullVERDE;
+
+public class PIMPSMTransformationVERDE extends AbstractTransformation {
+	
+	
+	protected void build1(IProgressMonitor monitor, IFile modelCopy)
+			throws Exception {
+		QVToTransformation.launchTransformation(TransUtil.QVTO_PIM2PSMVERDE, "CHESS_PIM2PSMVERDE", true, modelCopy, monitor, configProperty);
+	}
+
+	@Override
+	protected void backpropagation(PapyrusMultiDiagramEditor editor, IFile modelCopy)
+			throws Exception {
+		BackpropagationFullVERDE.processQVTOTraceFile(editor, modelCopy);
+	}
+}
+
diff --git a/plugins/org.polarsys.chess.m2m/transformations/BuildMultiInstance.qvto b/plugins/org.polarsys.chess.m2m/transformations/BuildMultiInstance.qvto
new file mode 100644
index 000000000..55c15bbca
--- /dev/null
+++ b/plugins/org.polarsys.chess.m2m/transformations/BuildMultiInstance.qvto
@@ -0,0 +1,500 @@
+/*
+-----------------------------------------------------------------------
+--          			CHESS M2M plugin							 --
+--                                                                   --
+--                    Copyright (C) 2011-2012                        --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author: Stefano Puri         stefano.puri@intecs.it 		         --
+--                                                                   --
+-- All rights reserved. This program and the accompanying materials  --
+-- are made available under the terms of the Eclipse Public License  --
+-- v1.0 which accompanies this distribution, and is available at     --
+-- http://www.eclipse.org/legal/epl-v10.html                         --
+-----------------------------------------------------------------------
+*/
+
+
+modeltype CHESS uses "http://CHESS";
+modeltype UML uses "http://www.eclipse.org/uml2/3.0.0/UML";
+modeltype MARTE uses "http://www.eclipse.org/papyrus/MARTE/1";
+
+transformation BuildMultiInstance(inout chessModel : CHESS);
+
+property CHESSProfile : Profile = null;
+property model : Model = null;
+property newMultiInstPackage : Package = null;
+property CHGaResourcePlatformQN = "CHESS::Core::CHGaResourcePlatform";
+
+
+configuration property rootComp : String;
+
+property rootInstance : InstanceSpecification = null;
+
+main() {
+
+    log("*** Build Multi Instances Transformation   ***");	
+	model := chessModel.rootObjects()![Model];
+	
+	CHESSProfile := model.getAppliedProfiles()->selectOne(name="CHESS").oclAsType(Profile);
+  	
+  	var compViewPack : Package := model.getView("ComponentView");
+  	compViewPack->map buildMultipleInstancePackage();
+  	
+}
+
+/**
+Takes the package owning the instances created by the BuildInstance trasformation and explodes 
+all the instanceSpecification and Slot deriving from Properties/Ports with mult>1
+*/
+mapping UML::Package::buildMultipleInstancePackage() {
+
+	var platforms := self.allOwnedElements()[Package]->select(isStereotyped(CHGaResourcePlatformQN))->asSequence();
+	log("CHGaResourcesPlatforms in the model: " + platforms->size().repr());
+	assert fatal (platforms->size()=1) with log("CHGaResourcesPlatform not found");
+	
+	var instPackage := platforms->first();
+
+	var parentPackage : UML::Package := instPackage.owner.oclAsType(UML::Package);
+	
+	newMultiInstPackage := object UML::Package{};
+	
+	newMultiInstPackage.name := instPackage.name+"_full";
+	
+	parentPackage.packagedElement += newMultiInstPackage;
+	instPackage.map createFullInstances();
+	
+	instPackage.map createLinks();
+		
+}
+
+mapping UML::Package::createFullInstances() {
+		
+	self.packagedElement->forEach(a){
+		 if(a.oclIsTypeOf(UML::InstanceSpecification))then{
+		 	var inst := a.oclAsType(UML::InstanceSpecification);
+		 	if (not inst.classifier -> isEmpty()) then {
+		 		//this is a Component instance
+		 		var multiInstanceStereo := inst.getStereotypeApplications()->
+					select(metaClassName()="MultiInstance")->asOrderedSet()->first().oclAsType(CHESS::Core::MultiInstance);
+				if (not multiInstanceStereo.oclIsInvalid()) then {
+					var i : Integer := 1;
+					while(i<=multiInstanceStereo.upperBound){
+						inst.map cloneInst(i);
+						i:=i+1;
+					}
+				}else{
+					inst.map cloneInst(0);
+				}
+				endif;
+				
+		 	}else{
+		 				
+		 	}endif;
+		 }endif;
+	}
+}
+
+
+mapping UML::Package::createLinks() {
+		
+	self.packagedElement->forEach(a){
+		 if(a.oclIsTypeOf(UML::InstanceSpecification))then{
+		 	var inst := a.oclAsType(UML::InstanceSpecification);
+		 	if (not inst.classifier -> isEmpty()) then {
+		 		
+		 	}else{
+		 		//this is an instance of Connector
+		 		var reqInstanceOrig : InstanceSpecification := getRequiringInstance(inst);
+		 		var reqPort : Port := getRequiredPort(inst);
+		 		var provPort : Port := getProvidedPort(inst);
+		 		var provInstanceOrig : InstanceSpecification := getProvidingInstance(inst);
+		 		var reqInstMult : Integer := 0;
+		 		var reqPortMult : Integer := reqPort.upperBound();
+		 		var provInstMult : Integer := 0;
+		 		var provPortMult : Integer := provPort.upperBound();
+		 		
+		 		var multiInstanceStereo := reqInstanceOrig.getStereotypeApplications()->
+					select(metaClassName()="MultiInstance")->asOrderedSet()->first().oclAsType(CHESS::Core::MultiInstance);
+				if (not multiInstanceStereo.oclIsInvalid()) then {	
+					reqInstMult :=multiInstanceStereo.upperBound;
+				}else{
+					reqInstMult :=1;
+				
+				}endif;
+				multiInstanceStereo := provInstanceOrig.getStereotypeApplications()->
+					select(metaClassName()="MultiInstance")->asOrderedSet()->first().oclAsType(CHESS::Core::MultiInstance);
+				if (not multiInstanceStereo.oclIsInvalid()) then {	
+					provInstMult :=multiInstanceStereo.upperBound;
+				}
+				else{
+					provInstMult :=1;
+				}endif;
+				
+				newMultiInstPackage.ownedElement -> forEach(newInst){
+					var identInstStereo : CHESS::Core::IdentifInstance := newInst.getStereotypeApplications()->select(metaClassName()="IdentifInstance")->
+						asOrderedSet()->first().oclAsType(CHESS::Core::IdentifInstance);
+					if (identInstStereo.sourceInstanceSpec = reqInstanceOrig) then {
+					
+						
+						newInst.oclAsType(UML::InstanceSpecification).map setRequired(reqPort, provPort, provInstanceOrig, provInstMult, reqInstMult, reqPortMult);
+						
+					}endif;
+					
+				};
+			
+		 	}endif;
+		 }endif;
+	}
+}
+
+
+mapping UML::InstanceSpecification::cloneInst (in id : Integer):UML::InstanceSpecification {
+	name := self.name;
+	classifier := self.classifier;
+	
+	newMultiInstPackage.packagedElement += result;
+	
+	self.slot->forEach(slot){
+		var multiSlotStereo := slot.getStereotypeApplications()->
+		select(metaClassName()="MultiSlot")->asOrderedSet()->first().oclAsType(CHESS::Core::MultiSlot);
+		if (not multiSlotStereo.oclIsInvalid()) then {
+			var i : Integer := 1;
+			while(i<=multiSlotStereo.upperBound){
+				slot.map cloneSlot(i, result);
+				i:=i+1;
+			}
+		}else{
+				slot.map cloneSlot(0, result);
+		}endif;
+					
+	};
+		
+	var identifInstance := result.applyStereotype(getCHESSStereotype("IdentifInstance")).oclAsType(CHESS::Core::IdentifInstance);
+	identifInstance.id := id;
+	identifInstance.sourceInstanceSpec :=self;
+	
+
+}
+
+mapping UML::Slot::cloneSlot (in id : Integer, inout inst : InstanceSpecification):UML::Slot {
+	definingFeature := self.definingFeature;
+	inst.slot += result;
+	if (id > 0) then{
+		var identifSlot := result.applyStereotype(getCHESSStereotype("IdentifSlot")).oclAsType(CHESS::Core::IdentifSlot);
+		identifSlot.id := id;
+	}endif;
+	
+	var chRtSlotStereo : CHESS::RTComponentModel::CHRtPortSlot := self.getStereotypeApplications()->
+		select(metaClassName()="CHRtPortSlot")->asOrderedSet()->first().oclAsType(CHESS::RTComponentModel::CHRtPortSlot);
+	if (not chRtSlotStereo.oclIsInvalid()) then {
+		var chrtslot := result.applyStereotype(getCHESSStereotype("CHRtPortSlot")).oclAsType(CHESS::RTComponentModel::CHRtPortSlot);
+		chrtslot.cH_RtSpecification := chRtSlotStereo.cH_RtSpecification;	
+	}endif;
+		
+	
+
+}
+
+
+query getRequiringInstance(connInst : UML::InstanceSpecification) : UML::InstanceSpecification {
+	connInst.slot->forEach(sl){
+		if (sl.oclAsType(UML::Slot).definingFeature.oclIsKindOf(UML::Port)) then{
+			var port : UML::Port := sl.oclAsType(UML::Slot).definingFeature.oclAsType(UML::Port);
+		
+			port.getStereotypeApplications()->select(metaClassName()="ClientServerPort")->forEach(csp){
+				var p := csp.oclAsType(MARTE::GCM::ClientServerPort);
+				if(p.kind = MARTE::GCM::ClientServerKind::required)then{
+					return sl.value->select(name="partWithPort")->asOrderedSet()->first().oclAsType(UML::InstanceValue).instance;
+				}endif;
+			}
+		
+		}endif;
+	};
+	return null;
+}
+
+query getRequiredPort(connInst : UML::InstanceSpecification) : UML::Port {
+	connInst.slot->forEach(sl){
+		if (sl.oclAsType(UML::Slot).definingFeature.oclIsKindOf(UML::Port)) then{
+			var port : UML::Port := sl.oclAsType(UML::Slot).definingFeature.oclAsType(UML::Port);
+		
+			port.getStereotypeApplications()->select(metaClassName()="ClientServerPort")->forEach(csp){
+				var p := csp.oclAsType(MARTE::GCM::ClientServerPort);
+				if(p.kind = MARTE::GCM::ClientServerKind::required)then{
+					return sl.definingFeature.oclAsType(UML::Port);
+				}endif;
+			}
+		
+		}endif;
+	};
+	return null;
+}
+
+query getProvidingInstance(connInst : UML::InstanceSpecification) : UML::InstanceSpecification {
+	connInst.slot->forEach(sl){
+		if (sl.oclAsType(UML::Slot).definingFeature.oclIsKindOf(UML::Port)) then{
+			var port : UML::Port := sl.oclAsType(UML::Slot).definingFeature.oclAsType(UML::Port);
+		
+			port.getStereotypeApplications()->select(metaClassName()="ClientServerPort")->forEach(csp){
+				var p := csp.oclAsType(MARTE::GCM::ClientServerPort);
+				if(p.kind = MARTE::GCM::ClientServerKind::provided)then{
+					return sl.value->select(name="partWithPort")->asOrderedSet()->first().oclAsType(UML::InstanceValue).instance;
+				}endif;
+			}
+		
+		}endif;
+	};
+	return null;
+}
+
+query getProvidedPort(connInst : UML::InstanceSpecification) : UML::Port {
+	connInst.slot->forEach(sl){
+		if (sl.oclAsType(UML::Slot).definingFeature.oclIsKindOf(UML::Port)) then{
+			var port : UML::Port := sl.oclAsType(UML::Slot).definingFeature.oclAsType(UML::Port);
+		
+			port.getStereotypeApplications()->select(metaClassName()="ClientServerPort")->forEach(csp){
+				var p := csp.oclAsType(MARTE::GCM::ClientServerPort);
+				if(p.kind = MARTE::GCM::ClientServerKind::provided)then{
+					return sl.definingFeature.oclAsType(UML::Port);
+				}endif;
+			}
+		
+		}endif;
+	};
+	return null;
+}
+
+
+
+
+
+//set links between required ports and provided ports
+mapping UML::InstanceSpecification::setRequired(in reqPort : UML::Port, in provPort : UML::Port, 
+		in destInst : UML::InstanceSpecification, in provCompMult: Integer, in reqCompMult: Integer, in reqPortMult: Integer){
+	//var chessComp := sm.objectsOfType(UML::Component)->select(name = self.name)->asOrderedSet()->first();
+	var instId : Integer :=0;
+	var identifInstStereo : CHESS::Core::IdentifInstance := self.getStereotypeApplications()->
+					select(metaClassName()="IdentifInstance")->asOrderedSet()->first().oclAsType(CHESS::Core::IdentifInstance);
+	instId := identifInstStereo.id;
+	
+		self.slot->select(definingFeature.oclIsKindOf(UML::Port))->forEach(slot){
+			var p : UML::Port := slot.definingFeature.oclAsType(UML::Port);
+			if (p=reqPort) then {
+				var reqPortId : Integer := 0;
+				var identifSlotStereo : CHESS::Core::IdentifSlot := slot.getStereotypeApplications()->
+					select(metaClassName()="IdentifSlot")->asOrderedSet()->first().oclAsType(CHESS::Core::IdentifSlot);
+				reqPortId := identifSlotStereo.id;
+				
+				//create new InstanceSpecification for connector
+				var connInst : UML::InstanceSpecification := new InstanceSpecification ();
+				//set Slot for requiredPort
+				var reqSlot : UML::Slot := new Slot();
+				newMultiInstPackage.packagedElement += connInst;
+				connInst.slot += reqSlot;
+				reqSlot.definingFeature := reqPort;
+				var instValue : UML::InstanceValue := new InstanceValue();
+				reqSlot.value += instValue;
+				instValue.instance := self;
+				var identifSlot := reqSlot.applyStereotype(getCHESSStereotype("IdentifSlot")).oclAsType(CHESS::Core::IdentifSlot);
+				identifSlot.id := reqPortId;
+				
+				//now set Slot for provided port
+				
+					var portID := 0;  //0 is the value in case of provPort.upperBound()=1
+					var destCompID := 0; //0 is the value in case of provCompMult=1
+					//if reqP.mult = comp.mult*provP.mult then same as for setEmptyLinks()
+					if(p.upperBound()=provPort.upperBound()*provCompMult)then{
+					
+						if (provPort.upperBound()>1)then{
+							if(reqPortId.mod(provPort.upperBound())<>0)then{
+								portID := reqPortId.mod(provPort.upperBound());
+							}else{
+								portID :=provPort.upperBound();
+							}endif;
+						}endif;
+						
+						if (provCompMult > 1) then {
+							if(reqPortId.mod(provPort.upperBound())<>0)then{
+								destCompID := (reqPortId/provPort.upperBound()).floor()+1;
+							}else{
+								destCompID := (reqPortId/provPort.upperBound()).floor();
+							}endif;
+						}endif;
+					}else{
+						//case reqP.mult=1, comp.mult=provP.mult*destComp.mult
+						if(p.upperBound()=1 and reqCompMult=provPort.upperBound()*provCompMult)then{
+							
+							if (provPort.upperBound()>1)then{
+							
+								if(instId.mod(provPort.upperBound())<>0)then{
+									portID := instId.mod(provPort.upperBound());
+								}else{
+									portID := provPort.upperBound();
+								}endif;
+							}endif;
+							if (provCompMult > 1) then {
+								if(instId.mod(provPort.upperBound())<>0)then{
+									destCompID := (instId/provPort.upperBound()).floor()+1;
+								}else{
+									destCompID := (instId/provPort.upperBound()).floor();
+								}endif;
+							}endif;
+						}else{
+							//case reqP.mult=provP.mult
+							if(p.upperBound() = provPort.upperBound())then{
+							
+								if (provPort.upperBound()>1)then{
+									if(instId.mod(provPort.upperBound())<>0)then{
+										portID := instId.mod(provPort.upperBound());
+									}else{
+										portID := provPort.upperBound();
+									}endif;
+								}endif;
+								if (provCompMult >1) then {
+									if(instId.mod(provPort.upperBound())<>0)then{
+										destCompID := (instId/provPort.upperBound()).floor()+1;
+									}else{
+										destCompID := (instId/provPort.upperBound()).floor();
+									}endif;
+								}endif;
+							}else{
+								//case reqP.mult*comp.mult=provP.mult (compDest.mult = 1)
+								if(p.upperBound()*reqCompMult = provPort.upperBound())then{
+									if (provPort.upperBound()>1)then{
+										portID := p.upperBound()*reqCompMult;
+									}endif;
+									if (provCompMult > 1) then {
+										destCompID := 1;
+									}endif;
+								}else{
+									//case reqP.mult*comp.mult=destComp.mult (provP.mult = 1) ---> (self.relId*reqP.mult)-(reqP.mult-reqP.relId)
+									if(p.upperBound()*reqCompMult=provCompMult)then{
+										if (provPort.upperBound()>1)then{
+											portID := 1;
+										}endif;
+										if (provCompMult > 1) then {
+											destCompID := (instId*p.upperBound())-(p.upperBound()-reqPortId);
+										}endif;
+										log("MISSING CASE"+" comp:"+instId.toString()+" reqP:"+reqPortId.toString()+" destC:"+destCompID.toString());
+									}endif;
+								}endif;
+							}endif;
+						}endif;
+					}endif;
+					
+					var provIdentifInstance : UML::InstanceSpecification := getIdentifInstance(destCompID, destInst);
+					
+					//set Slot for providedPort
+					var provSlot : UML::Slot := new Slot();
+					connInst.slot += provSlot;
+					provSlot.definingFeature := provPort;
+					instValue := new InstanceValue();
+					provSlot.value += instValue;
+					instValue.instance := provIdentifInstance;
+					identifSlot := provSlot.applyStereotype(getCHESSStereotype("IdentifSlot")).oclAsType(CHESS::Core::IdentifSlot);
+					identifSlot.id := portID;
+					
+				}endif;
+			
+		};
+}
+
+query getIdentifInstance(in id : Integer, in origInstance : UML::InstanceSpecification):UML::InstanceSpecification{
+  newMultiInstPackage.ownedElement->forEach(elem){
+  	var identifInstStereo : CHESS::Core::IdentifInstance := elem.getStereotypeApplications()->
+					select(metaClassName()="IdentifInstance")->asOrderedSet()->first().oclAsType(CHESS::Core::IdentifInstance);
+	if (not identifInstStereo.oclIsInvalid()) then{
+		if (identifInstStereo.id = id and identifInstStereo.sourceInstanceSpec = origInstance) then {
+			return elem.oclAsType(UML::InstanceSpecification);
+		}endif;
+	}endif;
+  };
+  return null;
+}
+
+
+
+//find the provided port for the required port in input among the connectors in input
+query Set(UML::Connector)::findOtherEndReq(in pin : String, in cin : String) : UML::ConnectorEnd{
+	self->forEach(c){
+		var en := c._end->select(role.name = pin and partWithPort.name=cin)->asOrderedSet()->first();
+		if((not en.oclIsInvalid()))then{
+			var target := c._end->select(partWithPort.name <> cin and role.oclAsType(UML::Port).getStereotypeApplications()->
+				select(metaClassName()="ClientServerPort")->asOrderedSet()->first().oclAsType(MARTE::GCM::ClientServerPort).kind=MARTE::GCM::ClientServerKind::provided)->
+					asOrderedSet()->first();
+			return target;
+		}endif;
+	};
+	return null;
+}
+
+
+query getCHESSStereotype(stereoName : String) : Stereotype {
+	return CHESSProfile.allOwnedElements()[Stereotype]->selectOne(name=stereoName);
+}
+
+query getCHRtSpecification(port : UML::Port, partWithPort : UML::Property, setComm : Set(UML::Comment)) : chessmlprofile::RTComponentModel::CHRtSpecification {
+	
+	setComm->forEach(comm){
+	    var c := comm.getStereotypeApplications()->
+					select(metaClassName()="CHRtSpecification")->asOrderedSet()->first().oclAsType(chessmlprofile::RTComponentModel::CHRtSpecification);
+	
+		if (c != null)then{
+			if (partWithPort != null) then{
+			
+				if (c.partWithPort = partWithPort and c.base_Comment.annotatedElement->includes(port)) then{
+					return c;
+				}endif;
+			}else{
+				if (c.base_Comment.annotatedElement->includes(port)) then{
+					return c;
+				}endif;
+				
+			}endif;
+		}endif;
+	};
+	return null;
+}
+
+query getRequiredPort(conn : UML::Connector) : UML::Port {
+	conn._end->forEach(conEnd){
+		var martePort := conEnd.role.oclAsType(UML::Port).getStereotypeApplications()->
+		select(metaClassName()="ClientServerPort")->asOrderedSet()->first().oclAsType(MARTE::GCM::ClientServerPort);
+			if(conEnd.partWithPort <> null and martePort.kind=MARTE::GCM::ClientServerKind::required)then{
+				return conEnd.role.oclAsType(UML::Port);
+			}endif;	
+	};
+	return null;
+}
+
+query getRequiredProperty(conn : UML::Connector) : UML::Property {
+	conn._end->forEach(conEnd){
+		var martePort := conEnd.role.oclAsType(UML::Port).getStereotypeApplications()->
+		select(metaClassName()="ClientServerPort")->asOrderedSet()->first().oclAsType(MARTE::GCM::ClientServerPort);
+			if(conEnd.partWithPort <> null and martePort.kind=MARTE::GCM::ClientServerKind::required)then{
+				return conEnd.partWithPort.oclAsType(UML::Property);
+			}endif;	
+	};
+	return null;
+}
+
+query getProvidedProperty(conn : UML::Connector) : UML::Property {
+	conn._end->forEach(conEnd){
+		var martePort := conEnd.role.oclAsType(UML::Port).getStereotypeApplications()->
+		select(metaClassName()="ClientServerPort")->asOrderedSet()->first().oclAsType(MARTE::GCM::ClientServerPort);
+			if(conEnd.partWithPort <> null and martePort.kind=MARTE::GCM::ClientServerKind::provided)then{
+				return conEnd.partWithPort.oclAsType(UML::Property);
+			}endif;	
+	};
+	return null;
+}
+
+query Model::getView(viewName : String) : Package {
+	var seq := self.packagedElement[Package]-> union(self.packagedElement[Package].packagedElement[Package]);
+	return seq -> selectOne(isStereotyped("CHESS::Core::CHESSViews::" + viewName));
+}
+
+query Element::isStereotyped(stereoName : String) : Boolean {
+	return self.getAppliedStereotype(stereoName) <> null
+}
diff --git a/plugins/org.polarsys.chess.m2m/transformations/CHESS_CeilingAssignment.qvto b/plugins/org.polarsys.chess.m2m/transformations/CHESS_CeilingAssignment.qvto
new file mode 100644
index 000000000..1550ddd18
--- /dev/null
+++ b/plugins/org.polarsys.chess.m2m/transformations/CHESS_CeilingAssignment.qvto
@@ -0,0 +1,254 @@
+/*
+-----------------------------------------------------------------------
+--            CHESS ceiling assignment transformation                --
+--                                                                   --
+--                    Copyright (C) 2011-2012                        --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Authors: Marco Panunzio         panunzio@math.unipd.it            --
+--          Alessandro Zovi        azovi@math.unipd.it               --
+--                                                                   --
+-- All rights reserved. This program and the accompanying materials  --
+-- are made available under the terms of the Eclipse Public License  --
+-- v1.0 which accompanies this distribution, and is available at     --
+-- http://www.eclipse.org/legal/epl-v10.html                         --
+-----------------------------------------------------------------------
+*/
+
+import ProfileUtils;
+import UMLUtils;
+import chess.lib;
+	
+modeltype UML uses "http://www.eclipse.org/uml2/2.0.0/UML";
+modeltype MARTEP uses "http://www.eclipse.org/papyrus/MARTE/1";
+modeltype CHESS uses "http://CHESS";	
+modeltype ECORE uses "http://www.eclipse.org/emf/2002/Ecore";
+	
+transformation CHESS_Assignment(inout source:UML);
+
+property model : Model = null;
+property MARTEProfile : Profile = null;
+property CHESSProfile : Profile = null;
+
+property assigns : Set(Comment) = null;
+property specs : Set(Comment) = null;
+property slots : Set(Slot) = null;
+	
+main() {
+    log("*** CHESS Ceiling assignment transformation   ***");	
+	model := source.rootObjects()![Model];
+	
+	MARTEProfile := model.getView("ComponentView").getAppliedProfiles()->selectOne(name="GCM").owner.owner.oclAsType(Profile);
+	CHESSProfile := model.getAppliedProfiles()->selectOne(name="CHESS").oclAsType(Profile);
+	
+	initUtils(MARTEProfile, CHESSProfile);
+	slots := model.allOwnedElements()[Slot]->asSet();
+	specs := model.allOwnedElements()[Comment]->select(isStereotyped(CHRtSpecificationQN))->asSet();
+	assigns := model.allOwnedElements()[Comment]->select(isStereotyped(AssignQN))->asSet();
+		
+	model.map ModelWithCeiling();
+	log("*** End of CHESS Ceiling assignment transformation   ***");
+}
+
+mapping inout Model::ModelWithCeiling() {
+	init{	
+		var chrtPortSlotList : Sequence(Slot) := model.allOwnedElements()[Slot]->select(ps | ps.isStereotyped(CHRtPortSlotQN))->asSequence();
+	}
+
+	// Initialization of own ceilings of cyclic and sporadic operations
+	// Initialization of ceiling of protected operation
+	// Initialization of ceiling of unprotected operation		
+	chrtPortSlotList->forEach(ps) {
+		var specs : Sequence(chessmlprofile::RTComponentModel::CHRtSpecification) := (ps.getMetaclass(CHRtPortSlotQN).oclAsType(chessmlprofile::RTComponentModel::CHRtPortSlot)).cH_RtSpecification->asSequence();
+	    specs->forEach(spec) {
+	    	if (spec.isDeferred()) then {
+	    	   spec.ceiling := spec.relativePriority
+	    	} else {
+	   			spec.ceiling := "-127";
+	    	} endif;
+	    }
+	};
+	
+	// Ceiling propagation
+	chrtPortSlotList->forEach(ps) {
+		var specs : Sequence(chessmlprofile::RTComponentModel::CHRtSpecification) := (ps.getMetaclass(CHRtPortSlotQN).oclAsType(chessmlprofile::RTComponentModel::CHRtPortSlot)).cH_RtSpecification->asSequence();
+	    specs->forEach(spec) {
+	    	if (spec.isDeferred()) then {
+				ps.map propagateCeiling(spec);
+	    	} endif
+	    }
+	};
+	
+	//After ceiling propagation, remove ceilings of unprotected operations
+	chrtPortSlotList->forEach(ps) {
+		var specs : Sequence(chessmlprofile::RTComponentModel::CHRtSpecification) := (ps.getMetaclass(CHRtPortSlotQN).oclAsType(chessmlprofile::RTComponentModel::CHRtPortSlot)).cH_RtSpecification->asSequence();
+	    specs->forEach(spec) {
+	    	if ((not spec.isDeferred()) and (not spec.isProtected())) then {
+				spec.ceiling := null;
+	    	} endif
+	    }
+	}
+
+}
+
+mapping inout Slot::propagateCeiling(spec : chessmlprofile::RTComponentModel::CHRtSpecification) {
+   init {
+   		var ceilingToPropagate := spec.ceiling;
+   		var sourceOp : Operation := spec.context.oclAsType(Operation);
+   		var currInstance : InstanceSpecification := self.owningInstance; 
+   }
+   
+   if (sourceOp.method->notEmpty()) then {
+   		var act := (sourceOp.method->asSequence()->first().oclAsType(Activity));
+   		var coaList := act.collectCallOperationNodes();
+   		coaList->forEach(coa) {
+			var calledOp := coa.operation;
+			var riPort := coa.onPort;
+			var riSlot : Slot := currInstance.slot[definingFeature = riPort]->any(true);
+			var connectedSlot : Slot := riSlot.getConnectedSlot(currInstance);
+			var CHRtSpec := connectedSlot.CHRtSpecForOperation(calledOp);
+			
+			/* If the component instances are deployed on different nodes
+			*  we need to set the ceiling priority to the priority of the
+			*  server task of the middleware.
+			*  Currently it is hardcoded to 27.
+			*/
+			
+			if (not riSlot.owningInstance.isDeployedOnSameProcesor(connectedSlot.owningInstance)) then
+			   ceilingToPropagate := "27"
+			endif;
+			
+			
+			if (ceilingToPropagate.asInteger() > CHRtSpec.ceiling.asInteger()) then {
+				if (CHRtSpec.isDeferred()) then {
+				   //Raise the ceiling of the OBCS and terminate
+				   CHRtSpec.ceiling := ceilingToPropagate;
+				   		
+				} else { 
+					if (CHRtSpec.isProtected()) then {
+				   		//Raise the ceiling of the protected object 
+				   		// (i.e. all protected operations of the slot) 
+				   		// and recursively continue
+				   		CHRtSpec.ceiling := ceilingToPropagate;
+				   		connectedSlot.map propagateCeiling(CHRtSpec);
+				   		
+				   		var specs : Sequence(chessmlprofile::RTComponentModel::CHRtSpecification) := 
+				   		   (connectedSlot.getMetaclass(CHRtPortSlotQN).oclAsType(chessmlprofile::RTComponentModel::CHRtPortSlot)).cH_RtSpecification->asSequence();
+	   						specs ->forEach(mySpec) {
+
+				   			if (mySpec.isProtected()) then {							
+								if (ceilingToPropagate.asInteger() > mySpec.ceiling.asInteger()) then {
+								    mySpec.ceiling := ceilingToPropagate;
+									connectedSlot.map propagateCeiling(mySpec);
+								} endif;								
+				   			} endif;
+				   		}
+				   	} else {//Unprotected
+				   		CHRtSpec.ceiling := ceilingToPropagate;
+				   		connectedSlot.map propagateCeiling(CHRtSpec);
+				   	} endif;
+				} endif;
+			} endif;					
+   		};
+   } endif;
+   
+}
+
+query InstanceSpecification::isConnectorInstance() : Boolean {
+	if (self.classifier->isEmpty()) then
+		if (self.slot->any(true).isStereotyped(ClientServerPortQN)) then
+			return true
+		endif
+	endif;
+	return false;
+}
+
+query Slot::getConnectedSlot(compInst : InstanceSpecification) : Slot {
+	var riPort := self.definingFeature.oclAsType(Port);
+	var myInstanceValue : InstanceValue := null;
+	var connectorPIslot : Slot := null;
+	var targetInstance : InstanceSpecification := null;
+
+	var connectorInstList := InstanceSpecification.allInstances()->select(classifier->size() = 0);
+	connectorInstList->forEach(connInst) {
+	    var candidateSlot : Slot := connInst.slot->selectOne(definingFeature = riPort);
+	    if (candidateSlot <> null) then {
+	       myInstanceValue := (candidateSlot.allOwnedElements()[InstanceValue])->selectOne(instance = compInst);
+	       if (myInstanceValue <> null) then {
+	          connectorPIslot := connInst.slot->selectOne(definingFeature <> riPort);
+	          targetInstance := connectorPIslot.value->selectOne(true).oclAsType(InstanceValue).instance;
+	          return targetInstance.slot->selectOne(definingFeature = connectorPIslot.definingFeature);
+	       } endif;
+	    } endif;
+		
+	};
+	return null;
+}
+
+query InstanceSpecification::isDeployedOnSameProcesor(is : InstanceSpecification) : Boolean {
+	var proc1 : InstanceSpecification := getDeploymentProcessor(self);
+	return proc1 = getDeploymentProcessor(is);
+}
+
+
+query getDeploymentProcessor(p : InstanceSpecification) : InstanceSpecification {
+	var a := assigns -> selectOne(isAssignedFrom(p));
+	var asg := a.getMetaclass(AssignQN).oclAsType(MARTE::Alloc::Assign);
+	return 	asg.to![InstanceSpecification];
+}
+
+/**
+ * Start of reused code by azovi
+ */
+
+/*
+  Given an ICB-Activity return the list of all its CallOperationAction nodes,
+  assuming that their are all connected in a single chain: no loops and branches.
+*/
+query Activity::collectCallOperationNodes() : Sequence(CallOperationAction) {
+	var nodes : Sequence(CallOperationAction) := Sequence{};
+	var prevNode : ActivityNode := self.node![InitialNode];
+	var nextNode : ActivityNode;
+	while(true){
+		nextNode := prevNode.outgoing->any(true).target.oclAsType(CallOperationAction);
+		if nextNode <> null then {
+			nodes += nextNode.oclAsType(CallOperationAction);
+			prevNode := nextNode;
+		}
+		else{
+			break;
+		}
+		endif;
+	};
+	return nodes;
+}
+
+query chessmlprofile::RTComponentModel::CHRtSpecification::isDeferred() : Boolean {
+	var arrivalPattern := self.occKind.getArrivalPatternType();
+	//the operation is deferred if the arrival pattern is: periodic, sporadic, bursty
+	if  arrivalPattern.oclIsInvalid() then
+		return false
+	endif;
+	return (arrivalPattern <> null and arrivalPattern.length() <> 0);
+}
+
+query chessmlprofile::RTComponentModel::CHRtSpecification::isSporadic() : Boolean {
+	var arrivalPattern := self.occKind.getArrivalPatternType();
+	return (arrivalPattern.equalsIgnoreCase("sporadic"));// and self.isGuarded());
+}
+
+query chessmlprofile::RTComponentModel::CHRtSpecification::isProtected() : Boolean { 
+	return (not self.isDeferred()) and self.protection = MARTE::HLAM::CallConcurrencyKind::guarded;
+}
+
+query Port::getConnectedPort() : Port {
+	var bindingConnector := self.getConnector();
+	var myConnectorEnd := (bindingConnector.allOwnedElements()[ConnectorEnd])->	selectOne(role <> self);
+    return myConnectorEnd.role.oclAsType(Port);
+}
+
+
+query Comment::isAssignedFrom(p : InstanceSpecification) : Boolean {
+    var asg := self.getMetaclass(AssignQN).oclAsType(MARTE::Alloc::Assign);
+    return asg._from![InstanceSpecification] = p;
+}
diff --git a/plugins/org.polarsys.chess.m2m/transformations/CHESS_PIM2PSM_Inst_full_VERDE.qvto b/plugins/org.polarsys.chess.m2m/transformations/CHESS_PIM2PSM_Inst_full_VERDE.qvto
new file mode 100644
index 000000000..2a348067a
--- /dev/null
+++ b/plugins/org.polarsys.chess.m2m/transformations/CHESS_PIM2PSM_Inst_full_VERDE.qvto
@@ -0,0 +1,1437 @@
+/*
+-----------------------------------------------------------------------
+--          			CHESS M2M plugin							 --
+--                                                                   --
+--                    Copyright (C) 2011-2012                        --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author: Alessandro Zovi         azovi@math.unipd.it 		         --
+--                                                                   --
+-- All rights reserved. This program and the accompanying materials  --
+-- are made available under the terms of the Eclipse Public License  --
+-- v1.0 which accompanies this distribution, and is available at     --
+-- http://www.eclipse.org/legal/epl-v10.html                         --
+-----------------------------------------------------------------------
+*/
+
+import ProfileUtils_Inst_full;
+import UMLUtils_Inst_full;
+import chess.lib;
+import chess.libJava4QVTutils;
+	
+modeltype UML uses "http://www.eclipse.org/uml2/5.0.0/UML";
+modeltype MARTEP uses "http://www.eclipse.org/papyrus/MARTE/1";
+modeltype CHESS uses "http://CHESS";	
+modeltype ECORE uses "http://www.eclipse.org/emf/2002/Ecore";
+	
+
+transformation CHESS_PIM2PSM(inout source:UML);
+
+configuration property analysisType : String;
+configuration property deadline : String;
+configuration property scenario : String;
+configuration property saAnalysis : String;
+configuration property saE2EFlow : String;
+
+property model : Model = null;
+property RTAnalView : Package = null;
+property compView : Package = null;
+property depView : Package = null;
+property MARTEProfile : Profile = null;
+property CHESSProfile : Profile = null;
+
+property platform : Package = null;
+property hostPackage : Package = null;
+property operationPackage : Package = null;
+property taskPackage : Package = null;
+property analysisContextPackage : Package = null;
+
+property assigns : Set(Comment) = null;
+property specs : Set(Comment) = null;
+property slots : Set(Slot) = null;
+property slotInstances : Set(Slot) = null;
+property e2eOperations : Set(Operation) = null;
+
+property instSpecPackage : Package = null;
+property instSpecFullPackage : Package = null;
+
+property currentConcurRes : MARTE::SRM::SW_Concurrency::SwSchedulableResource = null;
+property currentSlot : Slot = null;
+//property currentSharedRes : MARTE::SAM::SaSharedResource = null;
+	
+main() {
+    log("*** CHESS PIM->PSM transformation   ***");
+    log("Performing " + analysisType + " Analysis");	
+	model := source.rootObjects()![Model];
+	
+	MARTEProfile := model.getView("ComponentView").getAppliedProfiles()->selectOne(name="GCM").owner.owner.oclAsType(Profile);
+	CHESSProfile := model.getAppliedProfiles()->selectOne(name="CHESS").oclAsType(Profile);
+	
+	initUtils(MARTEProfile, CHESSProfile);
+	
+	model.map psmModel();
+}
+
+mapping inout Model::psmModel() {
+	init{
+		RTAnalView := self.getView("RTAnalysisView");
+		//TODO apply the SAM profile during the creation of the CHESS model!!!
+		RTAnalView.applyProfile(getMARTEProfile("SAM"));
+		RTAnalView.applyProfile(getCHESSProfile("TimingAnalysis"));
+		RTAnalView.applyProfile(getCHESSProfile("DeploymentConfAnalysis"));
+		RTAnalView.applyProfile(getMARTEProfile("SW_Interaction"));
+		RTAnalView.applyProfile(getMARTEProfile("SW_Concurrency"));
+		
+		
+		compView := self.getView("ComponentView");
+		depView := self.getView("DeploymentView");
+		
+		var platforms := compView.allOwnedElements()[Package]->select(isStereotyped(CHGaResourcePlatformQN))->asSequence();
+		platform := platforms->first();
+		
+		instSpecPackage := compView.allOwnedElements()[Package]->selectOne(name.endsWith("_instSpec"));
+		instSpecFullPackage := compView.allOwnedElements()[Package]->selectOne(name.endsWith("_instSpec_full"));
+	}
+	
+	assert fatal (platform <> null)
+		with log("CHGaResourcesPlatform is not present: there should be one CHGaResourcePlatform in the model");
+	
+	assert fatal (platforms->size()=1) 
+		with log("Ambiguos analysis scenario: there should be only one CHGaResourcePlatform in the model");
+			
+	log("<<CHGaResourcesPlatform>> found.");	
+	platform.map CHGaResourcePlatform2SaAnalysisContext();
+}
+
+mapping Package::CHGaResourcePlatform2SaAnalysisContext() : Class {
+	init{
+		log("Generating <<SaAnalysisContext>> and necessary packages.");
+		
+		hostPackage := object Package {
+			name := "Host";
+		};   
+		operationPackage := object Package {
+			name := "Operation";
+		};
+		taskPackage := object Package {
+			name := "Task";
+		};
+		analysisContextPackage := object Package{
+			name := "AnalysisContext";
+		};
+
+	    RTAnalView.packagedElement += hostPackage;
+		RTAnalView.packagedElement += operationPackage;
+		RTAnalView.packagedElement += taskPackage;
+		RTAnalView.packagedElement += analysisContextPackage;
+	}
+	
+	// analysisContextPackage
+	analysisContextPackage.applyProfile(getMARTEProfile("GQAM"));
+
+	/*
+	Creation of the "AnalysisContext" package
+	(<<saAnalysisContext>> containing :
+	<<saEndToEndFlow>>, Constraint as <<gaLatencyObs>>,
+	<<gaWorkloadEvent>>, OpaqueAction as <<saStep>>)
+	*/
+	
+	result.name := model.name + "_analysisContext";
+	analysisContextPackage.packagedElement += result;	
+	// Apply the stereotype <<saAnalysisContext>>
+	var analysisC := result.applyStereotype(getMARTEStereotype("SaAnalysisContext")).oclAsType(MARTE::SAM::SaAnalysisContext);
+	analysisC.context += "(tool=mast,options=(invoke=true,recoverResults=true,overwriteResults=true,overwriteOutputModel=true,modeID=''))";
+	
+	end{
+	
+	// hostPackage
+	
+	hostPackage.applyProfile(getMARTEProfile("HwComputing"));
+	hostPackage.applyProfile(getMARTEProfile("HwCommunication"));
+	hostPackage.applyProfile(getMARTEProfile("GQAM"));
+	
+	
+	// Retrieve all <<Assign>>
+	assigns := depView.allOwnedElements()[Comment]->select(isStereotyped(AssignQN))->asSet();
+	
+	assert fatal (assigns <> null)
+		with log ("No <<Assign>> found in input model");	
+			
+	assigns.getTo()->asSet()->select(isProcessor())->map HwProcessor2SaExecHost();
+
+	assigns.getTo()->asSet()->select(isComputingResource())->map HwComputingResource2SaExecHost();
+	
+	self.ownedMember[InstanceSpecification]->select(isBus())->processBus();
+	
+	// operationPackage
+	
+	var comps := compView.allOwnedElements()[Component]->select(isStereotyped(ComponentImplementationQN));
+	
+	assert fatal (comps <> null)
+		with log ("No <<ComponentImplementation>> found in input model");
+	
+	// taskPackage
+		
+	slots := instSpecPackage.allOwnedElements()[Slot]->select(owningInstance.classifier <> null and isCHRtPortSlotCorrect())->asSet();
+	
+	assert fatal (slots <> null)
+		with log ("No <<CHRtPortSlot>> found in input model");
+	
+	specs := compView.allOwnedElements()[Comment]->select(isStereotyped(CHRtSpecificationQN))->asSet();
+	
+	assert fatal (specs <> null)
+		with log ("No <<CHRtSpecification>> found in input model");	
+	
+	taskPackage.applyProfile(getMARTEProfile("GRM"));
+	
+	assigns->forEach(ass){
+		var asg := ass.getMetaclass(AssignQN).oclAsType(MARTE::Alloc::Assign);
+
+		//TODO assumption: one annotatedElement per Assign	
+		var list := ass.getInstances(instSpecPackage, instSpecFullPackage);
+		list->forEach(e){
+			var id := e.getMetaclass("CHESS::Core::IdentifInstance").oclAsType(CHESS::Core::IdentifInstance);
+			slotInstances += e.slot->select(owningInstance.classifier <> null and isCHRtPortSlotCorrect())->asSet();
+		}
+	};
+	
+	log("Slot list:");
+	slotInstances->forEach(s){
+		log("  "+s.definingFeature.name);
+	};
+	
+	log("");
+	log("*** Proceeds to create SwSchedulableResources and SaSteps ***");
+	
+	slotInstances->forEach(s){
+		var specs := s.getMetaclass(CHRtPortSlotQN).oclAsType(chessmlprofile::RTComponentModel::CHRtPortSlot).cH_RtSpecification;
+		specs->forEach(spec){
+		    log("***Processing Slot" +s.getStringId()+ " defining feature " +s.getStringId()+ s.definingFeature.name+ " for " + s.owningInstance.name + s.owningInstance.getStringId() + " and operation "+ spec.context.name +".");
+		    
+		    //maps only if the operation is deferred
+			s.map CHRtSlot2SwSchedulableResource(spec.base_Comment);  
+			//now creates the <<SaStep>> operations
+		    s.CHRTComment2SaStep(spec.base_Comment);
+		}; 
+	};
+	
+	if(analysisType.equalsIgnoreCase("Schedulability")) then {
+		
+	//Proceeds to create the EndToEndWorkFlow now that all the necessary resources are generated
+		log("");
+		log("*** Proceeds to create the EndToEndWorkFlow ***");
+		slotInstances->forEach(s){
+			var specs := s.getMetaclass(CHRtPortSlotQN).oclAsType(chessmlprofile::RTComponentModel::CHRtPortSlot).cH_RtSpecification;
+			specs->forEach(spec){
+				s.map slot2EndToEndWorkFlow(spec.base_Comment);
+			};
+		};
+	} endif;
+	
+	
+	if(analysisType.equalsIgnoreCase("EndToEnd")) then {
+		
+		//EndToEndWorkFlow for E2E Scenario
+		var pimContext : Class = model.allOwnedElements()[Class]->selectOne(c : Class | c.qualifiedName.equalsIgnoreCase(saAnalysis));
+		var pimActivity : Activity = model.allOwnedElements()[Activity]->selectOne(a : Activity | a.qualifiedName.equalsIgnoreCase(saE2EFlow));
+		var interactions : Set(Interaction) := model.allOwnedElements()[Interaction];
+		interactions->forEach(interaction){
+		if(interaction.qualifiedName.equalsIgnoreCase(scenario)) then {
+			log(">>>>> Found End-To-End Scenario: " + interaction.name);
+			interaction.map Interaction2EndToEndWorkFlow(result, pimContext, pimActivity);
+		} endif;
+		
+		log("e2e operations:");
+		e2eOperations->forEach(op){
+			log("   "+ op.name)
+		};
+		
+		//Proceeds to create the EndToEndWorkFlow for those tasks not involved in the e2e scenario"
+		log("*** Proceeds to create the EndToEndWorkFlow ***");
+		slotInstances->forEach(s){
+			var specs := s.getMetaclass(CHRtPortSlotQN).oclAsType(chessmlprofile::RTComponentModel::CHRtPortSlot).cH_RtSpecification;
+			specs->forEach(spec){
+				if(not e2eOperations->exists(op: Operation | op.name.equalsIgnoreCase(spec.context.name))) then {
+					log("Operation is: " +  spec.context.name);
+				    s.map slot2EndToEndWorkFlow(spec.base_Comment);
+				} endif;
+			};
+		};		
+	};
+
+	} endif;
+	
+		log("*** End of CHESS PIM->PSM transformation ***");
+	}
+
+}
+
+//context: the PSM analysisContext - used to read analysis reuslts to backpropagate to PIM
+//pimContext, pimActivity: PIM entities to be updated by the backpropagation
+//
+mapping Interaction::Interaction2EndToEndWorkFlow(context : Class, pimContext : Class, pimActivity: Activity) : Activity{
+	init {
+		log("Generating <<EndToEndWorkFlow>> from " +  self.name);
+		
+		//First we get a list of ordered messages 
+		//it is based on the assumption that each message starts with a progressive number to keep their order
+		var messageSequence : Sequence(Message) := self.message->sortedBy(name)->asSequence();
+		log("****** messages sequence");
+		messageSequence->forEach(msg){
+			log("          " + msg.name)
+		};
+		//get starting chrts for initializing the <<gaWorkloadEvent>> pattern
+		var startMsg := messageSequence->first();
+   		var startChrts := startMsg.getMsgChrts();
+   	}
+   	
+   	result.name := self.name;
+    // Add the action to the owned behaviors of RTAnalysisContext     
+    platform.resolveoneIn(Package::CHGaResourcePlatform2SaAnalysisContext, Class).ownedBehavior += result;
+    //Apply the stereotype <<SaEndtoEndFlow>> to the activity
+	result.applyStereotype(getMARTEStereotype("SaEndtoEndFlow"));
+	//Global Timing Requirement
+	var actConstraint := new Constraint("Global_Timing_Req");
+	result.precondition += actConstraint;
+	
+	var actInitialNode := result.createInitialNode();
+	var controlFlowInit := new ControlFlow("ControlFlowInit");
+	actInitialNode.outgoing += controlFlowInit;
+	result.edge += controlFlowInit;
+	
+	//Apply stereotype <<gaLatencyObs>> and specify the deadline for the end to end flow
+	var gaLatencyObs := actConstraint.applyStereotype(getMARTEStereotype("GaLatencyObs")).oclAsType(MARTE::GQAM::GaLatencyObs);
+	gaLatencyObs.latency += deadline.parseNFPDuration("value");
+	
+	//Apply stereotype <<gaWorkloadEvent>> and specify the release pattern of the end-to-end flow
+	var gaWorkloadEvent := actInitialNode.applyStereotype(getMARTEStereotype("GaWorkloadEvent")).oclAsType(MARTE::GQAM::GaWorkloadEvent);
+	gaWorkloadEvent.pattern := startChrts.occKind;
+	
+	//create end2end action sequence 
+	var resultNode := createE2EOpaqueActionsChain(messageSequence, result, actInitialNode);
+	
+	//create final node
+	//var finalNode := new ActivityFinalNode("ActivityFinalNode1");
+	var finalNode := result.createFinalNode();
+	//result.node += finalNode;
+	
+	resultNode.outgoing![ControlFlow].target := finalNode;
+}
+
+//Return the nextE2ENode TODO - work in progress!!!
+helper createE2EOpaqueActionsChain(in messageSequence : Sequence(Message), inout endToEndWorkFlow : Activity, inout currentNode : ActivityNode) : ActivityNode {
+	
+	var nextNode := currentNode;	
+	messageSequence->forEach(msg){
+		//log("operation is: " + msg.signature.name);
+		
+		var currentChrts := msg.getMsgChrts();
+		//log("its context is: " +currentChrts.context.name);
+		//log("its partWithPort is: " +currentChrts.partWithPort.name);
+		//log("its occKind is: " +currentChrts.occKind.toString());
+		//log("its protection is: " +currentChrts.protection.toString());
+		//log("its WCET is: " +currentChrts.WCET.toString());
+		//log("Slot [createOpaqueActionsChain]: " + currentSlot.definingFeature.name);
+
+		//if operation is sporadic then create a get node before the operation node
+		nextNode := createSporadicRelatedNodes(currentChrts, currentSlot, endToEndWorkFlow, nextNode);
+		
+		//Creates the subsequent OpaqueAction and ControlFlow
+		nextNode := createSaStepNode(currentChrts, currentSlot, endToEndWorkFlow, nextNode);
+		
+		e2eOperations += currentChrts.context->oclAsType(Operation);		
+	};
+	
+	return nextNode;
+}
+
+helper createSaStepNode(in currentCHRts: chessmlprofile::RTComponentModel::CHRtSpecification, in sourceSlot : Slot, inout EndToEndWorkFlow : Activity, inout currentNode : ActivityNode) : ActivityNode {
+	var opNode := createOpaqueAction(opaqueActionName(sourceSlot, currentCHRts), EndToEndWorkFlow, currentNode);
+	var opSaStep := opNode.applyStereotype(getMARTEStereotype("SaStep")).oclAsType(MARTE::SAM::SaStep);
+	//log("Slot [createSaStepNode]: " + currentSlot.definingFeature.name);
+	// Set the <<SwSchedulableResource>> that executes the <<saStep>>
+	var concurRes := currentConcurRes;
+	if currentCHRts.isDeferred() then
+		concurRes := currentCHRts.base_Comment.getConcurRes(sourceSlot)
+	endif;
+	opSaStep.concurRes := concurRes;
+    // Retrieve the <<SaStep>> to use for the subusage
+	var saStep := sourceSlot.resolve2SaStep(currentCHRts.base_Comment).getMetaclass(SaStepQN).oclAsType(MARTE::SAM::SaStep);
+	//Add the newly created operation as subUsage of the OpaqueAction(<<saStep>>)
+	opSaStep.subUsage += saStep;
+	
+	//opSaStep.sharedRes += currentSharedRes;
+	return opNode;
+}
+
+/*
+  Creates Bus related entities given an InstanceSpecification of a Bus
+*/
+helper InstanceSpecification::processBus(){
+	log("Bus found for InstanceSpecification '"+self.name+"'."); 
+	self.map HwBus2SaCommHost();
+	self.map HwBus2OperationClass();
+	self.linkedHwInstanceSpecifications()-> map BusProperty2GaCommChannel(self);
+	return null;
+}
+
+//NOT USED
+//mapping Slot::CHRtSlot2SwSchedulableResourceStrict(chrt : Comment) : Class when {chrt.CHRtSpec().isDeferred()} {
+//	init{
+//		var res := self.owningInstance.resolveoneIn(InstanceSpecification::Instance2SwSchedulableResource, Class);
+//		if res = null then
+//			res := self.owningInstance.map Instance2SwSchedulableResource(chrt, self)
+//		else 
+//			log("  Nothing to do")
+//		endif;
+//		result := res;
+//	}
+//}
+
+
+mapping Slot::CHRtSlot2SwSchedulableResource(chrt : Comment) : Class when {chrt.CHRtSpec().isDeferred()} {
+	init{
+		var res := self.owningInstance.map Instance2SwSchedulableResource(chrt, self);
+		result := res;
+	}
+}
+
+mapping InstanceSpecification::Instance2SwSchedulableResource(chrt : Comment, slot : Slot) : Class when {chrt.CHRtSpec().isDeferred()} {
+	init{
+		var chrts := chrt.CHRtSpec();
+		var resourceName := chrts.schedulableResource(slot);
+		log("  Operation '" + chrt.CHRtSpec().context.name + "' is deferred. Generating <<SwSchedulableResource>> '" + resourceName + "'.");
+    }
+	 
+	result.name := resourceName;
+	
+	taskPackage.packagedElement += result;
+	
+	var sr := result.applyStereotype(getMARTEStereotype("SwSchedulableResource")).oclAsType(MARTE::SRM::SW_Concurrency::SwSchedulableResource);		
+	sr.isProtected := false;
+	var schedParams := "fp(priority=(value=" + chrts.relativePriority.normalizeNFPInteger() +", source=meas))";
+	
+	//TODO assume <<Assign>> 'from' and 'to' typed as InstanceSpecification	
+	// Find the deployment node (InstanceSpecification), based on <<Assign>> directives
+
+	var hostClassifier := getAssignToFrom_MemoryPartition(slot.owningInstance);
+	sr.host := hostClassifier.getHost();
+	assert fatal (sr.host <> null)
+		with log("Null Host for SwSchedulableResource '" +result.name+ "'.");
+	sr.schedParams := schedParams;
+}
+
+
+
+/*
+  Given a InstanceSpecification representing a Processor/ComputingResource,
+  return the already generated SaExecHost
+*/
+query InstanceSpecification::getHost() : MARTE::SAM::SaExecHost {
+	var res := self.resolveoneIn(InstanceSpecification::HwProcessor2SaExecHost, Class).getMetaclass(SaExecHostQN).oclAsType(MARTE::SAM::SaExecHost);
+	if res.oclIsInvalid() or res = null then
+		return self.resolveoneIn(InstanceSpecification::HwComputingResource2SaExecHost, Class).getMetaclass(SaExecHostQN).oclAsType(MARTE::SAM::SaExecHost)
+	endif;
+	return res;	
+}
+
+/*
+  Given an ICB-Activity return the list of all its CallOperationAction nodes,
+  assuming that their are all connected in a single chain: no loops and branches.
+*/
+query Activity::collectCallOperationNodes() : Sequence(CallOperationAction) {
+	var nodes : Sequence(CallOperationAction) := Sequence{};
+	var prevNode : ActivityNode := self.node![InitialNode];
+	var nextNode : ActivityNode;
+	while(true){
+		//TODO Assumption one edge per node 
+		nextNode := prevNode.outgoing->any(true).target;
+		if (nextNode <> null and nextNode.oclIsKindOf(CallOperationAction)) then {
+			nodes += nextNode.oclAsType(CallOperationAction);
+			prevNode := nextNode;
+		}
+		else{
+			if (nextNode.oclIsKindOf(ActivityFinalNode)) then {
+				break;
+			}
+			endif;
+		}
+		endif;
+	};
+	return nodes;
+}
+
+helper createSaStepNode(in sourceCHRtComment: Comment, in sourceSlot : Slot, inout e2eActivity : Activity, inout prevE2ENode : ActivityNode) : ActivityNode {
+	var chrts := sourceCHRtComment.CHRtSpec();
+	var opNode := createOpaqueAction(opaqueActionName(sourceSlot, chrts), e2eActivity, prevE2ENode);
+	var opSaStep := opNode.applyStereotype(getMARTEStereotype("SaStep")).oclAsType(MARTE::SAM::SaStep);
+	
+	// Set the <<SwSchedulableResource>> that executes the <<saStep>>
+	
+	var concurRes := currentConcurRes;
+	if chrts.isDeferred() then
+		concurRes := sourceCHRtComment.getConcurRes(sourceSlot)//classResource.getMetaclass(SchedulableResourceQN).oclAsType(MARTE::GRM::SchedulableResource);
+	endif;
+	opSaStep.concurRes := concurRes;
+    // Retrieve the <<SaStep>> to use for the subusage
+	var saStep := sourceSlot.resolve2SaStep(chrts.base_Comment).getMetaclass(SaStepQN).oclAsType(MARTE::SAM::SaStep);
+	//Add the newly created operation as subUsage of the OpaqueAction(<<saStep>>)
+	opSaStep.subUsage += saStep;
+	
+	//opSaStep.sharedRes += currentSharedRes;
+	return opNode;
+}
+
+//Stefano: not clear what this method is intended to implement!!!
+helper createSubUsage(in sourceCHRtComment: Comment, in sourceSlot : Slot)  {
+	var chrts := sourceCHRtComment.CHRtSpec();
+	
+	//log("createSubUsage, chrt = " + chrts.toString() + " sourceSlot = "+sourceSlot.owningInstance.toString());
+	var owningSaStep := sourceSlot.resolveoneIn(Slot::CHRTCommentProtected2SaStep, Operation).getMetaclass(SaStepQN).oclAsType(MARTE::SAM::SaStep);
+	//log("createSubUsage, owningSaStep = " + owningSaStep.toString());
+	owningSaStep.subUsage += sourceSlot.resolve2SaStep(chrts.base_Comment).getMetaclass(SaStepQN).oclAsType(MARTE::SAM::SaStep); 
+	
+}
+
+/*
+Author: Stefano Puri
+Given a Slot with an associated CHRtSpecification representing a port-operation using another port-operation, 
+it sets the dependencies through the subusage field of the SaStep mapped to the requiring operation  
+*/
+
+helper createSubUsage(requiringSlot : Slot, in reqCHRtSpec: chessmlprofile::RTComponentModel::CHRtSpecification, in providingSlot : Slot,  in provCHRtSpec: chessmlprofile::RTComponentModel::CHRtSpecification)  {
+	
+	var requiringPSMOperation = requiringSlot.resolve2SaStep(reqCHRtSpec.base_Comment);
+	//log("currentPSMOperation = " + currentPSMOperation.toString());       			
+	var piPSMOperation = providingSlot.resolve2SaStep(provCHRtSpec.base_Comment);
+	//log("usedPSMOperation = " + usedPSMOperation.toString());	        			
+	var reqSaStep = requiringPSMOperation.getMetaclass(SaStepQN).oclAsType(MARTE::SAM::SaStep); 		
+	var provSaStep = piPSMOperation.getMetaclass(SaStepQN).oclAsType(MARTE::SAM::SaStep);  			
+	//log("usedStep = " + usedSaStep.toString());
+	reqSaStep.subUsage += provSaStep;
+}
+
+
+/*
+  Given a comment related to a CHRtSlot return  the corresponding schedulable resource  
+*/
+query Comment::getConcurRes(slot : Slot) : MARTE::SRM::SW_Concurrency::SwSchedulableResource {
+	var classResource := slot.resolveIn(Slot::CHRtSlot2SwSchedulableResource, Class)->selectOne(
+	    name=self.CHRtSpec().schedulableResource(slot));
+	return classResource.getMetaclass(SwSchedulableResourceQN).oclAsType(MARTE::SRM::SW_Concurrency::SwSchedulableResource);
+}
+
+/*
+Given a Slot and a Comment stereotyped with CHRtSpecification return the SaStep Operation previously created
+*/
+query Slot::resolve2SaStep(chrt : Comment) : Operation {
+	var chrts := chrt.CHRtSpec();
+	var ops : Sequence(Operation);
+	log("resolve2SaStep, chrtSpecification = "+chrts.toString() +", context = "+chrts.context.toString());
+	
+	if (chrts.isSporadic()) then {
+		ops := self.resolveIn(Slot::CHRTCommentSporadic2SaStep, Operation);
+	}
+	else {
+		
+		if (chrts.isProtected()) then {
+			ops := self.resolveIn(Slot::CHRTCommentProtected2SaStep, Operation);
+		} else {
+			ops := self.resolveIn(Slot::CHRTCommentUnprotected2SaStep, Operation);
+		} endif;
+	}
+	endif;
+	
+	ops->forEach(op) {
+		if op.name = chrts.context.name then
+			return op
+		endif;
+	};
+	return null;
+}
+//"receive" node and "get" node
+helper createSporadicRelatedNodes(in currentOp : chessmlprofile::RTComponentModel::CHRtSpecification, in currentSlot : Slot, inout e2eActivity : Activity, inout prevE2ENode : ActivityNode) : ActivityNode {
+	if currentOp.isSporadic() then {
+		var nextE2ENode := prevE2ENode;
+		var riSlot := currentSlot.getCorrespondingSlotFull();
+		//If the current operation responds to a remote call, creates the "receive" node first
+		var connectingBus = getConnectingBus(currentSlot.owningInstance, riSlot.owningInstance);
+		if connectingBus <> null then
+			nextE2ENode := createReceiveOp(connectingBus, currentSlot, e2eActivity, nextE2ENode)
+		endif;
+		//If the current operation is sporadic, attaches the "get" operation before the operation node 
+		//TODO Stefano: the following get operation should be set as subUsage of the sporadic SaStep Operation created in the PSM, it should not appear as activity
+		return createGetOp(currentOp.base_Comment, currentSlot, e2eActivity, nextE2ENode);
+	} 
+	else
+		return prevE2ENode
+	endif;
+	return null;
+}
+
+//Return the nextE2ENode 
+helper createOpaqueActionsChain(in currentIsGuarded : Boolean, in currentCHRtComment : Comment, in currentSlot : Slot, inout e2eActivity : Activity, inout prevE2ENode : ActivityNode/*, currentOp : chessmlprofile::RTComponentModel::CHRtSpecification*/) : ActivityNode {
+	var currentOp := currentCHRtComment.CHRtSpec();
+	var nextE2ENode := prevE2ENode;
+	
+	log("CreateOpaqueActionChain: currentIsGuarded = "+currentIsGuarded.toString());
+	
+	//if operation is sporadic then create receive + get nodes before the operation node
+	nextE2ENode := createSporadicRelatedNodes(currentOp, currentSlot, e2eActivity, nextE2ENode);
+	
+	//Creates the subsequent OpaqueAction and ControlFlow
+	nextE2ENode := createSaStepNode(currentCHRtComment, currentSlot,e2eActivity, nextE2ENode);
+	
+	//this does not create sporadic related nodes=>nextE2ENode := createSaStepNode(currentCHRtComment, currentSlot,e2eActivity, prevE2ENode);
+	
+	//if the operation has a ICB-Activity then parse its CallOperationNodes
+	currentOp.context.method![Activity].collectCallOperationNodes()->forEach(calledOpNode){
+		
+		//var riSlot := calledOpNode.onPort.portToSlot(currentSlot.owningInstance);
+		var riSlots := calledOpNode.portToSlotFull(currentSlot.owningInstance);
+		riSlots->forEach(riSlot){
+			log("  Search for piSlot from riSlot '" + riSlot.owningInstance.name + riSlot.owningInstance.getStringId() + riSlot.definingFeature.name + riSlot.getStringId() + "'.");
+			var usedPiSlot := riSlot.getCorrespondingSlotFull();
+			log("  Found piSlot '" + usedPiSlot.owningInstance.name+usedPiSlot.owningInstance.getStringId() + usedPiSlot.definingFeature.name + usedPiSlot.getStringId() + "'.");
+	        var usedPiCHRtSpec := usedPiSlot.CHRtSpecForOperation(calledOpNode.operation);
+	        var bus := getConnectingBus(currentSlot.owningInstance, usedPiSlot.owningInstance);
+	        
+	        //if it is a remote call, attach a send operation 
+	        if bus <> null then{
+	        	log("it is a remote call...");
+	        	if usedPiCHRtSpec.isDeferred() then
+	        		return createSendOp(bus, currentSlot, e2eActivity, nextE2ENode)
+	        	else 
+	        	    //if it is a simple operation, proceeds with the subsequent call
+	        		nextE2ENode := createSendOp(bus, currentSlot, e2eActivity, nextE2ENode)
+	        	endif
+	        }
+	        else{
+	        	log("it is a local call...");
+		        //otherwise it is a local call
+		        //if it is a simple operation, simply add it to the endtoendworkflow and proceeds with the subsequent call
+				if usedPiCHRtSpec.isDeferred() then {
+					// Calls "put" operation
+					//TODO Stefano: the following get operation should be set as subUsage of the sporadic SaStep Operation created in the PSM, it should not appear as activity
+					nextE2ENode := createPutOp(usedPiCHRtSpec.base_Comment, usedPiSlot, e2eActivity, nextE2ENode)       
+				}
+	        	else
+	        		//if the node is protected all its CallOperation must be inserted in the subUsage of the SaStep Operation (created in the Operation Package) instead of creating a SaStep node
+	        		if usedPiCHRtSpec.isProtected() then {
+	        			//Stefano: why should a create a subUsagesChain here?  Just a subusage is enough.
+	        			//nextE2ENode := createSubUsagesChain(currentOp.base_Comment, usedPiCHRtSpec.base_Comment, usedPiSlot, e2eActivity, nextE2ENode)
+	        			createSubUsage(currentSlot, currentCHRtComment.CHRtSpec(), usedPiSlot, usedPiCHRtSpec);
+
+	        		}
+	        		else{
+	        			//TODO Stefano: is this correct?
+	        			nextE2ENode := createOpaqueActionsChain(usedPiCHRtSpec.isProtected(),usedPiCHRtSpec.base_Comment, usedPiSlot, e2eActivity, nextE2ENode)
+	        		}endif
+	        						
+				endif	
+			}	
+	        endif;
+        }
+	};
+    return nextE2ENode;
+}
+
+//NOT USED
+helper createSubUsagesChain(in enclosingCHRTComment : Comment, in currentCHRtComment : Comment, in currentSlot : Slot, inout e2eActivity : Activity, inout prevE2ENode : ActivityNode/*, currentOp : chessmlprofile::RTComponentModel::CHRtSpecification*/) : ActivityNode {
+	var currentOp := currentCHRtComment.CHRtSpec();
+	var nextE2ENode := prevE2ENode;
+	log("createSubUsagesChain... currentSlot="+currentSlot.owningInstance.toString());
+	nextE2ENode := createSporadicRelatedNodes(currentOp, currentSlot, e2eActivity, nextE2ENode);
+	//Creates the subsequent OpaqueAction and ControlFlow
+	if not currentOp.isDeferred() then
+		createSubUsage(currentCHRtComment, currentSlot)
+	else
+		nextE2ENode := createSaStepNode(currentCHRtComment, currentSlot, e2eActivity, nextE2ENode)
+	endif;	
+	//if the operation has a ICB-Activity then parse its CallOperationNodes
+	currentOp.context.method![Activity].collectCallOperationNodes()->forEach(calledOpNode){
+		
+		var riSlots := calledOpNode.portToSlotFull(currentSlot.owningInstance);
+		riSlots->forEach(riSlot){
+			var piSlot := riSlot.getCorrespondingSlotFull();
+	        var piOp := piSlot.CHRtSpecForOperation(calledOpNode.operation);
+	        var bus := getConnectingBus(currentSlot.owningInstance, piSlot.owningInstance);
+	        
+	        //if it is a remote call, attaches a send operation 
+	        if bus <> null then
+	        	if piOp.isDeferred() then
+	        		return createSendOp(bus, currentSlot, e2eActivity, nextE2ENode)
+	        	else 
+	        	    //if it is a simple operation, proceeds with the subsequent call
+	        		nextE2ENode := createSendOp(bus, currentSlot, e2eActivity, nextE2ENode)
+	        	endif
+	        else
+		        //otherwise it is a local call
+		        //if it is a simple operation, simply add it to the endtoendworkflow and proceeds with the subsequent call
+				if not piOp.isDeferred() then        
+	        		nextE2ENode := createSubUsagesChain(currentOp.base_Comment, piOp.base_Comment, piSlot, e2eActivity, nextE2ENode)
+	        	else
+	        		//Calls put operation
+					return createPutOp(piOp.base_Comment, piSlot, e2eActivity, nextE2ENode)
+				endif		
+	        endif;
+        }
+	};
+    return nextE2ENode;
+}
+
+helper createPutOp(in sourceCHRtComment : Comment, in sourceSlot : Slot, inout e2eActivity : Activity, inout prevE2ENode : ActivityNode) : ActivityNode {
+    var putSpec := sourceCHRtComment.CHRtSpec();
+	var putOp := //putSpec.base_Comment.resolveoneIn(Comment::SporadicOperation2SaSharedResource, Class).ownedOperation->selectOne(name="put");
+	sourceSlot.owningInstance.resolveoneIn(InstanceSpecification::SporadicOperation2SwMutualExclusionResource, Class).ownedOperation->selectOne(name="put");
+	
+	var putNode := createOpaqueAction(sourceSlot.owningInstance.name + "_" + putOp.name, e2eActivity, prevE2ENode);
+	var opSaStep := putNode.applyStereotype(getMARTEStereotype("SaStep")).oclAsType(MARTE::SAM::SaStep);
+	// Set the <<SwSchedulableResource>> that executes the <<saStep>>
+	opSaStep.concurRes := currentConcurRes;//sourceCHRtComment.getConcurRes(sourceSlot);
+    // Retrieve the <<SaStep>> to use for the subusage
+	var saStep := putOp.getMetaclass(SaStepQN).oclAsType(MARTE::SAM::SaStep);
+	//Add the newly created operation as subUsage of the OpaqueAction(<<saStep>>)
+	opSaStep.subUsage += saStep;
+	return putNode;
+}
+
+helper createGetOp(in sourceCHRtComment : Comment, in sourceSlot : Slot, inout e2eActivity : Activity, inout prevE2ENode : ActivityNode) : ActivityNode {
+    var getSpec := sourceCHRtComment.CHRtSpec();
+	var getOp := //getSpec.base_Comment.resolveoneIn(Comment::SporadicOperation2SaSharedResource, Class).ownedOperation->selectOne(name="get");
+	sourceSlot.owningInstance.resolveoneIn(InstanceSpecification::SporadicOperation2SwMutualExclusionResource, Class).ownedOperation->selectOne(name="get");
+	
+	var getNode := createOpaqueAction(sourceSlot.owningInstance.name + "_" + getOp.name, e2eActivity, prevE2ENode);
+	var opSaStep := getNode.applyStereotype(getMARTEStereotype("SaStep")).oclAsType(MARTE::SAM::SaStep);
+	// Set the <<SchedulableResource>> that executes the <<saStep>>
+	//var classResource : Class := currentCHRtComment.resolveIn(Comment::CHRtSlot2SchedulableResource, Class)->selectOne(name=getSpec.genResourceName());
+	opSaStep.concurRes := sourceCHRtComment.getConcurRes(sourceSlot);//classResource.getMetaclass(SchedulableResourceQN).oclAsType(MARTE::GRM::SchedulableResource);
+    // Retrieve the <<SaStep>> to use for the subusage
+	var saStep := getOp.getMetaclass(SaStepQN).oclAsType(MARTE::SAM::SaStep);
+	//Add the newly created operation as subUsage of the OpaqueAction(<<saStep>>)
+	opSaStep.subUsage += saStep;
+	return getNode;
+}
+
+helper createSendOp(in connectingBus : InstanceSpecification, in sourceSlot : Slot, inout e2eActivity : Activity, inout prevE2ENode : ActivityNode) : ActivityNode {
+	return createBusOp(connectingBus, "send", sourceSlot, e2eActivity, prevE2ENode);
+}
+
+helper createReceiveOp(in connectingBus : InstanceSpecification, in sourceSlot : Slot, inout e2eActivity : Activity, inout prevE2ENode : ActivityNode) : ActivityNode {
+	return createBusOp(connectingBus, "receive", sourceSlot, e2eActivity, prevE2ENode);
+}
+
+//opType must be "receive" or "send"
+helper createBusOp(in connectingBus : InstanceSpecification, in opType : String, in sourceSlot : Slot, inout e2eActivity : Activity, inout prevE2ENode : ActivityNode) : ActivityNode {
+	log("  Attaching '"+ opType +"' operation for communication channel '" + connectingBus.name + "'.");
+	
+	var sendNode := createOpaqueAction(connectingBus.name + "_" + opType, e2eActivity, prevE2ENode);
+	var sendSaStep := sendNode.applyStereotype(getMARTEStereotype("SaStep")).oclAsType(MARTE::SAM::SaStep);
+                       
+	//var gaCommChannel := getAssignToFrom(sourceSlot.CHRtSpec().partWithPort.property2InstanceSpec()).resolveoneIn(InstanceSpecification::BusProperty2GaCommChannel, Class).getMetaclass(GaCommChannelQN).oclAsType(MARTE::GQAM::GaCommChannel);                     
+	var gaCommChannel := getAssignToFrom_MemoryPartition(sourceSlot.owningInstance).resolveoneIn(InstanceSpecification::BusProperty2GaCommChannel, Class).getMetaclass(GaCommChannelQN).oclAsType(MARTE::GQAM::GaCommChannel);
+	sendSaStep.concurRes := gaCommChannel;
+	//TODO Assumption: send operation unique for each HwBus
+	var sendOp : Operation := connectingBus.resolveoneIn(InstanceSpecification::HwBus2OperationClass, Class).ownedOperation->selectOne(name.endsWith("_" + opType));
+	sendSaStep.subUsage += sendOp.getMetaclass(SaStepQN).oclAsType(MARTE::SAM::SaStep);
+	return sendNode;
+}
+
+helper createOpaqueAction(in name : String , inout e2eActivity : Activity, inout prevE2ENode : ActivityNode) : ActivityNode {
+	//var node := new OpaqueAction(name);
+	var node := e2eActivity.createOpaqueAction(name);
+	var edge := new ControlFlow("ControlFlow_" + node.name);
+	e2eActivity.node += node;
+	e2eActivity.edge += edge;
+	node.outgoing += edge;
+	//TODO Assumption: only one outgoing activity edge per node
+	prevE2ENode.outgoing![ControlFlow].target := node;
+	
+	
+	return node;
+}
+
+mapping Slot::Slot2Class4SaStep() : Class {
+	var name := operationClassName(self, "operations");
+	log("  <<SaStep>> operation class not found. Generating '" + name + "'.");
+	result.name := name;
+	operationPackage.packagedElement += result;
+}
+
+helper Slot::CHRTComment2SaStep(chrt : Comment) : Operation {
+	if chrt.CHRtSpec().isSporadic() then 
+		return self.map CHRTCommentSporadic2SaStep(chrt) 
+	endif;
+	if chrt.CHRtSpec().isProtected() then
+		return self.map CHRTCommentProtected2SaStep(chrt)
+	else
+		return self.map CHRTCommentUnprotected2SaStep(chrt)
+	endif;	
+	return null;
+}
+
+//NOT USED
+mapping Slot::CHRTCommentUnprotected2SaStepStrict(chrt : Comment) : Operation when {not chrt.CHRtSpec().isProtected()} {
+	init{
+		var res := self.owningInstance.resolveoneIn(InstanceSpecification::InstanceUnprotected2SaStep, Operation);
+		if res = null then {
+			log("  Generating <<SaStep>> for operation '" + chrt.CHRtSpec().context.name + "'.");
+			res := self.owningInstance.map InstanceUnprotected2SaStep(chrt, self);
+		} else 
+			log("  Nothing to do")
+		endif;
+		result := res;
+	}
+}
+
+mapping Slot::CHRTCommentUnprotected2SaStep(chrt : Comment) : Operation when {not chrt.CHRtSpec().isProtected()} {
+	init{
+		log("  Generating <<SaStep>> for operation '" + chrt.CHRtSpec().context.name + "'.");
+		var res := self.owningInstance.map InstanceUnprotected2SaStep(chrt, self);
+		result := res;
+	}
+}
+
+mapping InstanceSpecification::InstanceUnprotected2SaStep(chrt : Comment, slot : Slot) : Operation when {not chrt.CHRtSpec().isProtected()} {
+	init{	
+	
+		if chrt.CHRtSpec().isDeferred() then
+	    	log("  Operation is cyclic.")
+	    else
+	    	log("  Operation is unprotected.")
+    	endif;
+    	
+		var chrts := chrt.CHRtSpec();
+		var selfOperation := chrts.context.oclAsType(Operation);
+		//Create a new Class containing this operation of the PI if it does not exist yet
+		var owner := slot.Slot2Class4SaStepProxy();
+		result := new Operation(selfOperation);
+	}
+
+	owner.ownedOperation += result;
+	// Convert the newly created operation to a <<saStep>>
+	var saStep := result.applyStereotype(getMARTEStereotype("SaStep")).oclAsType(MARTE::SAM::SaStep);
+	saStep.execTime += chrts.localWCET;
+	
+	//createSubUsageForPSMOperation(selfOperation, result, slot.owningInstance)
+}
+
+mapping Slot::CHRTCommentProtected2SaStepStrict(chrt : Comment) : Operation when {chrt.CHRtSpec().isProtected()} {
+	init{
+		//one Slot can have different chrtSpecification associated and so it can be mapped to multiple SaStep...
+		//TODO Operation's name can be a problem when used as identifier...
+		var res := self.owningInstance.resolveIn(InstanceSpecification::InstanceProtected2SaStep, Operation)-> selectOne
+				(name=chrt.CHRtSpec().context.name);
+		if res = null then {
+			log("  Generating <<SaStep>> for operation '" + chrt.CHRtSpec().context.name + "'.");
+			res := self.owningInstance.map InstanceProtected2SaStep(chrt, self);
+		} else 
+			log("  Nothing to do")
+		endif;
+		result := res;
+	}
+	
+}
+
+mapping Slot::CHRTCommentProtected2SaStep(chrt : Comment) : Operation when {chrt.CHRtSpec().isProtected()} {
+	init{
+		log("  Generating <<SaStep>> for operation '" + chrt.CHRtSpec().context.name + "'.");
+		var res := self.owningInstance.map InstanceProtected2SaStep(chrt, self);
+		result := res;
+	}
+}
+
+//NOT USED
+mapping InstanceSpecification::InstanceProtected2SaStepStrict(chrt : Comment, slot : Slot) : Operation when {chrt.CHRtSpec().isProtected()} {
+    //TODO Assumes 1 state (SwMutualExclusionResource) for each PI with guarded operations
+	init{
+	    log("  Operation is protected.");
+		var chrts := chrt.CHRtSpec();
+		var selfOperation := chrts.context.oclAsType(Operation);
+		var owner := self.resolveoneIn(InstanceSpecification::ProtectedOperation2SwMutualExclusionResource, Class);
+		result := new Operation(selfOperation);
+	}
+	//Create a new SwMutualExclusionResource containing this operation for each PI port
+	
+	if owner = null then
+		owner := self.map ProtectedOperation2SwMutualExclusionResource(chrt, slot)
+	endif;
+
+	var saMutualExRes := owner.getMetaclass("MARTE::MARTE_DesignModel::SRM::SW_Interaction::SwMutualExclusionResource").oclAsType(MARTE::SRM::SW_Interaction::SwMutualExclusionResource);
+	//apply also a SaSharedResource in order to add it to sastep.sharedres
+	var saSharedRes := owner.getMetaclass("MARTE::MARTE_AnalysisModel::SAM::SaSharedResource").oclAsType(MARTE::SAM::SaSharedResource);
+
+	owner.ownedOperation += result;
+	// Convert the newly created operation to a <<saStep>>
+	var saStep := result.applyStereotype(getMARTEStereotype("SaStep")).oclAsType(MARTE::SAM::SaStep);
+	saStep.execTime += chrts.localWCET;	
+	// The sharedRes will be set on the SaStep of the end to end workflow
+	saStep.sharedRes += saSharedRes;
+}
+
+mapping InstanceSpecification::InstanceProtected2SaStep(chrt : Comment, slot : Slot) : Operation when {chrt.CHRtSpec().isProtected()} {
+    //Assumes 1 state (SwMutualExclusionResource) for each InstanceSpecification with PI with guarded operations
+	init{
+	    log("  Operation is protected.");
+		var chrts := chrt.CHRtSpec();
+		var selfOperation := chrts.context.oclAsType(Operation);
+		
+		log("Check if the protected resource has already been created");
+		var owner := self.resolveoneIn(InstanceSpecification::ProtectedOperation2SwMutualExclusionResource, Class);
+		if owner = null then
+			//Create a new SwMutualExclusionResource containing this operation for each PI port
+			owner := self.map ProtectedOperation2SwMutualExclusionResource(chrt, slot)
+		else 
+			log("<<SwMutualExclusionResource>> found, nothing to do")
+		endif;
+		
+		result := new Operation(selfOperation);
+	}
+	
+	var saMutualExRes := owner.getMetaclass("MARTE::MARTE_DesignModel::SRM::SW_Interaction::SwMutualExclusionResource").oclAsType(MARTE::SRM::SW_Interaction::SwMutualExclusionResource);
+	//apply also a SaSharedResource in order to add it to sastep.sharedres
+	var saSharedRes := owner.getMetaclass("MARTE::MARTE_AnalysisModel::SAM::SaSharedResource").oclAsType(MARTE::SAM::SaSharedResource);
+
+	owner.ownedOperation += result;
+	// Convert the newly created operation to a <<saStep>>
+	var saStep := result.applyStereotype(getMARTEStereotype("SaStep")).oclAsType(MARTE::SAM::SaStep);
+	saStep.execTime += chrts.localWCET;	
+	// The sharedRes will be set on the SaStep of the end to end workflow
+	saStep.sharedRes += saSharedRes;
+}
+
+mapping InstanceSpecification::ProtectedOperation2SwMutualExclusionResource(annotation : Comment, slot : Slot) : Class {
+	var name := self.name + "_state";
+	log("  <<SwMutualExclusionResource>> class not found. Generating '"+name+"' ");
+	
+	var port := slot.definingFeature![Port];
+	result.name := name;
+	operationPackage.packagedElement += result;
+	var mutualExRes := result.applyStereotype(getMARTEStereotype("SwMutualExclusionResource")).oclAsType(MARTE::SRM::SW_Interaction::SwMutualExclusionResource);
+	
+	var saSharedRes := result.applyStereotype(getMARTEStereotype("SaSharedResource")).oclAsType(MARTE::SAM::SaSharedResource);
+	//saSharedRes.ceiling := "(value="+ self.CHRtSpec().ceiling +", source=req)";
+	//saSharedRes.ceiling := annotation.CHRtSpec().ceiling;
+	result.setCeiling2(annotation.CHRtSpec().ceiling);
+	result.setProtectKind2("PriorityCeiling");
+}
+
+//NOT USED
+mapping Slot::CHRTCommentSporadic2SaStepStrict(chrt : Comment) : Operation when {chrt.CHRtSpec().isSporadic()} {
+    //TODO Assumes 1 state (SwMutualExclusionResource) for each sporadic operation
+	init{	
+		var res := self.owningInstance.resolveoneIn(InstanceSpecification::InstanceSporadic2SaStep, Operation);
+		if res = null then {
+			log("  Generating <<SaStep>> for operation '" + chrt.CHRtSpec().context.name + "'.");
+			res := self.owningInstance.map InstanceSporadic2SaStep(chrt, self);
+		} else 
+			log("  Nothing to do")
+		endif;
+		result := res;
+	}
+}
+
+mapping Slot::CHRTCommentSporadic2SaStep(chrt : Comment) : Operation when {chrt.CHRtSpec().isSporadic()} {
+	init{	
+		log("  Generating <<SaStep>> for operation '" + chrt.CHRtSpec().context.name + "'.");
+		var res := self.owningInstance.map InstanceSporadic2SaStep(chrt, self);
+		result := res;
+	}
+}
+
+helper Slot::Slot2Class4SaStepProxy() : Class {
+	var owner := self.resolveoneIn(Slot::Slot2Class4SaStep, Class);
+	if owner = null then {
+		owner := self.map Slot2Class4SaStep();
+	} endif;
+	return owner;
+}
+
+mapping InstanceSpecification::InstanceSporadic2SaStep(chrt : Comment, slot : Slot) : Operation when {chrt.CHRtSpec().isSporadic()} {
+    //TODO Assumes 1 state (SwMutualExclusionResource) for each sporadic operation		
+	init{	
+		log("  Operation is sporadic.");
+		var chrts := chrt.CHRtSpec();
+		var selfOperation := chrts.context.oclAsType(Operation);
+		var owner := slot.Slot2Class4SaStepProxy();
+		//Create a new SwMutualExclusionResource containing the put/get operation associated to this sporadic operation
+	    var protectedState := self.map SporadicOperation2SwMutualExclusionResource(chrt, slot);
+		result := new Operation(selfOperation);
+	}
+
+	owner.ownedOperation += result;
+	// Convert the newly created operation to a <<saStep>>
+	var localSaStep := result.applyStereotype(getMARTEStereotype("SaStep")).oclAsType(MARTE::SAM::SaStep);
+	localSaStep.execTime += chrts.localWCET;
+	
+	//createSubUsageForPSMOperation(selfOperation, result, slot.owningInstance)
+	
+}
+
+
+mapping InstanceSpecification::SporadicOperation2SwMutualExclusionResource(chrt : Comment, slot : Slot) : Class {
+	init{
+		var name := operationClassName(slot, chrt.CHRtSpec().context.name() + "_state");
+		log("    Generating <<SwMutualExclusionResource>> '" + name + "'.");
+		log("    NOTE 'put' and 'get' operations execution times are hardcoded: (worst=0.0,value=0.0,best=0.0,unit=ms)");
+		var putOp : Operation := new Operation("put");
+		var getOp : Operation := new Operation("get");
+	}
+	
+	result.name := name;
+	operationPackage.packagedElement += result;
+	
+	var swMutualExRes := result.applyStereotype(getMARTEStereotype("SwMutualExclusionResource")).oclAsType(MARTE::SRM::SW_Interaction::SwMutualExclusionResource);	
+	//apply also a SaSharedResource in order to add it to sastep.sharedres
+	var saSharedRes := result.applyStereotype(getMARTEStereotype("SaSharedResource")).oclAsType(MARTE::SAM::SaSharedResource);
+	
+	result.setCeiling2(chrt.CHRtSpec().ceiling);
+	result.setProtectKind2("PriorityCeiling");
+	
+	result.ownedOperation += putOp;
+	result.ownedOperation += getOp;
+		
+	var saPutOp  := putOp.applyStereotype(getMARTEStereotype("SaStep")).oclAsType(MARTE::SAM::SaStep);
+	saPutOp.sharedRes += saSharedRes;
+	var saGetOp := getOp.applyStereotype(getMARTEStereotype("SaStep")).oclAsType(MARTE::SAM::SaStep);
+	saGetOp.sharedRes += saSharedRes;
+	
+	saPutOp.execTime := "(worst=0.0,value=0.0,best=0.0,unit=ms)";
+	saGetOp.execTime := "(worst=0.0,value=0.0,best=0.0,unit=ms)";
+}
+
+mapping InstanceSpecification::HwBus2OperationClass() : Class {
+	init{
+		log("  Generating Bus operations. NOTE: 'send' and 'receive' execution times are hardcoded.");
+		log("    'send' execution time is (worst=0.0,value=0.0,best=0.0,unit=ms)");
+		log("    'receive' execution time is (worst=0.0,value=0.0,best=0.0,unit=ms)");
+		var sendOp : Operation := new Operation(self.name + "_send");
+		var receiveOp : Operation := new Operation(self.name + "_receive");
+	}
+	
+	result.name := self.name + "_operation";
+	operationPackage.packagedElement+=result;
+	
+	result.ownedOperation += sendOp;
+	result.ownedOperation += receiveOp;
+		
+	var stsendOp  := sendOp.applyStereotype(getMARTEStereotype("SaStep")).oclAsType(MARTE::SAM::SaStep);
+	var streceiveOp := receiveOp.applyStereotype(getMARTEStereotype("SaStep")).oclAsType(MARTE::SAM::SaStep);
+	
+	//TODO for the moment exec time is hardcoded
+	stsendOp.execTime := "(worst=0.0,value=0.0,best=0.0,unit=ms)";
+	streceiveOp.execTime := "(worst=0.0,value=0.0,best=0.0,unit=ms)";
+}
+
+/*
+<<HwBus>>
+It represents a special resource able to transfer data.
+It is characterized by its address and word widths, these are functional values, usually different from the wires number of
+its corresponding HW_Channel seeing that buses may be multiplexed or serial.
+
+<<SaCommHost>>
+In a communication host (e.g., network and bus), the related schedulable resource element is CommunicationChannel,
+which may be characterized by concrete scheduling parameters (like the packet size).
+*/
+mapping InstanceSpecification::HwBus2SaCommHost() : Class {
+	init{
+		log ("  Generating <<SaCommHost>>.");
+		var hwBus :=  self.getMetaclass(CHHwBusQN).oclAsType(chessmlprofile::HardwareBaseline::CH_HwBus);
+	}
+    
+	result.name := self.name;
+	hostPackage.packagedElement += result;
+	
+	var stHost := result.applyStereotype(getMARTEStereotype("SaCommHost")).oclAsType(MARTE::SAM::SaCommHost);
+	stHost.speedFactor := hwBus.speedFactor;//DEF"";
+	if stHost.speedFactor = null or stHost.speedFactor = "" then
+		stHost.speedFactor := "(value=1.0)"
+	endif;
+	
+	stHost.blockT := hwBus.blockT;//DEF (worst=0.0,unit=ms)
+	
+	if stHost.blockT->size() = 0 then
+		stHost.blockT += "(worst=0.0,unit=ms)"
+	endif;
+	
+	stHost.packetT := hwBus.packetT;
+	
+	if stHost.packetT->size() = 0 then
+		stHost.packetT += "(worst=1.0,unit=ms)"
+	endif;	
+}
+
+/*
+<<GaCommChannel>>
+A logical communications layer connecting SchedulableResources.
+*/
+mapping InstanceSpecification::BusProperty2GaCommChannel(in host : InstanceSpecification) : Class {
+	log("  Found connected InstanceSpecification '" + self.name + "'. Generating <<GaCommChannel>>.");
+	log("    Scheduling parameters are hardcoded: fp(priority=(value=24,source=meas))");
+	result.name := self.name + "_" + host.name + "_server";
+	hostPackage.packagedElement += result;
+	
+	var stCommChannel := result.applyStereotype(getMARTEStereotype("GaCommChannel")).oclAsType(MARTE::GQAM::GaCommChannel);
+	
+	stCommChannel.host := host.resolveoneIn(InstanceSpecification::HwBus2SaCommHost, Class).getMetaclass(SaCommHostQN).oclAsType(MARTE::SAM::SaCommHost);
+	//TODO schedParams?
+	stCommChannel.schedParams := "fp(priority=(value=24,source=meas))";
+}
+
+/*
+<<HwComputingResource>>
+It is a high level concept that denotes an active execution resource.
+Such resources are often clocked and may support a range of operating frequencies.
+
+<<SaExecHost>>
+A CPU or other device which executes functional steps. The SaExecHost stereotype adds schedulability metrics, interrupt
+overheads, and utilization of scheduling processing.
+*/
+mapping InstanceSpecification::HwComputingResource2SaExecHost() : Class {
+	log("Generating <<SaExecHost>> from instanceSpecification '"+self.name+"' corresponding to <<CH_HwComputingResource>> '" + self.classifier().name + "'.");
+    var hcr := self.getMetaclass(CHHwComputingResourceQN).oclAsType(chessmlprofile::HardwareBaseline::CH_HwComputingResource);
+	result.name := self.name;
+	hostPackage.packagedElement += result;
+	var stHost := result.applyStereotype(getMARTEStereotype("SaExecHost")).oclAsType(MARTE::SAM::SaExecHost);
+	
+	stHost.schedPriRange := "[1..256]";
+	stHost.speedFactor := hcr.speedFactor;//"(value=1.0)";
+}
+
+mapping InstanceSpecification::HwProcessor2SaExecHost() : Class {
+	log("Generating <<SaExecHost>> from instanceSpecification '"+self.name+"' corresponding to <<CH_HwProcessor>> '" + self.classifier().name + "'.");
+    var hcr := self.getMetaclass(CHHwProcessorQN).oclAsType(chessmlprofile::HardwareBaseline::CH_HwProcessor);
+	result.name := self.name;
+	hostPackage.packagedElement += result;
+	var stHost := result.applyStereotype(getMARTEStereotype("SaExecHost")).oclAsType(MARTE::SAM::SaExecHost);
+	
+	stHost.schedPriRange := "[1..256]";
+	stHost.speedFactor := hcr.speedFactor;
+}
+
+//NOT USED
+//Create a new Activity as <<SaEndToEndFlow>>
+mapping Slot::slot2EndToEndWorkFlowStrict(chrt : Comment) : Activity when {chrt.CHRtSpec().isDeferred()} {
+    init {
+    	var res := self.owningInstance.resolveoneIn(InstanceSpecification::Instance2EndToEndWorkFlow, Activity);
+    	if res = null then
+    		res := self.owningInstance.map Instance2EndToEndWorkFlow(chrt, self)
+    	else 
+			log("  Nothing to do")
+		endif;
+    	result := res;
+    }
+}
+
+//Create a new Activity as <<SaEndToEndFlow>>
+mapping Slot::slot2EndToEndWorkFlow(chrt : Comment) : Activity when {chrt.CHRtSpec().isDeferred()} {
+    init {
+    	var res := self.owningInstance.map Instance2EndToEndWorkFlow(chrt, self);
+    	result := res;
+    }
+}
+
+mapping InstanceSpecification::Instance2EndToEndWorkFlow(chrt : Comment, slot : Slot) : Activity when {chrt.CHRtSpec().isDeferred()} {
+    init {
+    	log("Generating <<EndToEndWorkFlow>> from the Instance"+ " for '" + slot.owningInstance.name + slot.owningInstance.getStringId() + "' and operation "+ chrt.CHRtSpec().context.name +".");
+    	var chrts := chrt.CHRtSpec();
+    	var actionName := opaqueActionName(slot, chrts);//slot.owningInstance.name + "_" + chrts.context.name;
+	    // entities for single and distributed communication
+	    //var actInitialNode := new InitialNode("InitialNode1");
+	   
+	    var controlFlowInit := new ControlFlow("ControlFlow1");
+		var actConstraint := new Constraint("Global_Timing_Req");
+		//setting internal references
+		//actInitialNode.outgoing += controlFlowInit;
+    }
+    
+    result.name := actionName;
+    // Add the action to the owned behaviors of RTAnalysisContext     
+    platform.resolveoneIn(Package::CHGaResourcePlatform2SaAnalysisContext, Class).ownedBehavior += result;
+    //Apply the stereotype <<SaEndtoEndFlow>> to the activity
+	result.applyStereotype(getMARTEStereotype("SaEndtoEndFlow"));
+	result.precondition += actConstraint;
+	//result.node += actInitialNode;
+	
+	var actInitialNode := result.createInitialNode();
+	actInitialNode.outgoing += controlFlowInit;
+	
+	result.edge += controlFlowInit;
+    //Apply stereotype <<gaLatencyObs>> and specify the deadline for the end to end flow
+	var gaLatencyObs := actConstraint.applyStereotype(getMARTEStereotype("GaLatencyObs")).oclAsType(MARTE::GQAM::GaLatencyObs);
+	//var relativeDeadline : String := "(value=" + CHRtRlDl + ",unit=ms)";
+	gaLatencyObs.latency += chrts.rlDl;
+	
+	//if the current operation is deferred, it will be the first on the ICB
+	currentConcurRes := chrt.getConcurRes(slot);
+	
+	//Apply stereotype <<gaWorkloadEvent>> and specify the release pattern
+	//of the end-to-end flow
+	var gaWorkloadEvent := actInitialNode.applyStereotype(getMARTEStereotype("GaWorkloadEvent")).oclAsType(MARTE::GQAM::GaWorkloadEvent);
+	gaWorkloadEvent.pattern := chrts.occKind;
+	
+	var resultNode := createOpaqueActionsChain(chrts.isProtected(), chrt, slot, result, actInitialNode);
+
+	//create final node
+	//var finalNode := new ActivityFinalNode("ActivityFinalNode1");
+	var finalNode := result.createFinalNode();
+	//result.node += finalNode;
+	
+	
+    //TODO assumption only one activity edge per node
+    resultNode.outgoing![ControlFlow].target := finalNode;
+    
+    
+}
+
+query chessmlprofile::RTComponentModel::CHRtSpecification::isDeferred() : Boolean {
+	var arrivalPattern := self.occKind.getArrivalPatternType();
+	//the operation is deferred if the arrival pattern is: periodic, sporadic, bursty
+	if  arrivalPattern.oclIsInvalid() then
+		return false
+	endif;
+	return (arrivalPattern <> null and arrivalPattern.length() <> 0);
+}
+
+query chessmlprofile::RTComponentModel::CHRtSpecification::isSporadic() : Boolean {
+	var arrivalPattern := self.occKind.getArrivalPatternType();
+	if (arrivalPattern.oclIsUndefined()) then
+		return false
+	endif;
+	return (arrivalPattern.equalsIgnoreCase("sporadic"));// and self.isGuarded());
+}
+
+query chessmlprofile::RTComponentModel::CHRtSpecification::isProtected() : Boolean { 
+	return (not self.isDeferred()) and self.protection = MARTE::HLAM::CallConcurrencyKind::guarded;
+}
+
+query Port::getCHrtSpecComment() : Comment {
+	return specs->selectOne(annotatedElement![Port] = self);
+}
+
+query InstanceSpecification::linkedHwInstanceSpecifications() : Set(InstanceSpecification) {
+	var res : Set(InstanceSpecification) := Set{};
+	var links := self.owner.ownedElement[InstanceSpecification]->select(classifier->size() = 0);
+	//var candidates := self.owner.ownedElement[InstanceSpecification] - links;
+	var busLinks := links->select(allOwnedElements()[InstanceValue]->selectOne(instance = self) <> null);
+	busLinks->forEach(l){
+	  var ends := l.allOwnedElements()[InstanceValue]->asOrderedSet();
+	  res += l.allOwnedElements()[InstanceValue]->select(instance <> self).instance;
+	};
+	return res;
+}	
+
+query getConnectingBusInstance(senderProcessor: InstanceSpecification, receiverProcessor: InstanceSpecification) : InstanceSpecification {
+	// get the hw connections and buses
+	//var links : Set(InstanceSpecification):= senderProcessor.owner.ownedElement[InstanceSpecification]->select(isStereotyped("CHESS::Dependability::DependableComponent::Propagation"));
+	var links : Set(InstanceSpecification):= senderProcessor.owner.ownedElement[InstanceSpecification]->select(classifier -> size() = 0);
+	var buses := senderProcessor.owner.ownedElement[InstanceSpecification]->select(classifier->selectOne(isStereotyped(CHHwBusQN))<>null);
+	//for each bus, selects its connectors and check if the two processors are connected by 2 of those
+	buses->forEach(bus){
+	  	var busLinks := links->select(allOwnedElements()[InstanceValue]->selectOne(instance = bus) <> null);
+	  	var sender := busLinks->selectOne(allOwnedElements()[InstanceValue]->selectOne(instance = senderProcessor) <> null) <> null;
+	  	var receiver := busLinks->selectOne(allOwnedElements()[InstanceValue]->selectOne(instance = receiverProcessor) <> null) <> null;
+	  	if sender and receiver then {
+	  		log("  Found a bus interconnection: " + bus.name + ".");
+	  		return bus;
+	  	} endif;	
+	};
+	return null;
+}
+
+query getConnectingBus(riIns : InstanceSpecification, piIns : InstanceSpecification) : InstanceSpecification {
+	var senderHwInstance := getAssignToFrom_MemoryPartition(riIns);					
+	var receiverHwInstance := getAssignToFrom_MemoryPartition(piIns); 
+	if senderHwInstance <> receiverHwInstance then 
+	   return getConnectingBusInstance(senderHwInstance, receiverHwInstance)
+	endif;
+	return null;
+}
+
+//query Port::getConnectedPort() : Port {
+//	var bindingConnector := self.getConnector();
+//	var myConnectorEnd := (bindingConnector.allOwnedElements()[ConnectorEnd])->	selectOne(role <> self);
+//    return myConnectorEnd.role.oclAsType(Port);
+//}
+
+//query Port::getConnectedPartWithPort() : Property {
+//	var bindingConnector := self.getConnector();
+//	var otherEnd := (bindingConnector.allOwnedElements()[ConnectorEnd])->	selectOne(role <> self);
+//    return otherEnd.partWithPort;
+//}
+
+//query Port::getCorrespondingSlot() : Slot {
+//	return slots->selectOne(definingFeature = self);
+//}
+query Slot::listAll() : Slot {
+	var riPiLinks := self.owner.owner.ownedElement[InstanceSpecification]->select(classifier -> size() = 0);
+	riPiLinks->forEach(l) {
+	    //TODO Assumption: each link has 2 and only 2 ends
+		var ends := l.allOwnedElements()[InstanceValue]->asOrderedSet();
+		
+		log("FIRST");
+		log("Instance", ends->first().instance![InstanceSpecification].name + ends->first().instance![InstanceSpecification].getStringId());
+		log("Slot", ends->first().owner![Slot].definingFeature![Port].name + ends->first().owner![Slot].getStringId());
+	
+		log("LAST");
+		log("Instance", ends->last().instance![InstanceSpecification].name + ends->last().instance![InstanceSpecification].getStringId());
+		log("Slot", ends->last().owner![Slot].definingFeature![Port].name + ends->last().owner![Slot].getStringId());
+	};
+	return null;	
+}
+
+query Slot::getCorrespondingSlotFull() : Slot {
+	
+	var riPiLinks := self.owner.owner.ownedElement[InstanceSpecification]->select(classifier -> size() = 0);
+	riPiLinks->forEach(l){
+	    //TODO Assumption: each link has 2 and only 2 ends
+		var ends := l.allOwnedElements()[InstanceValue]->asOrderedSet();
+		
+		// bug fixed: check also if the instance is the same, not only the slot
+		var bFirst := ends->first().instance![InstanceSpecification] = self.owningInstance;
+		bFirst := bFirst and 
+			ends->first().instance![InstanceSpecification].getId() = self.owningInstance.getId();
+		bFirst := bFirst and 
+			ends->first().owner![Slot].definingFeature![Port] = self.definingFeature;
+		bFirst := bFirst and self.getId() = ends->first().owner![Slot].getId();
+			
+		var bLast := ends->last().instance![InstanceSpecification] = self.owningInstance;
+		bLast := bLast and 
+			ends->last().instance![InstanceSpecification].getId() = self.owningInstance.getId();
+		bLast := bLast and 
+			ends->last().owner![Slot].definingFeature![Port] = self.definingFeature;
+		bLast := bLast and self.getId() = ends->last().owner![Slot].getId();
+				
+			
+		if bFirst then {
+	  	  var s :=  ends->last();
+	  	  return s.instance.slot->selectOne(definingFeature = s.owner![Slot].definingFeature);
+	  	} else
+	  	 
+	    if bLast then {
+	  	  var s := ends->first();//res += ends->first().instance//candidates->selectOne(ownedElement[Slot]->selectOne(s | s = ends->first()) <> null)
+	  	  return s.instance.slot->selectOne(definingFeature = s.owner![Slot].definingFeature);
+	    } endif
+		
+	    endif;
+	    
+	};
+	return null;
+}
+
+/*
+ Return the "to" attribute of a given <Assign>Comment
+*/
+
+query Comment::getTo() : InstanceSpecification{
+	var asg := self.getMetaclass(AssignQN).oclAsType(MARTE::Alloc::Assign);
+	return 	asg.to![InstanceSpecification];
+}
+
+query getAssignForInstance(p : InstanceSpecification) : MARTE::Alloc::Assign {
+	return assigns->selectOne(isAssignForInstance(p)).getMetaclass(AssignQN).oclAsType(MARTE::Alloc::Assign);
+}
+
+query Comment::isAssignForInstance(spec : InstanceSpecification) : Boolean {
+	var ass := self.getMetaclass(AssignQN).oclAsType(MARTE::Alloc::Assign);
+	return ass._from![InstanceSpecification] = spec.getSourceInstanceSpec() and self.isReferringId(spec.getId());
+}
+
+query getAssignToFrom_MemoryPartition(p : InstanceSpecification) : InstanceSpecification {
+	var ass := getAssignForInstance(p);
+	var toInstance := ass.to![InstanceSpecification];
+	var toClass := toInstance.classifier![Classifier];
+	if toClass.isStereotyped(MemoryPartitionQN) then {
+		var a := assigns -> selectOne(isAssignedFrom(toInstance));
+		var asg := a.getMetaclass(AssignQN).oclAsType(MARTE::Alloc::Assign);
+		return 	asg.to![InstanceSpecification];
+	} else //it is an hardware component
+		return 	ass.to![InstanceSpecification]
+	endif;
+	
+	return null;
+}
+
+//query getAssignToFrom(p : InstanceSpecification) : InstanceSpecification {
+//	var a := assigns -> selectOne(isAssignedFrom(p));
+//	var asg := a.getMetaclass(AssignQN).oclAsType(MARTE::Alloc::Assign);
+//	return 	asg.to![InstanceSpecification];
+//}
+
+//query getAssignFromTo(p : InstanceSpecification) : InstanceSpecification {
+//	var a := assigns -> selectOne(isAssignedTo(p));
+//	var asg := a.getMetaclass(AssignQN).oclAsType(MARTE::Alloc::Assign);
+//	return 	asg._from![InstanceSpecification];
+//}
+
+query Comment::isAssignedFrom(p : InstanceSpecification) : Boolean {
+    var asg := self.getMetaclass(AssignQN).oclAsType(MARTE::Alloc::Assign);
+    return asg._from![InstanceSpecification] = p;
+}
+
+query Comment::isAssignedTo(p : InstanceSpecification) : Boolean {
+    var asg := self.getMetaclass(AssignQN).oclAsType(MARTE::Alloc::Assign);
+    return asg.to![InstanceSpecification] = p;
+}
+
+//query InstanceSpecification::RIportSize(port : Port): Integer {
+//	return self.allOwnedElements()[Slot]->select(isRI())->size();
+//}
+
+//query InstanceSpecification::PIportSize(port : Port): Integer {
+//	return self.allOwnedElements()[Slot]->select(isPI())->size();
+//}
+
+//query InstanceSpecification::getRIportFromIndex(port : Port, i : Integer): Integer {
+//	var n := self.RIportSize(port);
+//	return i.mod(n);
+//}
+
+//query Slot::isRI() : Boolean {
+//	var cp := self.definingFeature![Port].getMetaclass(ClientServerPortQN).oclAsType(MARTE::GCM::ClientServerPort);
+//	return cp.reqInterface->isEmpty();
+//}
+
+//query Slot::isPI() : Boolean {
+//	var cp := self.definingFeature![Port].getMetaclass(ClientServerPortQN).oclAsType(MARTE::GCM::ClientServerPort);
+//	return cp.provInterface->isEmpty();
+//}
+query ConnectableElement::getLifeLineInstance(instances : Set(InstanceSpecification)) : InstanceSpecification {
+	var nonNullInstances : Set(InstanceSpecification) := instances->select(instance : InstanceSpecification | not instance.name.oclIsUndefined());
+	return nonNullInstances->selectOne(instance : InstanceSpecification | instance.name.indexOf(self.name) > 0);
+}
+
+helper Message::getMsgChrts() : chessmlprofile::RTComponentModel::CHRtSpecification {
+	   	
+	var chrts : chessmlprofile::RTComponentModel::CHRtSpecification := null;
+	//log(self.name);
+   	//get the operation
+   	var operation : Operation := self.signature.oclAsType(Operation);
+   	//log(operation.name);
+   	//assume that Message's receiveEvent is of type MessageOccurrenceSpecification
+   	var receiveEvent : MessageOccurrenceSpecification := self.receiveEvent.oclAsType(MessageOccurrenceSpecification);
+   	//log(receiveEvent.name);
+   	//assume that Message's receiveEvent covers only one lifeline
+   	var lifeline : Lifeline := receiveEvent.covered->asSequence()->first();
+   	//log(lifeline.name);
+   	//get the instance related to Lifeline's' "represents" feature
+	//log("Found Lifeline for property: " + lifeline.represents.name + " with Type: " + lifeline.represents.type.name);
+	//search for instance in the CHGaResourcePlatform
+	var instance := lifeline.represents.getLifeLineInstance(instSpecFullPackage.allOwnedElements()[InstanceSpecification]);
+	//log("Found Instance " + instance.name);
+		
+	//get the instance's chrtPortSlots with a ChRtSpecification comment whose context is equal to the inital operation
+	var startInstSlots : Set(Slot):= instance.slot->select(isStereotyped(CHRtPortSlotQN));
+   	startInstSlots->forEach(s){
+   		var chrtSpecs := s.getMetaclass(CHRtPortSlotQN).oclAsType(chessmlprofile::RTComponentModel::CHRtPortSlot).cH_RtSpecification;
+   		chrtSpecs->forEach(spec){
+   			if(spec.context.qualifiedName.equalsIgnoreCase(operation.qualifiedName)) then {
+   				chrts := spec;
+   				currentSlot := s;
+   				//log("Slot [getMsgChrts]: " + s.definingFeature.name);
+   			} endif;
+   		};
+   	};
+   	//log("+++++++++++++ context: " + startChrts.context.name);
+	return chrts;
+}
\ No newline at end of file
diff --git a/plugins/org.polarsys.chess.m2m/transformations/MARTEUtils.qvto b/plugins/org.polarsys.chess.m2m/transformations/MARTEUtils.qvto
new file mode 100644
index 000000000..de94ec982
--- /dev/null
+++ b/plugins/org.polarsys.chess.m2m/transformations/MARTEUtils.qvto
@@ -0,0 +1,142 @@
+/*
+-----------------------------------------------------------------------
+--          			CHESS M2M plugin							 --
+--                                                                   --
+--                    Copyright (C) 2011-2012                        --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author: Alessandro Zovi         azovi@math.unipd.it 		         --
+--                                                                   --
+-- All rights reserved. This program and the accompanying materials  --
+-- are made available under the terms of the Eclipse Public License  --
+-- v1.0 which accompanies this distribution, and is available at     --
+-- http://www.eclipse.org/legal/epl-v10.html                         --
+-----------------------------------------------------------------------
+*/
+
+modeltype UML uses "http://www.eclipse.org/uml2/2.0.0/UML";
+modeltype MARTEP uses "http://www.eclipse.org/papyrus/MARTE/1";
+
+modeltype ECORE uses "http://www.eclipse.org/emf/2002/Ecore";
+
+
+transformation AlePIM2PSM(in source:UML, in marte:MARTEP);
+
+property model : Model = null;
+property MARTEProfile : Profile = null;
+
+
+property s1 = "HwComputingResource";
+property s2 = "SaExecHost";	
+
+main() {
+    log("*** CHESS PIM->PSM transformation   ***");
+
+	model := source.rootObjects()![Model];
+	var p := model.getView("ComponentView");
+	MARTEProfile := p.getAppliedProfiles()->selectOne(name="GCM").owner.owner.oclAsType(Profile);
+	
+	this.printMARTEStereotypeInfo(s1);
+	this.printMARTEStereotypeInfo(s2);
+	
+	log("-----------------------------");
+	var l1 := this.getMARTEStereotype(s1).member[Property]->asSequence()->sortedBy(name).name;
+	var l2 := this.getMARTEStereotype(s2).member[Property]->asSequence()->sortedBy(name).name;
+	log(s1+"|"+s2);
+	l1->union(l2)->forEach(a){
+		var s : String ="";
+		if (l1->includes(a)) then 
+			s:=s+a
+		else 
+		  s:=s+"-----------"
+		endif;
+		s:=s+"|";
+		
+		if (l2->includes(a)) then 
+			s:=s+a
+		
+		else 
+		  s:=s+"-----------"
+		endif;
+		log(s);
+	};
+	
+	log("-----------------------------");
+	--this.getMARTEStereotype("HwComputingResource").member[Property].name->intersection(
+	--this.getMARTEStereotype("SaExecHost").member[Property].name)->asSequence()->print();
+	
+}
+
+helper Stereotype::getGens() : Set(Stereotype) {
+    var ss := self->generalization.target[Stereotype];
+    var s : Set(Stereotype) := Set{};
+    if (ss<>null) then
+	   s += ss->getGens()->flatten()->asSet()
+	endif;
+	s += self;
+	return s;
+}
+
+query Stereotype::printGens(in n : Integer) : Set(Stereotype) {
+	var s : String :="";
+	while (i:=0; i<n){
+		s := s+"      ";
+		i:=i+1;
+	};
+	log(s + self.name);
+	self->generalization.target[Stereotype]->printGens(n+1);
+	return null;
+}
+
+query OrderedSet(String)::print(indent : String){
+	self->forEach(i){log(indent + i)};
+}
+
+query Bag(String)::print(indent : String){
+	self->forEach(i){log(indent + i)};
+}
+
+query Sequence(String)::print(indent : String){
+	self->forEach(i){log(indent + i)};
+}
+
+
+query PackageableElement::getView(viewName : String) : Package {
+	var seq : Bag(Package) := model.packagedElement[Package]-> union(model.packagedElement[Package].packagedElement[Package]);
+	return seq-> selectOne (p | p.getAppliedStereotype("CHESS::Core::CHESSViews::"+viewName) != null);
+	--seq->forEach(p){
+	--	log(p.name);
+	--	p.getAppliedStereotypes()->collect(qualifiedName)->forEach(s){log(s)};
+	--};
+}
+
+query Element::listStereotypes() : OclVoid {
+	log("********************************************************************************");
+	log("* Element: " + if(self.oclIsKindOf(NamedElement)) then self.oclAsType(NamedElement).name else "noName" endif);
+	self.getAppliedStereotypes()->collect(qualifiedName)->forEach(s){log("* " + s)};
+	log("********************************************************************************");
+	return null;
+}	
+
+query Element::toMetaclass(stereoName : String) : EObject {
+  var s = self.getAppliedStereotype(stereoName);
+  return self.getStereotypeApplication(s);	
+}
+
+query OclAny::getMARTEStereotype(stereoName : String) : Stereotype {
+	return MARTEProfile.allOwnedElements()[Stereotype]->selectOne(name=stereoName);
+}
+
+query OclAny::getMARTEProfile(profileName : String) : Profile {
+	return MARTEProfile.allOwnedElements()[Profile]->selectOne(name=profileName);
+}
+
+query OclAny::printMARTEStereotypeInfo(stereoName : String) : OclVoid {
+	var s := marte.rootObjects().allSubobjects()[EClass]->selectOne(name=stereoName).instanceTypeName;
+	var t := s.substring(1, s.rfind('.')-1);
+	t:=t.substring(1, t.rfind('.'));
+	s:=s.substringAfter(t);
+	
+	log("Qualified name:\n" + self.getMARTEStereotype(stereoName).qualifiedName);
+	log("Metaclass:\nMARTE::" + s.replace('.',"::"));
+}
\ No newline at end of file
diff --git a/plugins/org.polarsys.chess.m2m/transformations/ProfileUtils_Inst_full.qvto b/plugins/org.polarsys.chess.m2m/transformations/ProfileUtils_Inst_full.qvto
new file mode 100644
index 000000000..2b8ed8b76
--- /dev/null
+++ b/plugins/org.polarsys.chess.m2m/transformations/ProfileUtils_Inst_full.qvto
@@ -0,0 +1,255 @@
+/*
+-----------------------------------------------------------------------
+--          			CHESS M2M plugin							 --
+--                                                                   --
+--                    Copyright (C) 2011-2012                        --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author: Alessandro Zovi         azovi@math.unipd.it 		         --
+--                                                                   --
+-- All rights reserved. This program and the accompanying materials  --
+-- are made available under the terms of the Eclipse Public License  --
+-- v1.0 which accompanies this distribution, and is available at     --
+-- http://www.eclipse.org/legal/epl-v10.html                         --
+-----------------------------------------------------------------------
+*/
+
+library ProfileUtils_Inst_full;
+import UMLUtils_Inst_full;
+modeltype UML uses "http://www.eclipse.org/uml2/2.0.0/UML";
+modeltype MARTEP uses "http://www.eclipse.org/papyrus/MARTE/1";
+modeltype CHESS uses "http://CHESS";
+	
+
+
+modeltype ECORE uses "http://www.eclipse.org/emf/2002/Ecore";
+
+
+property marteModel : EPackage = null;
+
+
+property MARTEProfile : Profile = null;
+property CHESSProfile : Profile = null;
+
+
+--property SaExecHosts :Sequence(MARTE::SAM::SaExecHost) = Sequence{};
+	
+
+helper initUtils(marte : Profile, chess : Profile) {
+	MARTEProfile := marte;
+	CHESSProfile := chess;
+	marteModel := null;
+	return;
+}
+
+helper initUtils(marte : Profile, chess : Profile, marteMdl : EPackage) {
+	MARTEProfile := marte;
+	CHESSProfile := chess;
+	marteModel := marteMdl;
+	return;
+}
+
+query Element::printStereotypes() {
+	log("********************************************************************************");
+	log("* Element: " + if(self.oclIsKindOf(NamedElement)) then self.oclAsType(NamedElement).name else "noName" endif);
+	self.getAppliedStereotypes()->collect(qualifiedName)->forEach(s){log("* " + s)};
+	log("********************************************************************************");
+}	
+
+query Bag(String)::print(){
+	self->forEach(i){log(i)};
+}
+
+query getMARTEStereotype(stereoName : String) : Stereotype {
+	return MARTEProfile.allOwnedElements()[Stereotype]->selectOne(stereoName.equalsIgnoreCase(name))
+}
+
+query getMARTEStereotypeQualifiedName(stereoName : String) : String {
+	return this.getStereotypeQualifiedName(MARTEProfile, stereoName);
+}
+
+query getCHESSStereotype(stereoName : String) : Stereotype {
+	return CHESSProfile.allOwnedElements()[Stereotype]->selectOne(name=stereoName);
+}
+
+query getCHESSStereotypeQualifiedName(stereoName : String) : String {
+	return this.getStereotypeQualifiedName(CHESSProfile, stereoName);
+}
+
+query getStereotypeQualifiedName(profile : Profile, stereoName : String) : String {
+	var s := profile.allOwnedElements()[Stereotype]->selectOne(name=stereoName).qualifiedName;
+	--log("property "+stereoName+"QN = \""+s+"\";");
+	return s;
+}
+
+query getMARTEProfile(profileName : String) : Profile {
+	return MARTEProfile.allOwnedElements()[Profile]->selectOne(name=profileName);
+}
+
+query getCHESSProfile(profileName : String) : Profile {
+	return CHESSProfile.allOwnedElements()[Profile]->selectOne(name=profileName);
+}
+
+query printMARTEStereotypeInfo(stereoName : String) {
+	var s := marteModel.allSubobjects()[EClass]->selectOne(name=stereoName).instanceTypeName;
+	var t := s.substring(1, s.rfind('.')-1);
+	t:=t.substring(1, t.rfind('.'));
+	s:=s.substringAfter(t);
+	
+	log("Qualified name: " + getMARTEStereotype(stereoName).qualifiedName);
+	log("Metaclass: MARTE::" + s.replace('.',"::"));
+}
+
+/*
+  Test if a CHRtPort slot correctly represents an operation
+*/
+query Slot::isCHRtPortSlotCorrect() : Boolean {
+	var s := self.getMetaclass(CHRtPortSlotQN).oclAsType(chessmlprofile::RTComponentModel::CHRtPortSlot);	   
+	return self.owningInstance.classifier <> null and
+	       s <> null and
+	       s.cH_RtSpecification <> null and 
+	       s.cH_RtSpecification->isEmpty() = false;
+}
+
+/*
+  Return the related CHRtSpecification of a Comment
+*/
+query Comment::CHRtSpec() : chessmlprofile::RTComponentModel::CHRtSpecification {
+	return self.getMetaclass(CHRtSpecificationQN).oclAsType(chessmlprofile::RTComponentModel::CHRtSpecification);
+}
+
+query InstanceSpecification::isProcessor() : Boolean {
+	var b := self.isStereotyped(CHHwProcessorQN);
+	return b;
+}
+
+query InstanceSpecification::isComputingResource() : Boolean {
+	var b := self.isStereotyped(CHHwComputingResourceQN);
+	return b;
+}
+
+query InstanceSpecification::isBus() : Boolean {
+	var b := self.isStereotyped(CHHwBusQN);
+	return b;
+}
+
+/*
+  Return the related CHRtSpecification of a Comment
+*/
+query Slot::CHRtSpecForOperation(op : Operation) : chessmlprofile::RTComponentModel::CHRtSpecification {
+    //TODO Assumption: CHRtPortSlot.cH_RtSpecification should contain one and only <<CHRtSpecification>>
+    self.getMetaclass(CHRtPortSlotQN).oclAsType(chessmlprofile::RTComponentModel::CHRtPortSlot).cH_RtSpecification ->forEach(spec){
+    	if (spec.context = op) then
+    		return spec
+    	endif;
+    	if (spec.context![Operation].isSameOperation(op)) then
+    		return spec
+    	endif;
+    };
+    //The operation must exists!
+    assert fatal (false)
+    	with log ("Cannot find Operation " + op.name + " for Slot " + self.owningInstance.name);
+	return null; 
+}
+
+
+query Slot::getStringId() : String {
+	var ids := self.getMetaclass(IdentifSlotQN).oclAsType(CHESS::Core::IdentifSlot);
+	if not (ids.oclIsInvalid() or ids.oclIsUndefined()) then
+		return "_"+ids.id.toString()
+	endif;
+	return "";
+}
+
+query Slot::getId() : Integer {
+	var ids := self.getMetaclass(IdentifSlotQN).oclAsType(CHESS::Core::IdentifSlot);
+	if not (ids.oclIsInvalid() or ids.oclIsUndefined()) then
+		return ids.id
+	endif;
+	return 0;
+}
+
+query InstanceSpecification::getStringId() : String {
+	var ids := self.getMetaclass(IdentifInstanceQN).oclAsType(CHESS::Core::IdentifInstance);
+	if not (ids.oclIsInvalid() or ids.oclIsUndefined()) then
+		return "_" + ids.id.toString()
+	endif;
+	return "";
+}
+
+query InstanceSpecification::getId() : Integer {
+	var ids := self.getMetaclass(IdentifInstanceQN).oclAsType(CHESS::Core::IdentifInstance);
+	if not (ids.oclIsInvalid() and ids.oclIsUndefined()) then
+		return ids.id
+	endif;
+	return 0;
+}
+
+query InstanceSpecification::getSourceInstanceSpec() : InstanceSpecification {
+	var ids := self.getMetaclass(IdentifInstanceQN).oclAsType(CHESS::Core::IdentifInstance);
+	if not (ids.oclIsInvalid() and ids.oclIsUndefined()) then
+		return ids.sourceInstanceSpec
+	endif;
+	assert fatal (false)
+		with log ("Cannot find source instance specification for " + self.qualifiedName);
+	return null
+}
+
+// Naming conventions
+
+query operationClassName(slot : Slot, name : String) : String {
+//	var slotInstance := slot.getStringId();
+//	var owningInstance := slot.owningInstance.getStringId();
+//	if (slotInstance <> "") then
+//		slotInstance = "_"+slotInstance
+//	endif;
+//	if (owningInstance <> "") then
+//		owningInstance = "_"+owningInstance
+//	endif;	
+//	return slot.owningInstance.name + owningInstance + "_" + slot.definingFeature![Port].name + "_"+ slotInstance + "_" + name
+
+	return slot.owningInstance.name + slot.owningInstance.getStringId() + "_" 
+		+ slot.definingFeature![Port].name // + slot.getStringId() 
+		+ "_" + name
+}
+
+query opaqueActionName(slot : Slot, chrtSpec : chessmlprofile::RTComponentModel::CHRtSpecification) : String {
+	return slot.owningInstance.name + slot.owningInstance.getStringId() + "_" 
+		+ slot.definingFeature![Port].name // + slot.getStringId() 
+		+ "_" + chrtSpec.context.name();
+}
+
+query chessmlprofile::RTComponentModel::CHRtSpecification::schedulableResource(slot : Slot) : String {
+    //TODO what happens if the operation (i.e. the 'context') is overloaded? (same name?): resolved with name() query
+	return slot.owningInstance.name + slot.owningInstance.getStringId() + "_" 
+		+ slot.definingFeature![Port].name // + slot.getStringId() 
+		+ "_" + self.context.name() + "_task";
+}
+
+-- CHESS Stereotype Qualified Names
+
+property ComponentImplementationQN = "CHESS::ComponentModel::ComponentImplementation";
+property CHRtPortSlotQN = "CHESS::Predictability::RTComponentModel::CHRtPortSlot";
+property CHRtSpecificationQN = "CHESS::Predictability::RTComponentModel::CHRtSpecification";
+property CHGaResourcePlatformQN = "CHESS::Core::CHGaResourcePlatform";
+property CHHwComputingResourceQN = "CHESS::Predictability::DeploymentConfiguration::HardwareBaseline::CH_HwComputingResource";
+property CHHwProcessorQN = "CHESS::Predictability::DeploymentConfiguration::HardwareBaseline::CH_HwProcessor";
+property CHHwBusQN = "CHESS::Predictability::DeploymentConfiguration::HardwareBaseline::CH_HwBus";
+
+property IdentifInstanceQN = "CHESS::Core::IdentifInstance";
+property IdentifSlotQN = "CHESS::Core::IdentifSlot";	
+
+-- MARTE Stereotype Qualified Names
+property ClientServerPortQN = "MARTE::MARTE_DesignModel::GCM::ClientServerPort";
+property AssignQN = "MARTE::MARTE_Foundations::Alloc::Assign";
+property SchedulableResourceQN = "MARTE::MARTE_Foundations::GRM::SchedulableResource";
+property SaStepQN = "MARTE::MARTE_AnalysisModel::SAM::SaStep";
+property GaCommChannelQN = "MARTE::MARTE_AnalysisModel::GQAM::GaCommChannel";
+property HwComputingResourceQN = "MARTE::MARTE_DesignModel::HRM::HwLogical::HwComputing::HwComputingResource";
+property HwBusQN = "MARTE::MARTE_DesignModel::HRM::HwLogical::HwCommunication::HwBus";
+property SaExecHostQN = "MARTE::MARTE_AnalysisModel::SAM::SaExecHost";
+property GaResourcesPlatformQN = "MARTE::MARTE_AnalysisModel::GQAM::GaResourcesPlatform";
+property SaCommHostQN = "MARTE::MARTE_AnalysisModel::SAM::SaCommHost";
+property MemoryPartitionQN = "MARTE::MARTE_DesignModel::SRM::SW_Concurrency::MemoryPartition";
+property SwSchedulableResourceQN = "MARTE::MARTE_DesignModel::SRM::SW_Concurrency::SwSchedulableResource";
+
diff --git a/plugins/org.polarsys.chess.m2m/transformations/RemoveMultiInstance.qvto b/plugins/org.polarsys.chess.m2m/transformations/RemoveMultiInstance.qvto
new file mode 100644
index 000000000..e1bcf2f0b
--- /dev/null
+++ b/plugins/org.polarsys.chess.m2m/transformations/RemoveMultiInstance.qvto
@@ -0,0 +1,75 @@
+/*
+-----------------------------------------------------------------------
+--          			CHESS M2M plugin							 --
+--                                                                   --
+--                    Copyright (C) 2011-2012                        --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author: Stefano Puri         stefano.puri@intecs.it 		         --
+--                                                                   --
+-- All rights reserved. This program and the accompanying materials  --
+-- are made available under the terms of the Eclipse Public License  --
+-- v1.0 which accompanies this distribution, and is available at     --
+-- http://www.eclipse.org/legal/epl-v10.html                         --
+-----------------------------------------------------------------------
+*/
+
+
+modeltype CHESS uses "http://CHESS";
+modeltype UML uses "http://www.eclipse.org/uml2/3.0.0/UML";
+modeltype MARTE uses "http://www.eclipse.org/papyrus/MARTE/1";
+
+transformation RemoveMultiInstance(inout chessModel : CHESS);
+
+property CHESSProfile : Profile = null;
+property model : Model = null;
+property newMultiInstPackage : Set(Package) = null;
+property CHGaResourcePlatformQN = "CHESS::Core::CHGaResourcePlatform";
+
+
+configuration property rootComp : String;
+
+property rootInstance : InstanceSpecification = null;
+
+main() {
+
+    log("*** Remove Multi Instance Transformation   ***");	
+	model := chessModel.rootObjects()![Model];
+	
+	CHESSProfile := model.getAppliedProfiles()->selectOne(name="CHESS").oclAsType(Profile);
+  	
+  	var compViewPack : Package := model.getView("ComponentView");
+  	compViewPack->map removeMultipleInstancePackage();
+  	
+}
+
+/**
+Takes the package owning the instances created by the BuildInstance trasformation and explodes 
+all the instanceSpecification and Slot deriving from Properties/Ports with mult>1
+*/
+mapping UML::Package::removeMultipleInstancePackage() {
+
+	var platforms := self.allOwnedElements()[Package]->select(isStereotyped(CHGaResourcePlatformQN))->asSequence();
+	
+	assert fatal (platforms->size()=1) with log("CHGaResourcesPlatform not found");
+	
+	var instPackage := platforms->first();
+
+	//var instPackage := UML::Package.allInstances()->select(name = rootName+"_instSpec")->asOrderedSet()->first().oclAsType(UML::Package);
+	var parentPackage : UML::Package := instPackage.owner.oclAsType(UML::Package);
+	
+	newMultiInstPackage := self.allOwnedElements()[Package] -> select(name=instPackage.name+"_full");
+	newMultiInstPackage->forEach(p){
+		p.packagedElement := null;
+		p.destroy();
+	};
+}
+
+query Model::getView(viewName : String) : Package {
+	var seq := self.packagedElement[Package]-> union(self.packagedElement[Package].packagedElement[Package]);
+	return seq -> selectOne(isStereotyped("CHESS::Core::CHESSViews::" + viewName));
+}
+
+query Element::isStereotyped(stereoName : String) : Boolean {
+	return self.getAppliedStereotype(stereoName) <> null
+}
diff --git a/plugins/org.polarsys.chess.m2m/transformations/UMLUtils_Inst_full.qvto b/plugins/org.polarsys.chess.m2m/transformations/UMLUtils_Inst_full.qvto
new file mode 100644
index 000000000..ee735a5ad
--- /dev/null
+++ b/plugins/org.polarsys.chess.m2m/transformations/UMLUtils_Inst_full.qvto
@@ -0,0 +1,189 @@
+/*
+-----------------------------------------------------------------------
+--          			CHESS M2M plugin							 --
+--                                                                   --
+--                    Copyright (C) 2011-2012                        --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author: Alessandro Zovi         azovi@math.unipd.it 		         --
+--                                                                   --
+-- All rights reserved. This program and the accompanying materials  --
+-- are made available under the terms of the Eclipse Public License  --
+-- v1.0 which accompanies this distribution, and is available at     --
+-- http://www.eclipse.org/legal/epl-v10.html                         --
+-----------------------------------------------------------------------
+*/
+
+library UMLUtils_Inst_full;
+import chess.lib;
+
+modeltype UML uses "http://www.eclipse.org/uml2/2.0.0/UML";
+modeltype MARTEP uses "http://www.eclipse.org/papyrus/MARTE/1";
+modeltype CHESS uses "http://CHESS";
+
+modeltype ECORE uses "http://www.eclipse.org/emf/2002/Ecore";
+
+query Element::getMetaclass(stereoName : String) : EObject {
+  var s = self.getAppliedStereotype(stereoName);
+  return self.getStereotypeApplication(s);	
+}
+
+query Model::getView(viewName : String) : Package {
+	var seq := self.packagedElement[Package]-> union(self.packagedElement[Package].packagedElement[Package]);
+	return seq -> selectOne(isStereotyped("CHESS::Core::CHESSViews::" + viewName));
+}
+
+query Element::isStereotyped(stereoName : String) : Boolean {
+	return self.getAppliedStereotype(stereoName) <> null
+}
+
+/*
+  Return the connector associated to a port assuming
+  each port has at most only one connector 
+*/
+//TODO Assumption: a port should have only one connector
+query Port::getConnector() : Connector {
+	return self._end->asSequence()->first().owner.oclAsType(Connector);
+}
+
+/*
+  Return the RI Slot of the 'instance' InstanceSpecification that corresponds to the given port
+*/
+//query Port::portToSlot(in instance : InstanceSpecification) : Slot {
+//	return instance.ownedElement[Slot]->selectOne(definingFeature = self);	
+//}
+
+query CallOperationAction::portToSlotFull(in instance : InstanceSpecification) : Set(Slot) {
+	var rule := self.activity.specification![Operation]._class.getRuleFor(self);
+	if rule.oclIsInvalid() or rule.oclIsUndefined() then //if there is no contraint all the ports are called simultaneously
+		return instance.slot->select(definingFeature = self.onPort)
+	else {
+		return instance.portToSlotsByRule(self.onPort, rule)->asSet();
+	}endif;
+	return null;	
+}		
+
+query Class::getRuleFor(callOp : CallOperationAction) : Constraint {
+	self.ownedRule->forEach(rule){
+		if rule.constrainedElement![CallOperationAction] = callOp then
+			return rule
+		endif;
+	};
+	return null;
+}
+
+query Element::isNull() : Boolean {
+	return self.oclIsInvalid() or self.oclIsUndefined();
+}
+//TODO Assumption: The InstanceSpecification.classifier property should really have one and only element!	
+query InstanceSpecification::classifier() : Classifier {
+	return self.classifier->selectOne(true);
+}
+
+/*
+  Test if a connector is attached to the 'el' element
+*/
+query Connector::isLinkedWith(el : Element) : Boolean {
+	return self._end->selectOne(partWithPort = el) <> null;
+}
+
+
+//TODO extends with other comparison criteria
+query Operation::isSameOperation(op : Operation) : Boolean {
+	
+	var b := self.name = op.name 
+	and self.ownedParameter->size() = op.ownedParameter->size() 
+	and self.visibility = op.visibility 
+	and op.isStatic = self.isStatic 
+	and op.isAbstract = self.isAbstract;
+	
+	if not b then
+		return false
+	endif;
+	
+	// the ownedParameter is an ordered set...
+    var i := 1;
+    while (i <= self.ownedParameter->size()) {
+    	b := b and self.ownedParameter->at(i).isSameParameter(op.ownedParameter->at(i));
+    	i := i + 1;
+    };
+    
+	return b;	
+}
+
+query Parameter::isSameParameter(pa : Parameter) : Boolean {
+	return self.name = pa.name and self.type = pa.type and self.direction = pa.direction;
+}
+
+/*
+  Build the name of an operation: the name of a operation corresponds to 
+  its name concatenated to the name of type of its parameters
+*/
+query BehavioralFeature::name() : String {
+	var n := self.name;
+    self.ownedParameter.type.name->forEach(s){
+    	n := n + "_" + s;
+    };
+	return n;
+}
+
+// Constructors
+
+constructor Operation::Operation(n : String) {
+	name := n;
+}
+
+constructor Operation::Operation(op: Operation)  {
+	name:= op.name();
+	op.ownedParameter -> forEach(par) {
+		ownedParameter += new Parameter(par);
+	};
+	
+	redefinedOperation:= op;
+	// TODO complete with other attributes if necessary
+}
+
+
+
+constructor Parameter::Parameter(par: Parameter)  {
+	name:= par.name;
+	type:= par.type;
+}
+
+constructor Package::Package(n:String) {
+	name:= n;
+}
+
+constructor Class::Class(n:String)  {
+	name:= n;
+}
+
+constructor Activity::Activity(n:String) {
+	name:= n;
+}
+
+constructor InitialNode::InitialNode(n: String) {
+	name:= n;
+}
+
+constructor ActivityFinalNode::ActivityFinalNode(n: String) {
+	name:= n;
+}
+
+constructor ControlFlow::ControlFlow(n: String) {
+	name:= n;
+	guard:= new OpaqueExpression();
+}
+
+constructor OpaqueAction::OpaqueAction(n: String) {
+	name:= n;
+}
+
+constructor Constraint::Constraint(n: String) {
+	name:= n;
+}
+
+constructor OpaqueExpression::OpaqueExpression() {
+	body:="true";
+	language:="OCL";
+}
diff --git a/plugins/org.polarsys.chess.m2m/transformations/Unused.qvto b/plugins/org.polarsys.chess.m2m/transformations/Unused.qvto
new file mode 100644
index 000000000..ee521ada6
--- /dev/null
+++ b/plugins/org.polarsys.chess.m2m/transformations/Unused.qvto
@@ -0,0 +1,98 @@
+/*
+-----------------------------------------------------------------------
+--          			CHESS M2M plugin							 --
+--                                                                   --
+--                    Copyright (C) 2011-2012                        --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author: Alessandro Zovi         azovi@math.unipd.it 		         --
+--                                                                   --
+-- All rights reserved. This program and the accompanying materials  --
+-- are made available under the terms of the Eclipse Public License  --
+-- v1.0 which accompanies this distribution, and is available at     --
+-- http://www.eclipse.org/legal/epl-v10.html                         --
+-----------------------------------------------------------------------
+*/
+
+library ProfileUtils;
+modeltype UML uses "http://www.eclipse.org/uml2/2.0.0/UML";
+modeltype MARTEP uses "http://www.eclipse.org/papyrus/MARTE/1";
+modeltype CHESS uses "http://CHESS";
+	
+
+
+modeltype ECORE uses "http://www.eclipse.org/emf/2002/Ecore";
+
+
+property propertyPlatform : Component = null;
+
+/*
+  in initialization:
+  
+  propertyPlatform := model.allOwnedElements()[Component]->selectOne(isStereotyped(GaResourcesPlatformQN));
+
+
+*/
+
+query InstanceSpecification::instanceSpec2Property() : Property {
+	return propertyPlatform.ownedMember[Property]->selectOne(name = self.name);
+}
+
+query getConnector(myPort : Port, myProperty : Property) : Connector {
+	return myPort._end->selectOne(partWithPort = myProperty).owner.oclAsType(Connector);
+}
+
+//Deprecated since CHESS Specification states that a port must have only one connector
+query Port::getPiPort(op : chessmlprofile::RTComponentModel::CHRtSpecification) : Port {
+    // Find the connector that links the RI to a PI
+    var bindingConnector := getConnector(self, op.partWithPort);
+    var myConnectorEnd := (bindingConnector.allOwnedElements()[ConnectorEnd])->	selectOne(role <> self);
+    return myConnectorEnd.role.oclAsType(Port);
+}
+
+//Deprecated since CHESS Specification states that a port must have only one connector
+query Port::getPiPartWithPort(op : chessmlprofile::RTComponentModel::CHRtSpecification) : Property {
+    // Find the connector that links the RI to a PI
+    var bindingConnector := getConnector(self, op.partWithPort);
+    var myConnectorEnd := (bindingConnector.allOwnedElements()[ConnectorEnd])->	selectOne(role <> self);
+    return myConnectorEnd.partWithPort;
+}
+
+query Property::property2InstanceSpec() : InstanceSpecification {
+	return platform.ownedMember[InstanceSpecification]->selectOne(name = self.name);
+}
+
+//Test if it is a ditributed communication between the ports by returning the corresponding communication bus
+/*query getConnectingBus(riProp : Property, piProp : Property) : Property {
+	var senderHwInstance := getAssignToFrom(riProp);					
+	var receiverHwInstance := getAssignToFrom(piProp); 
+	if (senderHwInstance <> receiverHwInstance) then 
+	   return getConnectingBusInstance(senderHwInstance, receiverHwInstance)
+	endif;
+	return null;
+}*/
+
+
+/*query Property::linkedInstanceSpecifications() : Bag(InstanceSpecification) {
+	var res : Bag(InstanceSpecification) := Bag{};	
+	self.owner.ownedElement[Connector]->select(isLinkedWith(self))->forEach(c){
+	    res += c._end->selectOne(partWithPort<>self).partWithPort.property2InstanceSpec();
+	};
+	return res;
+}*/
+
+/*
+query getConnector(myPort : Port, myProperty : Property) : Connector {
+	var connectorSet  := model.allOwnedElements()[Connector];
+	
+	
+	//return connectorSet->selectOne(allOwnedElements()[ConnectorEnd]->selectOne(role = myPort and partWithPort = myProperty).oclIsUndefined()=false);
+	connectorSet->forEach(c) {
+		c.allSubobjectsOfKind(ConnectorEnd) [ConnectorEnd]->forEach(es) {
+			if (es.role = myPort and es.partWithPort = myProperty) then {
+				return c;
+			} endif;
+		};
+	};
+	return null;
+}*/
\ No newline at end of file
diff --git a/plugins/org.polarsys.chess.service/.classpath b/plugins/org.polarsys.chess.service/.classpath
new file mode 100644
index 000000000..b1dabee38
--- /dev/null
+++ b/plugins/org.polarsys.chess.service/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/plugins/org.polarsys.chess.service/.gitignore b/plugins/org.polarsys.chess.service/.gitignore
new file mode 100644
index 000000000..ae3c17260
--- /dev/null
+++ b/plugins/org.polarsys.chess.service/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/plugins/org.polarsys.chess.service/.project b/plugins/org.polarsys.chess.service/.project
new file mode 100644
index 000000000..24261258d
--- /dev/null
+++ b/plugins/org.polarsys.chess.service/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.polarsys.chess.service</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
diff --git a/plugins/org.polarsys.chess.service/.settings/org.eclipse.jdt.core.prefs b/plugins/org.polarsys.chess.service/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 000000000..11f6e462d
--- /dev/null
+++ b/plugins/org.polarsys.chess.service/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
+org.eclipse.jdt.core.compiler.compliance=1.7
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.7
diff --git a/plugins/org.polarsys.chess.service/META-INF/MANIFEST.MF b/plugins/org.polarsys.chess.service/META-INF/MANIFEST.MF
new file mode 100644
index 000000000..e392efb71
--- /dev/null
+++ b/plugins/org.polarsys.chess.service/META-INF/MANIFEST.MF
@@ -0,0 +1,26 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: Service
+Bundle-SymbolicName: org.polarsys.chess.service;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Bundle-Activator: org.polarsys.chess.service.Activator
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.papyrus.infra.core,
+ org.eclipse.emf.transaction,
+ org.polarsys.chess.core,
+ org.eclipse.ui.workbench,
+ org.eclipse.jface,
+ org.eclipse.ui;bundle-version="3.106.0",
+ org.eclipse.emf.cdo.ui.ide;bundle-version="4.1.100",
+ org.eclipse.gef,
+ org.eclipse.papyrus.editor,
+ org.eclipse.gmf.runtime.diagram.ui,
+ org.eclipse.uml2.uml,
+ org.eclipse.papyrus.views.modelexplorer,
+ org.eclipse.papyrus.emf.facet.custom.metamodel,
+ com.google.guava,
+ org.eclipse.papyrus.infra.gmfdiag.common,
+ org.eclipse.uml2.uml.resources
+Bundle-RequiredExecutionEnvironment: JavaSE-1.7
+Export-Package: org.polarsys.chess.service.utils
+Bundle-ActivationPolicy: lazy
diff --git a/plugins/org.polarsys.chess.service/about.html b/plugins/org.polarsys.chess.service/about.html
new file mode 100644
index 000000000..209103075
--- /dev/null
+++ b/plugins/org.polarsys.chess.service/about.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+ 
+<p>November 14, 2008</p>	
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
+being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content.  Check the Redistributor's license that was 
+provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
+
+</body>
+</html>
\ No newline at end of file
diff --git a/plugins/org.polarsys.chess.service/build.properties b/plugins/org.polarsys.chess.service/build.properties
new file mode 100644
index 000000000..983cdc39a
--- /dev/null
+++ b/plugins/org.polarsys.chess.service/build.properties
@@ -0,0 +1,7 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+               .,\
+               plugin.xml,\
+               icons/,\
+               about.html
diff --git a/plugins/org.polarsys.chess.service/icons/AnalysisView.gif b/plugins/org.polarsys.chess.service/icons/AnalysisView.gif
new file mode 100644
index 0000000000000000000000000000000000000000..ad6b064530dc77c4944844edc7163d6885139f17
GIT binary patch
literal 73
zcmZ?wbhEHb6krfwXkcVu_|NeF|9{1wER0+Xj0`#qKmd|qU{dJm&phyU-@KH<eOc1y
a64LV<Cu>X$Kj4_*wRX))txbUp4AuYz{TIjp

literal 0
HcmV?d00001

diff --git a/plugins/org.polarsys.chess.service/icons/CHESSicon.gif b/plugins/org.polarsys.chess.service/icons/CHESSicon.gif
new file mode 100644
index 0000000000000000000000000000000000000000..1659c3fec7f988789d2ce4d6a6c770eab90089bf
GIT binary patch
literal 612
zcmZ?wbhEHb6krfwI9AHQ!_LXa#Vx?YE6Bquz{@AZ$1lP!ASNU%AtEXzCN3>5AtNCv
zD=8%>C9NPUrz9t@sj8-}uBok|VW6XHq^ECeU}$P&WMOJ*X=d){?GqXl6dDwq5Eqx7
znfcyV`n|twVSav5enC+|;fG+Q4<RZgg+(7iR6m5Oeh5?h5T^biOyfhi`iF4M@{-bz
z5gH#OG%L%?KSt|)j5qq2X!<eP@?(l+V}1R{RO_~umXEovpYq&3<$H8>bar=j_4oEo
zoG@Y1goz6mELgH=@$#k1RxV$$Vcoh7>(+1Duwm22O`A7u`o5%l>y|Cswr>5ta?;Kn
zJASU7ylwa1-|MFDK6v=xfdfCbFZr<ph?X8de(dD&6F>K?{<&|>&wXppojv#K<nCYR
z4&J(X^Uj?+_wV0-{OHk(7cahi{`~FRx9{J-|M>Ca=g*)2etiG)`}e=!zy1Kh-+zCB
z;2#A1|MUO<-~a#r{U;0*f3h%gG1N2YFaQB4P8iq^Hk39s7qm9Fca&xnl%{ny^#pS<
z+gmX4g_rg;do(2&G^r*xxi_VYGD!Havna|kar%icif8pCHAR>;>BclA&N}GoDJkS&
zD<JLdb}+?BfS1#*G%qj5hJ#noCAHL1n1`QLrb&v8pIgj%LTP}~f#!IHpo2ZJR)NL&
zt+~bi)^R3F7k+%`$|dUi<V;{v(ot@H%WD@_2DcvN6xR%x;qkD^g-5qkjcv11^O0_G
b<*XdewhqCmlIEK>)P$(>S-UhcFjxZs;b|(N

literal 0
HcmV?d00001

diff --git a/plugins/org.polarsys.chess.service/icons/CHESSsuperuser.gif b/plugins/org.polarsys.chess.service/icons/CHESSsuperuser.gif
new file mode 100644
index 0000000000000000000000000000000000000000..23b5cdea13be0deef09dab7ad78aac6edbbf8c7d
GIT binary patch
literal 594
zcmZ?wbhEHb6krfwI2OwAF+%fWq}Ins?T=A9AER|YM(cfy(fb&y|1s9!W1Qi~c%zR=
zW*?I+KBZWEO0)iyZu=?2_EV<)r!2=$*-oEwoImBce#&?MT;TD!$m?@iz~_pf&sCwH
ztHZw3gny}z`O=#7r7h)aSLWBAoUeU(UndlOomlj3TE(|%mEWdUeVbMHZFc>)IgQ`u
zHGf~w_I*+N_oY4Gm-l^NIr00dNk7(3`?+`Z&wZ<Z9$5G5@TOnKcl<iB^Vi8;zfSG`
zb$aiwvj={iKluC7(cf23{=RkL&z(zu?p^(J|Jt92H~+qP^!MfCzptMBef#3?+n0ae
zzxw<B_1{nL|9$@O@7tGu-@pF*@$KKA-~ayp`S<VN|A7XIKUo;L80r~x7=Qp2Ck*WC
z8$um*nHbvI+xZ<sy+l~F7?|XYGzA#cco{^zWX07*7<Ga}Lw!`)7&uvExg<4MI4qYe
z@#kX@Hs#?`QfQO1aP#o+v@)}C;g(=v={T$GqbT8|fA%b+FuT)I83yjF?S_j(?O6>1
zogJLrO@tVvy*Gy%Gl+`mhb&QHwf?w7zFpYKWyh8NkjZ5oN)NOnSlJtd%wrfN4i#MM
cVsw^kS?$4fs+B=zM!}p=mjk^`jSLLd0O_)6&;S4c

literal 0
HcmV?d00001

diff --git a/plugins/org.polarsys.chess.service/icons/ComponentView.gif b/plugins/org.polarsys.chess.service/icons/ComponentView.gif
new file mode 100644
index 0000000000000000000000000000000000000000..efcf7067509176bedefd59b10c06dd068cae8d24
GIT binary patch
literal 73
zcmZ?wbhEHb6krfwXkcWJVfhaPia%KxxfmE3bQpjDB*Va@(9@rJ;O)M7DTVv8q|YU!
Y=QmE)m>7P*F~e)^nw46c0vQ;r0StN<=l}o!

literal 0
HcmV?d00001

diff --git a/plugins/org.polarsys.chess.service/icons/DependabilityAnalysisView.gif b/plugins/org.polarsys.chess.service/icons/DependabilityAnalysisView.gif
new file mode 100644
index 0000000000000000000000000000000000000000..ad6b064530dc77c4944844edc7163d6885139f17
GIT binary patch
literal 73
zcmZ?wbhEHb6krfwXkcVu_|NeF|9{1wER0+Xj0`#qKmd|qU{dJm&phyU-@KH<eOc1y
a64LV<Cu>X$Kj4_*wRX))txbUp4AuYz{TIjp

literal 0
HcmV?d00001

diff --git a/plugins/org.polarsys.chess.service/icons/DependabilityView.gif b/plugins/org.polarsys.chess.service/icons/DependabilityView.gif
new file mode 100644
index 0000000000000000000000000000000000000000..ad6b064530dc77c4944844edc7163d6885139f17
GIT binary patch
literal 73
zcmZ?wbhEHb6krfwXkcVu_|NeF|9{1wER0+Xj0`#qKmd|qU{dJm&phyU-@KH<eOc1y
a64LV<Cu>X$Kj4_*wRX))txbUp4AuYz{TIjp

literal 0
HcmV?d00001

diff --git a/plugins/org.polarsys.chess.service/icons/DeploymentView.gif b/plugins/org.polarsys.chess.service/icons/DeploymentView.gif
new file mode 100644
index 0000000000000000000000000000000000000000..9f87d23495f29101d705f04d11815facaf3ca4e9
GIT binary patch
literal 73
zcmZ?wbhEHb6krfwXkcV`Y-jiX|9{1wER0+Xj0`#qKmd|qU{dJm&phyU-@KH<eOc1y
a64LV<Cu>X$Kj4_*wRX))txbUp4AuY~!Wbw3

literal 0
HcmV?d00001

diff --git a/plugins/org.polarsys.chess.service/icons/ExtraFunctionalView.gif b/plugins/org.polarsys.chess.service/icons/ExtraFunctionalView.gif
new file mode 100644
index 0000000000000000000000000000000000000000..42ed01982dc4d10fe0281b08d21f5fe6fce833e8
GIT binary patch
literal 73
zcmZ?wbhEHb6krfwXkcXc^Pl1W|Nn|VSs1w(7#VaJfB+=Jz@*UApLyWzzIiEy`?93Z
aC8Xy!PS%(he!wxqYwenqTAKnH7_0$74H(1#

literal 0
HcmV?d00001

diff --git a/plugins/org.polarsys.chess.service/icons/NullView.gif b/plugins/org.polarsys.chess.service/icons/NullView.gif
new file mode 100644
index 0000000000000000000000000000000000000000..4a4ffc893584c0601709ebe468c950498661615f
GIT binary patch
literal 859
zcmZ?wbhEHb6krfwc>aL_2v#tx_!AQHCj?0T`Lp8BpFa!`3djVqfWiz6e;7hmFffDw
z!KnJt@EOeM;XjE$@h1x-7sG!B9Z*gH<p~B33x@xkG9DWi9AM`V)(WX8Sm@lsE3en1
pVW@bti(fD7ipIpp&i#Cjet+60DxRDq;J-*D^U?zEMn*;kYXDSD<IMm7

literal 0
HcmV?d00001

diff --git a/plugins/org.polarsys.chess.service/icons/RTAnalysisView.gif b/plugins/org.polarsys.chess.service/icons/RTAnalysisView.gif
new file mode 100644
index 0000000000000000000000000000000000000000..ad6b064530dc77c4944844edc7163d6885139f17
GIT binary patch
literal 73
zcmZ?wbhEHb6krfwXkcVu_|NeF|9{1wER0+Xj0`#qKmd|qU{dJm&phyU-@KH<eOc1y
a64LV<Cu>X$Kj4_*wRX))txbUp4AuYz{TIjp

literal 0
HcmV?d00001

diff --git a/plugins/org.polarsys.chess.service/icons/RailwayView.gif b/plugins/org.polarsys.chess.service/icons/RailwayView.gif
new file mode 100644
index 0000000000000000000000000000000000000000..222308c6a8942d2d534748dc0f5c8cf56cbd19d8
GIT binary patch
literal 73
zcmZ?wbhEHb6krfwXkcWR&C~S%|9{1wER0+Xj0`#qKmd|qU{dJm&phyU-@KH<eOc1y
a64LV<Cu>X$Kj4_*wRX))txbUp4AuY-#24}a

literal 0
HcmV?d00001

diff --git a/plugins/org.polarsys.chess.service/icons/RequirementView.gif b/plugins/org.polarsys.chess.service/icons/RequirementView.gif
new file mode 100644
index 0000000000000000000000000000000000000000..1f33ef8f6823f2e7a2a433abd8f7f0d13579e3bd
GIT binary patch
literal 73
zcmZ?wbhEHb6krfwXkcXcznkIz|Nn|VSs1w(7#VaJfB+=Jz@*UApLyWzzIiEy`?93Z
aC8Xy!PS%(he!wxqYwenqTAKnH7_0#@6&Qm6

literal 0
HcmV?d00001

diff --git a/plugins/org.polarsys.chess.service/icons/switch.gif b/plugins/org.polarsys.chess.service/icons/switch.gif
new file mode 100644
index 0000000000000000000000000000000000000000..f18b93560d873c42bdd621e07dcd91e201f7070e
GIT binary patch
literal 114
zcmZ?wbhEHb6krfwIK<2V1TrlD|NLk8j|vojvM_QnFf-_YRDjenFq>QKx+5i^_rPrm
zb3nQCHHFKXQkrp-clKQE(sPorU$1n2ZLRTbvpY<3naocby<FX2ZVx^*%hH{R!5RQs
CeJzRr

literal 0
HcmV?d00001

diff --git a/plugins/org.polarsys.chess.service/icons/switchDEP.gif b/plugins/org.polarsys.chess.service/icons/switchDEP.gif
new file mode 100644
index 0000000000000000000000000000000000000000..2bb8aecfe76ef6f24908093f0d22cfc29f85ab33
GIT binary patch
literal 100
zcmZ?wbhEHb6krfwSjfx(1dr|P82&T-|Nmd{CkrDN12cmTNE9T`z+^h7Kl4z{0=Hsj
z2UFLrGO5Xp_r7!-7oYn?aLe0GQtxJ;GA@ceEc4*O(ZhvKj;<Ny#+xRYx-v3Y0|5Ub
BBXIx#

literal 0
HcmV?d00001

diff --git a/plugins/org.polarsys.chess.service/icons/switchRAIL.gif b/plugins/org.polarsys.chess.service/icons/switchRAIL.gif
new file mode 100644
index 0000000000000000000000000000000000000000..8b64dc31a85437a8c757dd0f8db0de799de38b80
GIT binary patch
literal 100
zcmZ?wbhEHb6krfwSjfx(1TrlDXY(}u|Nmd{CkrDN12cmTNE9T`z+^h7Kl5PC0=Hsj
z2UF**GO5Xp_r7!-7oYn?am(9HQtxJ;GA@cetn=W((ZhvKj;<Ny#+xRYx-v3Y0|5A^
BBX|G+

literal 0
HcmV?d00001

diff --git a/plugins/org.polarsys.chess.service/plugin.xml b/plugins/org.polarsys.chess.service/plugin.xml
new file mode 100644
index 000000000..b0b49d11e
--- /dev/null
+++ b/plugins/org.polarsys.chess.service/plugin.xml
@@ -0,0 +1,430 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<plugin>
+   <extension
+         point="org.eclipse.ui.services">
+      <sourceProvider
+            provider="org.polarsys.chess.service.commands.SwitchSourceProvider">
+         <variable
+               name="org.polarsys.chess.service.commands.switchState"
+               priorityLevel="workbench">
+         </variable>
+      </sourceProvider>
+   </extension>
+   <extension
+         point="org.eclipse.papyrus.infra.core.service">
+      <serviceFactory
+            classname="org.polarsys.chess.service.CHESSServiceFactory"
+            description="The service loading CHESS editor support"
+            id="org.polarsys.chess.service.CHESSService"
+            priority="1"
+            startKind="startup">
+            <dependsOn
+               serviceKeyRef="org.eclipse.papyrus.infra.core.resource.ModelSet">
+         </dependsOn>
+      </serviceFactory>
+   </extension>
+   <extension
+         point="org.eclipse.ui.commands">
+      <command
+            categoryId="org.polarsys.chess.commands.category"
+            description="Activate Extra-Functional View"
+            id="org.polarsys.chess.service.switchEFCommand"
+            name="Activate Extra-Functional View">
+         <state
+               class="org.eclipse.ui.handlers.RegistryToggleState:false"
+               id="org.eclipse.ui.commands.toggleState">
+         </state>
+      </command>
+      <command
+            categoryId="org.polarsys.chess.commands.category"
+            description="Activate Railway View"
+            id="org.polarsys.chess.service.switchRailCommand"
+            name="Activate Railway View">
+         <state
+               class="org.eclipse.ui.handlers.RegistryToggleState:false"
+               id="org.eclipse.ui.commands.toggleState">
+         </state>
+      </command>
+      <command
+            categoryId="org.polarsys.chess.commands.category"
+            description="Activate Dependability View"
+            id="org.polarsys.chess.service.switchDEPCommand"
+            name="Activate Dependability View">
+         <state
+               class="org.eclipse.ui.handlers.RegistryToggleState:false"
+               id="org.eclipse.ui.commands.toggleState">
+         </state>
+      </command>
+      <category
+            description="CHESS Commands"
+            id="org.polarsys.chess.commands.category"
+            name="CHESS">
+      </category>
+      <command
+            categoryId="org.polarsys.chess.commands.category"
+            defaultHandler="org.polarsys.chess.service.commands.CurrentViewStatus"
+            description="Shows the active design view"
+            id="org.polarsys.chess.service.CurrentViewStatus"
+            name="CurrentView">
+      </command>
+   </extension>
+   <extension
+         point="org.eclipse.ui.menus">
+      <menuContribution
+            locationURI="toolbar:org.eclipse.ui.main.toolbar">
+         <toolbar
+               id="org.polarsys.chess.toolbar"
+               label="CHESS Toolbar">
+            <command
+                  commandId="org.polarsys.chess.service.switchEFCommand"
+                  icon="icons/switch.gif"
+                  id="org.polarsys.chess.service.switchEFCommandToolbar"
+                  label="Activate extra-functional view"
+                  style="toggle">
+               <visibleWhen
+                     checkEnabled="false">
+                  <and>
+                     <with
+                           variable="activeEditorInput">
+                        <adapt
+                              type="org.eclipse.core.resources.IResource">
+                           <test
+                                 property="org.eclipse.core.resources.projectNature"
+                                 value="org.polarsys.chess.CHESSNature">
+                           </test>
+                        </adapt>
+                     </with>
+                  </and>
+               </visibleWhen>
+            </command>
+         </toolbar>
+         <toolbar
+               id="org.polarsys.chess.toolbar"
+               label="CHESS Toolbar">
+            <command
+                  commandId="org.polarsys.chess.service.switchRailCommand"
+                  icon="icons/switchRAIL.gif"
+                  id="org.polarsys.chess.service.switchRailCommandToolbar"
+                  label="Activate Railway view"
+                  style="toggle">
+               <visibleWhen
+                     checkEnabled="false">
+                  <and>
+                     <with
+                           variable="activeEditorInput">
+                        <adapt
+                              type="org.eclipse.core.resources.IResource">
+                           <test
+                                 property="org.eclipse.core.resources.projectNature"
+                                 value="org.polarsys.chess.CHESSNature">
+                           </test>
+                        </adapt>
+                     </with>
+                  </and>
+               </visibleWhen>
+            </command>
+         </toolbar>
+         <toolbar
+               id="org.polarsys.chess.toolbar"
+               label="CHESS Toolbar">
+            <command
+                  commandId="org.polarsys.chess.service.switchDEPCommand"
+                  icon="icons/switchDEP.gif"
+                  id="org.polarsys.chess.service.switchDEPCommandToolbar"
+                  label="Activate Dependability view"
+                  style="toggle">
+               <visibleWhen
+                     checkEnabled="false">
+                  <and>
+                     <with
+                           variable="activeEditorInput">
+                        <adapt
+                              type="org.eclipse.core.resources.IResource">
+                           <test
+                                 property="org.eclipse.core.resources.projectNature"
+                                 value="org.polarsys.chess.CHESSNature">
+                           </test>
+                        </adapt>
+                     </with>
+                  </and>
+               </visibleWhen>
+            </command>
+         </toolbar>
+         <toolbar
+               id="org.polarsys.chess.statustoolbar"
+               label="CHESS Status Toolbar">
+            <command
+                  commandId="org.polarsys.chess.service.CurrentViewStatus"
+                  icon="icons/NullView.gif"
+                  style="push">
+               <visibleWhen
+                     checkEnabled="false">
+                  <and>
+                     <with
+                           variable="activeEditorInput">
+                        <adapt
+                              type="org.eclipse.core.resources.IResource">
+                           <test
+                                 property="org.eclipse.core.resources.projectNature"
+                                 value="org.polarsys.chess.CHESSNature">
+                           </test>
+                        </adapt>
+                     </with>
+                  </and>
+               </visibleWhen>
+            </command>
+         </toolbar>
+      </menuContribution>
+      <menuContribution
+            allPopups="false"
+            locationURI="menu:org.eclipse.ui.main.menu">
+         <menu
+               id="org.polarsys.chess.mainMenu"
+               label="CHESS"
+               mnemonic="E">
+            <command
+                  commandId="org.polarsys.chess.service.switchEFCommand"
+                  icon="icons/switch.gif"
+                  id="org.polarsys.chess.service.switchEFCommandMenu"
+                  label="Activate extra-functional view"
+                  mnemonic="S"
+                  style="toggle">
+               <visibleWhen
+                     checkEnabled="false">
+                  <and>
+                     <with
+                           variable="activeEditorInput">
+                        <adapt
+                              type="org.eclipse.core.resources.IResource">
+                           <test
+                                 property="org.eclipse.core.resources.projectNature"
+                                 value="org.polarsys.chess.CHESSNature">
+                           </test>
+                        </adapt>
+                     </with>
+                  </and>
+               </visibleWhen>
+            </command>
+         </menu>
+      </menuContribution>
+      <menuContribution
+            allPopups="false"
+            locationURI="menu:org.eclipse.ui.main.menu">
+         <menu
+               id="org.polarsys.chess.mainMenu"
+               label="CHESS"
+               mnemonic="E">
+            <command
+                  commandId="org.polarsys.chess.service.switchRailCommand"
+                  icon="icons/switchRAIL.gif"
+                  id="org.polarsys.chess.service.switchRailCommandMenu"
+                  label="Activate Railway view"
+                  mnemonic="R"
+                  style="toggle">
+               <visibleWhen
+                     checkEnabled="false">
+                  <and>
+                     <with
+                           variable="activeEditorInput">
+                        <adapt
+                              type="org.eclipse.core.resources.IResource">
+                           <test
+                                 property="org.eclipse.core.resources.projectNature"
+                                 value="org.polarsys.chess.CHESSNature">
+                           </test>
+                        </adapt>
+                     </with>
+                  </and>
+               </visibleWhen>
+            </command>
+            <visibleWhen
+                  checkEnabled="false">
+               <and>
+                  <with
+                        variable="activeEditorInput">
+                     <adapt
+                           type="org.eclipse.core.resources.IResource">
+                        <test
+                              property="org.eclipse.core.resources.projectNature"
+                              value="org.polarsys.chess.CHESSNature">
+                        </test>
+                     </adapt>
+                  </with>
+               </and>
+            </visibleWhen>
+         </menu>
+      </menuContribution>
+      <menuContribution
+            allPopups="false"
+            locationURI="menu:org.eclipse.ui.main.menu">
+         <menu
+               id="org.polarsys.chess.mainMenu"
+               label="CHESS"
+               mnemonic="E">
+            <command
+                  commandId="org.polarsys.chess.service.switchDEPCommand"
+                  icon="icons/switchDEP.gif"
+                  id="org.polarsys.chess.service.switchDEPCommandMenu"
+                  label="Activate Dependability view"
+                  mnemonic="p"
+                  style="toggle">
+            </command>
+            <visibleWhen
+                  checkEnabled="false">
+               <and>
+                  <with
+                        variable="activeEditorInput">
+                     <adapt
+                           type="org.eclipse.core.resources.IResource">
+                        <test
+                              property="org.eclipse.core.resources.projectNature"
+                              value="org.polarsys.chess.CHESSNature">
+                        </test>
+                     </adapt>
+                  </with>
+               </and>
+            </visibleWhen>
+         </menu>
+      </menuContribution>
+      <menuContribution
+            allPopups="false"
+            locationURI="toolbar:org.eclipse.ui.main.toolbar">
+         <toolbar
+               id="org.polarsys.chess.toolbarDebug"
+               label="CHESS Debug Toolbar">
+            <command
+                  commandId="org.polarsys.chess.command.superuser"
+                  icon="icons/CHESSsuperuser.gif"
+                  style="push">
+               <visibleWhen
+                     checkEnabled="false">
+                  <and>
+                     <with
+                           variable="activeEditorInput">
+                        <adapt
+                              type="org.eclipse.core.resources.IResource">
+                           <test
+                                 property="org.eclipse.core.resources.projectNature"
+                                 value="org.polarsys.chess.CHESSNature">
+                           </test>
+                        </adapt>
+                     </with>
+                  </and>
+               </visibleWhen>
+            </command>
+         </toolbar>
+      </menuContribution>
+   </extension>
+   <extension
+         point="org.eclipse.ui.handlers">
+      <handler
+            class="org.polarsys.chess.service.commands.SwitchToExtraFunctional"
+            commandId="org.polarsys.chess.service.switchEFCommand">
+         <enabledWhen>
+            <with
+                  variable="org.polarsys.chess.service.commands.switchState">
+               <or>
+                  <equals
+                        value="ExtraFunctionalView">
+                  </equals>
+                  <equals
+                        value="ComponentView">
+                  </equals>
+               </or>
+            </with>
+         </enabledWhen>
+      </handler>
+   </extension>
+   <extension
+         point="org.eclipse.ui.handlers">
+      <handler
+            class="org.polarsys.chess.service.commands.SwitchToRailway"
+            commandId="org.polarsys.chess.service.switchRailCommand">
+         <enabledWhen>
+            <with
+                  variable="org.polarsys.chess.service.commands.switchState">
+               <or>
+                  <equals
+                        value="ExtraFunctionalView">
+                  </equals>
+                  <equals
+                        value="ExtraFunctionalView-RailwayView">
+                  </equals>
+               </or>
+            </with>
+         </enabledWhen>
+      </handler>
+   </extension>
+   <extension
+         point="org.eclipse.ui.handlers">
+      <handler
+            class="org.polarsys.chess.service.commands.SwitchToDependability"
+            commandId="org.polarsys.chess.service.switchDEPCommand">
+         <enabledWhen>
+            <with
+                  variable="org.polarsys.chess.service.commands.switchState">
+               <or>
+                  <equals
+                        value="DependabilityView">
+                  </equals>
+                  <equals
+                        value="DeploymentView">
+                  </equals>
+               </or>
+            </with>
+         </enabledWhen>
+      </handler>
+   </extension>
+   <extension
+         point="org.polarsys.chess.selectionListener">
+      <listener
+            name="selection listener"
+            realization="org.polarsys.chess.service.SelectionListener">
+      </listener>
+   </extension>
+   <extension
+         point="org.eclipse.ui.commands">
+      <category
+            description="CHESS Debug Commands"
+            id="org.polarsys.chess.categoryDebug"
+            name="CHESS Debug Commands">
+      </category>
+      <command
+            categoryId="org.polarsys.chess.categoryDebug"
+            defaultHandler="org.polarsys.chess.service.commands.SupersuserToggleCommand"
+            id="org.polarsys.chess.command.superuser"
+            name="disable the checking of read/write permissions">
+      </command>
+   </extension>
+   <!--<extension
+         point="org.eclipse.ui.menus">
+      <menuContribution
+            allPopups="false"
+            locationURI="toolbar:org.eclipse.ui.main.toolbar">
+         <toolbar
+               id="org.polarsys.chess.toolbarDebug"
+               label="chess.toolbarDebug">
+            <command
+                  commandId="org.polarsys.chess.command.superuser"
+                  icon="icons/CHESSsuperuser.gif"
+                  label="xml"
+                  style="toggle">
+            </command>
+            <visibleWhen
+                  checkEnabled="false">
+              
+                  <with
+	                     variable="activeEditorId">
+	                  <equals
+	                        value="org.eclipse.papyrus.infra.core.papyrusEditor">
+	                  </equals>
+	               </with>
+                   
+              
+            </visibleWhen>
+         </toolbar>
+      </menuContribution>
+   </extension>-->
+
+</plugin>
diff --git a/plugins/org.polarsys.chess.service/src/org/polarsys/chess/service/Activator.java b/plugins/org.polarsys.chess.service/src/org/polarsys/chess/service/Activator.java
new file mode 100644
index 000000000..42b006918
--- /dev/null
+++ b/plugins/org.polarsys.chess.service/src/org/polarsys/chess/service/Activator.java
@@ -0,0 +1,55 @@
+/*
+-----------------------------------------------------------------------
+--          			CHESS core plugin							 --
+--                                                                   --
+--                    Copyright (C) 2014                        --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author: Alessandro Zovi         azovi@math.unipd.it               --
+--                                                                   --
+-- All rights reserved. This program and the accompanying materials  --
+-- are made available under the terms of the Eclipse Public License  --
+-- v1.0 which accompanies this distribution, and is available at     --
+-- http://www.eclipse.org/legal/epl-v10.html                         --
+-----------------------------------------------------------------------
+*/
+
+package org.polarsys.chess.service;
+
+import org.osgi.framework.BundleActivator;
+import org.osgi.framework.BundleContext;
+
+public class Activator implements BundleActivator {
+
+	private static BundleContext context;
+
+	public static final String PLUGIN_ID = "org.polarsys.chess.service"; //$NON-NLS-1$
+
+	// The shared instance
+	private static Activator plugin;
+
+	static BundleContext getContext() {
+		return context;
+	}
+
+	public void start(BundleContext bundleContext) throws Exception {
+		Activator.context = bundleContext;
+		plugin = this;
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see
+	 * org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext)
+	 */
+	public void stop(BundleContext bundleContext) throws Exception {
+		Activator.context = null;
+		plugin = null;
+	}
+
+	public static Activator getDefault() {
+		return plugin;
+	}
+
+}
diff --git a/plugins/org.polarsys.chess.service/src/org/polarsys/chess/service/CHESSService.java b/plugins/org.polarsys.chess.service/src/org/polarsys/chess/service/CHESSService.java
new file mode 100644
index 000000000..5bc9ae8a2
--- /dev/null
+++ b/plugins/org.polarsys.chess.service/src/org/polarsys/chess/service/CHESSService.java
@@ -0,0 +1,175 @@
+/*
+-----------------------------------------------------------------------
+--          			CHESS core plugin							 --
+--                                                                   --
+--                    Copyright (C) 2014                        --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author: Alessandro Zovi         azovi@math.unipd.it               --
+--                                                                   --
+-- All rights reserved. This program and the accompanying materials  --
+-- are made available under the terms of the Eclipse Public License  --
+-- v1.0 which accompanies this distribution, and is available at     --
+-- http://www.eclipse.org/legal/epl-v10.html                         --
+-----------------------------------------------------------------------
+*/
+
+package org.polarsys.chess.service;
+
+import java.net.URL;
+import java.util.Hashtable;
+
+import org.eclipse.core.runtime.FileLocator;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.papyrus.editor.PapyrusMultiDiagramEditor;
+import org.eclipse.papyrus.infra.core.resource.ModelSet;
+import org.eclipse.papyrus.infra.core.sasheditor.editor.ISashWindowsContainer;
+import org.eclipse.papyrus.infra.core.services.ServiceException;
+import org.eclipse.papyrus.infra.core.services.ServicesRegistry;
+import org.eclipse.papyrus.infra.core.utils.ServiceUtils;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.IWorkbenchPage;
+import org.eclipse.ui.IWorkbenchPart;
+import org.polarsys.chess.core.profiles.CHESSProfileManager;
+import org.polarsys.chess.core.resourcelistener.ResourceSetListenerManager;
+import org.polarsys.chess.core.resourcelistener.SelectionListenerManager;
+import org.polarsys.chess.core.views.DiagramStatus;
+import org.polarsys.chess.service.utils.CHESSEditorUtils;
+
+public class CHESSService {
+	private static final String ICON_LOCATION = "org.polarsys.chess.service";
+	public static Hashtable<String, ImageDescriptor> viewIcons = new Hashtable<String, ImageDescriptor>();
+	private ISashWindowsContainer container;
+	private ServicesRegistry serviceRegistry;
+	private DiagramStatus diagramStatus;
+	private SelectionListenerManager selectionListener;
+	private ResourceSetListenerManager resourceListener;
+	private TransactionalEditingDomain editingDomain;
+	private IEditorPart currentEditor;
+	private IWorkbenchPage currentPage;
+	
+	public CHESSService(ISashWindowsContainer container, ServicesRegistry registry) {
+		this.container = container;
+		serviceRegistry = registry;
+	}
+
+	public boolean start(IWorkbenchPart part) {
+		
+			IEditorPart activeEditor = container.getActiveEditor();
+			ISashWindowsContainer t;
+			
+			
+			if (activeEditor!=null && CHESSEditorUtils.isCHESSProject(activeEditor)) {
+				initializeCHESS(activeEditor);
+				return true;
+			}
+			if (activeEditor == null) {
+				//waitForActiveEditor();
+				//return true;
+				try {
+					if (part instanceof PapyrusMultiDiagramEditor){
+						PapyrusMultiDiagramEditor editor =  (PapyrusMultiDiagramEditor)part;
+						serviceRegistry = (ServicesRegistry)editor.getAdapter(ServicesRegistry.class);
+						container = serviceRegistry.getService(ISashWindowsContainer.class);
+						IEditorPart e= container.getActiveEditor();
+						if (CHESSEditorUtils.isCHESSProject(editor)) {
+							initializeCHESS(editor);
+							return true;
+						}
+					}
+					
+				} catch (ServiceException e1) {
+					// TODO Auto-generated catch block
+					e1.printStackTrace();
+				}
+			}
+			return false;
+
+	}
+
+	private void initializeCHESS(IEditorPart activeEditor) {
+		System.err.println("CHESS Service initialized...");
+		ModelSet modelSet = null;
+		//ISashWindowsContainer container = null;
+		try {
+			modelSet = serviceRegistry.getService(ModelSet.class);
+
+			container = ServiceUtils.getInstance().getISashWindowsContainer(
+					serviceRegistry);
+
+			diagramStatus = new DiagramStatus(
+					container.getActiveSashWindowsPage());
+			editingDomain = modelSet
+					.getTransactionalEditingDomain();
+
+			CHESSProfileManager
+					.loadCHESSProfile(editingDomain.getResourceSet());
+			
+			//let plugins to load external profiles
+			CHESSProfileManager.loadExternalProfiles(editingDomain.getResourceSet());
+
+			resourceListener = new ResourceSetListenerManager(
+					serviceRegistry);
+			
+			editingDomain
+					.addResourceSetListener(resourceListener);
+
+			//serviceRegistry.add(DiagramStatus.class, 5, diagramStatus);
+
+			selectionListener = new SelectionListenerManager(
+					serviceRegistry);
+			currentEditor = activeEditor;
+			currentPage = currentEditor.getSite().getPage();
+			currentPage.addSelectionListener(selectionListener);
+
+			loadIcons();
+		} catch (ServiceException e) {
+			e.printStackTrace();
+		}
+	}
+	
+	public void stopService(){
+		currentPage.removeSelectionListener(selectionListener);
+		editingDomain.removeResourceSetListener(resourceListener);
+	}
+
+	private void loadIcons() {
+		// Load view icons
+		
+		if (!viewIcons.keySet().isEmpty()){
+			return;
+		}
+		
+		URL nullFile = FileLocator.find(Platform
+				.getBundle(ICON_LOCATION), new Path(
+				"icons/NullView.gif"), null);
+
+		ImageDescriptor icon = ImageDescriptor.createFromURL(nullFile);
+		viewIcons.put(CHESSProfileManager.NULL_VIEW, icon);
+
+		for (String v : CHESSProfileManager.CHESS_VIEWS_LIST) {
+			URL file = FileLocator.find(
+					Platform.getBundle(ICON_LOCATION),
+					new Path("icons/" + v + ".gif"), null);
+			if (file != null) {
+				icon = ImageDescriptor.createFromURL(file);
+			} else {
+				icon = ImageDescriptor.createFromURL(nullFile);
+			}
+			viewIcons.put(v, icon);
+		}
+	}
+
+	public void unload() {
+		// TODO Auto-generated method stub
+		
+	}
+
+	public DiagramStatus getDiagramStatus() {
+		return diagramStatus;
+	}
+
+}
diff --git a/plugins/org.polarsys.chess.service/src/org/polarsys/chess/service/CHESSServiceFactory.java b/plugins/org.polarsys.chess.service/src/org/polarsys/chess/service/CHESSServiceFactory.java
new file mode 100644
index 000000000..fd58e88c6
--- /dev/null
+++ b/plugins/org.polarsys.chess.service/src/org/polarsys/chess/service/CHESSServiceFactory.java
@@ -0,0 +1,126 @@
+/*
+-----------------------------------------------------------------------
+--          			CHESS core plugin							 --
+--                                                                   --
+--                    Copyright (C) 2014                        --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author: Alessandro Zovi         azovi@math.unipd.it               --
+--                                                                   --
+-- All rights reserved. This program and the accompanying materials  --
+-- are made available under the terms of the Eclipse Public License  --
+-- v1.0 which accompanies this distribution, and is available at     --
+-- http://www.eclipse.org/legal/epl-v10.html                         --
+-----------------------------------------------------------------------
+*/
+
+package org.polarsys.chess.service;
+
+import org.eclipse.papyrus.editor.PapyrusMultiDiagramEditor;
+import org.eclipse.papyrus.infra.core.resource.ModelSet;
+import org.eclipse.papyrus.infra.core.sasheditor.editor.ISashWindowsContainer;
+import org.eclipse.papyrus.infra.core.services.IServiceFactory;
+import org.eclipse.papyrus.infra.core.services.ServiceException;
+import org.eclipse.papyrus.infra.core.services.ServicesRegistry;
+import org.eclipse.ui.IPartListener;
+import org.eclipse.ui.IWindowListener;
+import org.eclipse.ui.IWorkbenchPart;
+import org.eclipse.ui.IWorkbenchWindow;
+import org.eclipse.ui.PlatformUI;
+
+public class CHESSServiceFactory implements IServiceFactory {
+
+	private CHESSService service;
+	private ServicesRegistry serviceRegistry;
+	private ISashWindowsContainer container;
+
+	/*
+	 * This service attach a PartListener upon its initialization to retrieve the needed ISashWindowsContainer service.
+	 * The ISashWindowsContainer service, in fact, is available only after the
+	 * actual service registry initialization (it is not strictly part of the service framework).
+	 * 
+	 * Once the CHESS service is correctly started, the listener is removed.
+	 * */
+	
+	@Override
+	public void init(ServicesRegistry servicesRegistry) throws ServiceException {
+		this.serviceRegistry = servicesRegistry;
+		IWorkbenchWindow w = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
+		w.getPartService().addPartListener(new IPartListener() {
+			
+			private void execute(IWorkbenchPart part) {
+				if (part instanceof PapyrusMultiDiagramEditor) {
+					try {
+						container = serviceRegistry.getService(ISashWindowsContainer.class);
+						 createCHESSService();
+						boolean b = service.start(part);
+						if(b) {
+							PlatformUI.getWorkbench().getActiveWorkbenchWindow().getPartService().removePartListener(this);
+						} else {
+							service = null;
+						}
+					} catch (ServiceException e) {
+						System.err.println(e.getMessage());
+						service = null;
+					}
+				}
+			}
+			
+			@Override
+			public void partOpened(IWorkbenchPart part) {
+				execute(part);
+			}
+			
+			@Override
+			public void partDeactivated(IWorkbenchPart part) {
+				// TODO Auto-generated method stub
+				
+			}
+			
+			@Override
+			public void partClosed(IWorkbenchPart part) {
+				// TODO Auto-generated method stub
+				
+			}
+			
+			@Override
+			public void partBroughtToTop(IWorkbenchPart part) {
+				// TODO Auto-generated method stub
+				
+			}
+			
+			@Override
+			public void partActivated(IWorkbenchPart part) {
+				execute(part);
+			}
+		});
+
+	}
+	
+	
+
+	@Override
+	public void startService() throws ServiceException {
+	}
+
+	
+	@Override
+	public void disposeService() throws ServiceException {
+		if (service !=null){
+			System.err.println("CHESS Service terminated.");
+			service.stopService();
+			service = null;
+		}
+	}
+
+	private void createCHESSService() {
+		service =  new CHESSService(container, serviceRegistry);
+	}
+
+
+
+	@Override
+	public Object createServiceInstance() throws ServiceException {
+		return service;
+	}
+}
diff --git a/plugins/org.polarsys.chess.service/src/org/polarsys/chess/service/MatchingStrategy.java b/plugins/org.polarsys.chess.service/src/org/polarsys/chess/service/MatchingStrategy.java
new file mode 100644
index 000000000..295e56245
--- /dev/null
+++ b/plugins/org.polarsys.chess.service/src/org/polarsys/chess/service/MatchingStrategy.java
@@ -0,0 +1,41 @@
+/*
+-----------------------------------------------------------------------
+--          			CHESS editor plugin							 --
+--                                                                   --
+--                    Copyright (C) 2011-2012                        --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author: Alessandro Zovi         azovi@math.unipd.it 		         --
+--                                                                   --
+-- All rights reserved. This program and the accompanying materials  --
+-- are made available under the terms of the Eclipse Public License  --
+-- v1.0 which accompanies this distribution, and is available at     --
+-- http://www.eclipse.org/legal/epl-v10.html                         --
+-----------------------------------------------------------------------
+*/
+
+package org.polarsys.chess.service;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.ui.IEditorInput;
+import org.eclipse.ui.IEditorMatchingStrategy;
+import org.eclipse.ui.IEditorReference;
+import org.eclipse.ui.IFileEditorInput;
+import org.polarsys.chess.core.natures.CHESSNature;
+
+
+public class MatchingStrategy implements IEditorMatchingStrategy {
+
+	public boolean matches(IEditorReference editorRef, IEditorInput input) {
+		IFile file = ((IFileEditorInput)input).getFile();
+		try {
+			if(file.getProject().hasNature(CHESSNature.NATURE_ID)){
+				return true;
+			}
+		} catch (CoreException e) {	
+			e.printStackTrace();
+		}
+		return false;
+	}
+
+}
diff --git a/plugins/org.polarsys.chess.service/src/org/polarsys/chess/service/PaletteManager.java b/plugins/org.polarsys.chess.service/src/org/polarsys/chess/service/PaletteManager.java
new file mode 100644
index 000000000..8fc3a9ab7
--- /dev/null
+++ b/plugins/org.polarsys.chess.service/src/org/polarsys/chess/service/PaletteManager.java
@@ -0,0 +1,255 @@
+/*
+-----------------------------------------------------------------------
+--          			CHESS editor plugin							 --
+--                                                                   --
+--                    Copyright (C) 2011-2012                        --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author: Alessandro Zovi         azovi@math.unipd.it 		         --
+--                                                                   --
+-- All rights reserved. This program and the accompanying materials  --
+-- are made available under the terms of the Eclipse Public License  --
+-- v1.0 which accompanies this distribution, and is available at     --
+-- http://www.eclipse.org/legal/epl-v10.html                         --
+-----------------------------------------------------------------------
+*/
+
+package org.polarsys.chess.service;
+
+import java.util.List;
+
+import org.eclipse.gef.palette.PaletteDrawer;
+import org.eclipse.gef.ui.palette.PaletteViewer;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPart;
+import org.eclipse.gmf.runtime.diagram.ui.parts.DiagramEditDomain;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.TreeSelection;
+import org.eclipse.papyrus.editor.PapyrusMultiDiagramEditor;
+import org.eclipse.papyrus.infra.core.sasheditor.editor.ISashWindowsContainer;
+import org.eclipse.ui.IEditorPart;
+import org.polarsys.chess.core.profiles.CHESSProfileManager;
+import org.polarsys.chess.core.views.DiagramStatus;
+import org.polarsys.chess.core.views.ViewDiagramAssociations;
+
+
+public class PaletteManager {
+	
+	protected static List<Object> lookupSelectedElements(ISelection selection) {
+		if (selection instanceof IStructuredSelection) {
+			IStructuredSelection structuredSelection = (IStructuredSelection) selection;
+			return structuredSelection.toList();
+		} else if (selection instanceof TreeSelection) {
+			TreeSelection treeSelection = (TreeSelection) selection;
+			return treeSelection.toList();
+		}
+		return null;
+	}
+	
+	public static void setPaletteVisibility(PapyrusMultiDiagramEditor editor, DiagramStatus ds) {
+		//INFO code from org.eclipse.papyrus.diagram.common.part.PaletteMenuAction
+		//if(true) return;
+		try {
+			//final IEditorPart part = getActiveSashPage(editor);
+			//DiagramEditPart ep = editor.getDiagramEditPart();
+			IEditorPart ep = editor.getActiveEditor();
+			ISelection selection = ep.getSite().getSelectionProvider().getSelection();
+			List<Object> selections = lookupSelectedElements(selection);
+			GraphicalEditPart a = (GraphicalEditPart) selections.get(0);
+			DiagramEditDomain de = (DiagramEditDomain) a.getDiagramEditDomain();
+			//TODO get palette working! see Marte profile palette
+			PaletteViewer pv = de.getPaletteViewer();
+			
+//			String viewName = ds.getCurrentView().getName();
+			String viewName = ds.getActiveView();
+			//System.out.println("activew view" + viewName);
+			
+			String diagramName = ds.getCurrentView().getCurrentDiagramName();
+			
+			for (Object o : pv.getPaletteRoot().getChildren()){
+				if (o instanceof PaletteDrawer){
+					PaletteDrawer d = (PaletteDrawer) o;
+					setPaletteVisibility(d, viewName, diagramName);
+				}
+			}
+		} catch (Exception e) {
+			System.out.println(e.getMessage());
+			//Activator.getDefault().getLog().log(new Status(IStatus.ERROR, Activator.PLUGIN_ID, e.getMessage()));
+		}
+		//final List<String> hiddenPalettes = PapyrusPalettePreferences.getHiddenPalettes(part);
+		
+		//PapyrusPaletteService ps = PapyrusPaletteService.getInstance();
+		
+		
+//		for(PapyrusPaletteService.ProviderDescriptor descriptor : ps.getContributingProviders(part, pv.getPaletteRoot())) {
+//			
+//			String id = descriptor.getContributionID();
+//			String name = descriptor.getContributionName();
+//			CHESSProjectSupport.printlnToCHESSConsole(id + " " + name);
+//			//TODO what are the palette to hide/show given the current view and diagram?
+//			//PapyrusPalettePreferences.changePaletteVisibility(id, editor.getActiveEditor().getClass().getName(), false);
+//		}
+	}
+	//TODO this code is temporary needs refactoring
+	private static void setPaletteVisibility(PaletteDrawer paletteDrawer, String viewName,
+			String diagramName) {
+				
+		if (diagramName.equals(CHESSProfileManager.SYSTEM_VIEW)) {
+			//paletteDrawer.setVisible(false);
+			return;
+		}
+		
+		if (diagramName.equals(ViewDiagramAssociations.ANYDIAGRAM)) {
+			paletteDrawer.setVisible(false);
+			return;
+		}
+		
+		paletteDrawer.setVisible(true);
+		String label = paletteDrawer.getLabel();
+		String paletteId = paletteDrawer.getId();
+		if (viewName.equals(CHESSProfileManager.COMPONENT_VIEW)){
+			if (diagramName.equals(ViewDiagramAssociations.classDiagram)||
+				diagramName.equals(ViewDiagramAssociations.compositeDiagram)){
+				//set visibility only for the palette's functional tools
+				paletteDrawer.setVisible(false);
+				if (label.equals("CHESS FunctView") || label.equals("FoReVer")) //TODO here we should re-engineer the code to allow a more flexible management of additional profile palettes
+					paletteDrawer.setVisible(true);
+			}
+			if (diagramName.equals(ViewDiagramAssociations.activityDiagram)){
+				paletteDrawer.setVisible(false);
+				if (label.equals("CHESS/Activity"))
+					paletteDrawer.setVisible(true);
+			}
+			
+			if (diagramName.equals(ViewDiagramAssociations.stateMachineDiagram)){
+				paletteDrawer.setVisible(true);
+				String id = paletteDrawer.getId();
+				if (id.compareTo("SM_FunctionalDrawer__1317124986519")!=0)
+					paletteDrawer.setVisible(false);
+			}
+			
+			if (diagramName.equals(ViewDiagramAssociations.sequenceDiagram)){
+				paletteDrawer.setVisible(true);
+				String id = paletteDrawer.getId();
+				if (id.compareTo("CHESSSequenceDiagramPalette_Nodes")!=0 && id.compareTo("CHESSSequenceDiagramPalette_Edges")!=0)
+					paletteDrawer.setVisible(false);
+			}
+			
+			
+		}
+		if (viewName.equals(CHESSProfileManager.EXTRAFUNCTIONAL_VIEW)){
+			//if (diagramName.equals(ViewDiagramAssociations.compositeDiagram)){
+				//hide the palette's functional tools
+				/*paletteDrawer.setVisible(true);
+				if (label.equals("CHESS FunctView") || label.equals("CHESS/Deployment") || label.equals("CHESS/Activity"))
+					paletteDrawer.setVisible(false);*/
+			//}
+				if (diagramName.equals(ViewDiagramAssociations.stateMachineDiagram)){
+					paletteDrawer.setVisible(true);
+					
+					if (paletteId.compareTo("SM_ErrorModelDrawer__1317126136270")!=0)
+						paletteDrawer.setVisible(false);
+				}
+				
+				if (diagramName.equals(ViewDiagramAssociations.compositeDiagram)){
+					//hide the palette's functional tools
+					paletteDrawer.setVisible(true);
+					if (paletteId.compareTo("CSD_RTDrawer__1302019186026")!=0 && paletteId.compareTo("CSD_FPTC_Drawer__1317635175167")!=0)
+						paletteDrawer.setVisible(false);
+				}
+				
+				if (diagramName.equals(ViewDiagramAssociations.classDiagram)){
+					
+					paletteDrawer.setVisible(false);
+				}
+					
+				if (diagramName.equals(ViewDiagramAssociations.activityDiagram)){
+					
+					paletteDrawer.setVisible(false);
+				}
+				
+				if (diagramName.equals(ViewDiagramAssociations.sequenceDiagram)){
+					paletteDrawer.setVisible(true);
+					if (paletteId.compareTo("drawer_1329924117088")!=0 && paletteId.compareTo("Drawer__1329924033356")!=0)
+						paletteDrawer.setVisible(false);
+				}
+				
+				
+		}
+		if (viewName.equals(CHESSProfileManager.DEPLOYMENT_VIEW)){
+			if (diagramName.equals(ViewDiagramAssociations.classDiagram)){
+				//hide the palette's functional tools
+				paletteDrawer.setVisible(false);
+				if (label.equals("CHESS/Deployment") || label.equals("FoReVerDeploymentCD"))
+					paletteDrawer.setVisible(true);
+			}
+			if (diagramName.equals(ViewDiagramAssociations.compositeDiagram)){
+				//hide the palette's functional tools
+				paletteDrawer.setVisible(false);
+				if (label.equals("CHESS/Deployment")|| label.equals("FoReVer"))
+					paletteDrawer.setVisible(true);
+			}
+			
+			if (diagramName.equals(ViewDiagramAssociations.stateMachineDiagram)){
+				paletteDrawer.setVisible(true);
+				if (paletteId.compareTo("SM_FunctionalDrawer__1317124986519")!=0)
+					paletteDrawer.setVisible(false);
+			}
+		}
+		
+		if (viewName.equals(CHESSProfileManager.DEPENDABILITY_VIEW)){
+				
+			if (diagramName.equals(ViewDiagramAssociations.stateMachineDiagram)){
+				paletteDrawer.setVisible(true);
+				if (paletteId.compareTo("SM_ErrorModelDrawer__1317126136270")!=0)
+					paletteDrawer.setVisible(false);
+			}
+			else if (diagramName.equals(ViewDiagramAssociations.classDiagram)){
+					paletteDrawer.setVisible(false);
+			}
+			else if (diagramName.equals(ViewDiagramAssociations.compositeDiagram)){
+				paletteDrawer.setVisible(true);
+				if (paletteId.compareTo("CSD_FPTC_Drawer__1317635175167")!=0)
+					paletteDrawer.setVisible(false);
+			}
+		}
+		
+		if (viewName.equals(CHESSProfileManager.DEPENDABILITY_ANALYSIS_VIEW)){
+			if (diagramName.equals(ViewDiagramAssociations.classDiagram)){
+				paletteDrawer.setVisible(true);
+				if (paletteId.compareTo("DepAnalysisViewDrawer__1317300165546")!=0)
+					paletteDrawer.setVisible(false);
+			}
+		}
+		
+		if (viewName.equals(CHESSProfileManager.RT_ANALYSIS_VIEW)){
+			if (diagramName.equals(ViewDiagramAssociations.classDiagram)){
+				paletteDrawer.setVisible(false);
+				if (paletteId.compareTo("AnalysisViewDrawer__1317300165546")!=0)
+					paletteDrawer.setVisible(false);
+			}
+		}
+		
+		if (viewName.equals(CHESSProfileManager.RAILWAY_VIEW)){
+			paletteDrawer.setVisible(false);
+			if (diagramName.equals(ViewDiagramAssociations.compositeDiagram)){
+				//show only the railway palette
+				if (paletteId.compareTo("Drawer__1301934597253")==0)
+					paletteDrawer.setVisible(true);
+				}
+		}
+	
+	}
+
+	private static IEditorPart getActiveSashPage(PapyrusMultiDiagramEditor editorPart) {
+		// Lookup ServiceRegistry
+		//IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
+		//IEditorPart editorPart = page.getActiveEditor();
+		//assert editorPart != null;
+		ISashWindowsContainer sashWindowsContainer = (ISashWindowsContainer)editorPart.getAdapter(ISashWindowsContainer.class);
+		if(sashWindowsContainer != null) {
+			return sashWindowsContainer.getActiveEditor();
+		}
+		return null;
+	}
+}
diff --git a/plugins/org.polarsys.chess.service/src/org/polarsys/chess/service/SelectionListener.java b/plugins/org.polarsys.chess.service/src/org/polarsys/chess/service/SelectionListener.java
new file mode 100644
index 000000000..2f358e728
--- /dev/null
+++ b/plugins/org.polarsys.chess.service/src/org/polarsys/chess/service/SelectionListener.java
@@ -0,0 +1,98 @@
+/*
+-----------------------------------------------------------------------
+--          			CHESS editor plugin							 --
+--                                                                   --
+--                    Copyright (C) 2011-2012                        --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author: Alessandro Zovi         azovi@math.unipd.it 		         --
+--                                                                   --
+-- All rights reserved. This program and the accompanying materials  --
+-- are made available under the terms of the Eclipse Public License  --
+-- v1.0 which accompanies this distribution, and is available at     --
+-- http://www.eclipse.org/legal/epl-v10.html                         --
+-----------------------------------------------------------------------
+*/
+
+package org.polarsys.chess.service;
+
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.TreeSelection;
+import org.eclipse.papyrus.editor.PapyrusMultiDiagramEditor;
+import org.eclipse.papyrus.emf.facet.custom.metamodel.v0_2_0.internal.treeproxy.impl.EObjectTreeElementImpl;
+import org.eclipse.papyrus.infra.core.sasheditor.editor.IPage;
+import org.eclipse.papyrus.views.modelexplorer.ModelExplorerPageBookView;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.IWorkbenchPart;
+import org.eclipse.ui.IWorkbenchWindow;
+import org.eclipse.ui.services.ISourceProviderService;
+import org.eclipse.ui.views.properties.PropertySheet;
+import org.polarsys.chess.core.resourcelistener.SelectionListenerExtra;
+import org.polarsys.chess.core.views.DiagramStatus;
+import org.polarsys.chess.service.commands.SwitchSourceProvider;
+import org.polarsys.chess.service.utils.CHESSEditorUtils;
+
+public class SelectionListener extends SelectionListenerExtra {
+
+	DiagramStatus diagramStatus = null;
+
+	@Override
+	public void selectionChanged(IWorkbenchPart part, ISelection selection) {
+		// lazy association
+		if (diagramStatus == null)
+			
+		diagramStatus = CHESSEditorUtils.getDiagramStatus(getRegistry());
+		if (diagramStatus == null) {
+			return;
+		}
+		diagramStatus.setUserAction(true);
+		if (part instanceof PropertySheet) {
+			part = ((PropertySheet) part).getSite().getWorkbenchWindow()
+					.getActivePage().getActiveEditor();
+		}
+		if (part instanceof IEditorPart && CHESSEditorUtils.isCHESSProject((IEditorPart)part)) {
+			// listens to sash page change events in the editor
+			PapyrusMultiDiagramEditor editor = (PapyrusMultiDiagramEditor) part;
+			IPage newPage = (editor).getISashWindowsContainer()
+					.getActiveSashWindowsPage();
+//			System.out.println("PAGE:" + newPage);
+
+			diagramStatus.setActualView(newPage);
+			
+			// enable/disable palettes
+			
+			PaletteManager.setPaletteVisibility(editor, diagramStatus);
+			
+		} else if (part instanceof ModelExplorerPageBookView
+				&& selection instanceof TreeSelection && !selection.isEmpty()) {
+			// listens to model element selection in Model Explorer
+			TreeSelection tSelection = (TreeSelection) selection;
+			Object fElement = tSelection.getFirstElement();
+			if (fElement instanceof EObjectTreeElementImpl) {
+				diagramStatus.setActualView(tSelection);
+			}
+		}
+
+		IWorkbenchWindow window = null;
+		try {
+			window = part.getSite().getWorkbenchWindow();
+		} catch (Exception e) {
+			//Activator.getDefault().getLog().log(new Status(IStatus.ERROR, Activator.PLUGIN_ID, e.getMessage()));
+			return;
+		}
+		
+		
+		if (window.getActivePage() != null) {
+			// Enable/disable the switch to extra-functional view command
+			// Enable when the current view is the functional view
+			ISourceProviderService spService = (ISourceProviderService) window
+					.getService(ISourceProviderService.class);
+			SwitchSourceProvider sp = (SwitchSourceProvider) spService
+					.getSourceProvider(SwitchSourceProvider.SWITCH);
+
+			sp.updateStatus(window.getActivePage().getActiveEditor());
+		}
+	}
+	
+	
+}
diff --git a/plugins/org.polarsys.chess.service/src/org/polarsys/chess/service/commands/CurrentViewStatus.java b/plugins/org.polarsys.chess.service/src/org/polarsys/chess/service/commands/CurrentViewStatus.java
new file mode 100644
index 000000000..b8a8a192f
--- /dev/null
+++ b/plugins/org.polarsys.chess.service/src/org/polarsys/chess/service/commands/CurrentViewStatus.java
@@ -0,0 +1,76 @@
+/*
+-----------------------------------------------------------------------
+--          			CHESS editor plugin							 --
+--                                                                   --
+--                    Copyright (C) 2011-2012                        --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author: Alessandro Zovi         azovi@math.unipd.it 		         --
+--                                                                   --
+-- All rights reserved. This program and the accompanying materials  --
+-- are made available under the terms of the Eclipse Public License  --
+-- v1.0 which accompanies this distribution, and is available at     --
+-- http://www.eclipse.org/legal/epl-v10.html                         --
+-----------------------------------------------------------------------
+*/
+
+package org.polarsys.chess.service.commands;
+
+import java.util.Map;
+
+import org.eclipse.core.commands.AbstractHandler;
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.papyrus.editor.PapyrusMultiDiagramEditor;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.commands.ICommandService;
+import org.eclipse.ui.commands.IElementUpdater;
+import org.eclipse.ui.menus.UIElement;
+import org.polarsys.chess.core.profiles.CHESSProfileManager;
+import org.polarsys.chess.core.views.DiagramStatus;
+import org.polarsys.chess.service.CHESSService;
+import org.polarsys.chess.service.CHESSServiceFactory;
+import org.polarsys.chess.service.utils.CHESSEditorUtils;
+
+public class CurrentViewStatus extends AbstractHandler implements IElementUpdater {
+	
+	public CurrentViewStatus() {
+		SwitchSourceProvider.commandsToRefresh.add(COMMAND_ID);
+	}
+
+	public static String COMMAND_ID = "org.polarsys.chess.service.CurrentViewStatus";
+	
+	public static void refresh(){
+		ICommandService service = (ICommandService) PlatformUI.getWorkbench().getActiveWorkbenchWindow().getService(ICommandService.class);
+        service.refreshElements(COMMAND_ID, null);
+	}
+	
+	public Object execute(ExecutionEvent event) throws ExecutionException {
+		return null;
+	}
+
+	@SuppressWarnings("rawtypes")
+	public void updateElement(UIElement element, Map parameters) {
+		PapyrusMultiDiagramEditor editor = CHESSEditorUtils.getCHESSEditor();
+		//DesignView currentView;
+		DiagramStatus diagramStatus;
+		
+		if (editor != null && (null != (diagramStatus = CHESSEditorUtils.getDiagramStatus(editor)))){
+			if (diagramStatus != null && null != (/*currentView = */diagramStatus.getCurrentView())){
+	
+				String n = diagramStatus.getActiveView();
+				element.setTooltip(n);
+				
+				element.setIcon(CHESSService.viewIcons.get(n));
+				return;
+			}	
+		}	
+
+		element.setIcon(CHESSService.viewIcons.get(CHESSProfileManager.NULL_VIEW));
+
+	    element.setTooltip(CHESSProfileManager.NULL_VIEW);
+		element.setText(" ");
+//		PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActiveEditor().getEditorSite().getActionBars().updateActionBars();
+	}
+
+}
diff --git a/plugins/org.polarsys.chess.service/src/org/polarsys/chess/service/commands/HidePortCommand.java b/plugins/org.polarsys.chess.service/src/org/polarsys/chess/service/commands/HidePortCommand.java
new file mode 100644
index 000000000..e893b2a8b
--- /dev/null
+++ b/plugins/org.polarsys.chess.service/src/org/polarsys/chess/service/commands/HidePortCommand.java
@@ -0,0 +1,52 @@
+/*
+-----------------------------------------------------------------------
+--          			CHESS editor plugin							 --
+--                                                                   --
+--                    Copyright (C) 2011-2012                        --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author: Alessandro Zovi         azovi@math.unipd.it 		         --
+--                                                                   --
+-- All rights reserved. This program and the accompanying materials  --
+-- are made available under the terms of the Eclipse Public License  --
+-- v1.0 which accompanies this distribution, and is available at     --
+-- http://www.eclipse.org/legal/epl-v10.html                         --
+-----------------------------------------------------------------------
+*/
+
+package org.polarsys.chess.service.commands;
+
+import java.util.List;
+
+import org.eclipse.emf.edit.domain.EditingDomain;
+import org.eclipse.emf.transaction.RecordingCommand;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.papyrus.editor.PapyrusMultiDiagramEditor;
+
+class HidePortCommand {
+
+	private PapyrusMultiDiagramEditor editor;
+	private List<View> elements;
+	private EditingDomain domain;
+
+	public HidePortCommand(List<View> elements, PapyrusMultiDiagramEditor activeEditor) {
+		this.domain = activeEditor.getEditingDomain();
+		this.elements = elements;
+		this.editor = activeEditor;
+	}
+
+	public void execute() {
+		editor.getEditingDomain().getCommandStack()
+				.execute(cmd);
+	}
+
+	RecordingCommand cmd = new RecordingCommand((TransactionalEditingDomain) domain) {
+		@Override
+		protected void doExecute() {
+			for (View e : elements) {
+				((View) e).setVisible(false);
+			}
+		}
+	};
+}
\ No newline at end of file
diff --git a/plugins/org.polarsys.chess.service/src/org/polarsys/chess/service/commands/SupersuserToggleCommand.java b/plugins/org.polarsys.chess.service/src/org/polarsys/chess/service/commands/SupersuserToggleCommand.java
new file mode 100644
index 000000000..21cd869b3
--- /dev/null
+++ b/plugins/org.polarsys.chess.service/src/org/polarsys/chess/service/commands/SupersuserToggleCommand.java
@@ -0,0 +1,72 @@
+/*
+-----------------------------------------------------------------------
+--          			CHESS editor plugin							 --
+--                                                                   --
+--                    Copyright (C) 2011-2012                        --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author: Alessandro Zovi         azovi@math.unipd.it 		         --
+--                                                                   --
+-- All rights reserved. This program and the accompanying materials  --
+-- are made available under the terms of the Eclipse Public License  --
+-- v1.0 which accompanies this distribution, and is available at     --
+-- http://www.eclipse.org/legal/epl-v10.html                         --
+-----------------------------------------------------------------------
+*/
+
+package org.polarsys.chess.service.commands;
+
+import java.util.Map;
+
+import org.eclipse.core.commands.AbstractHandler;
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.papyrus.editor.PapyrusMultiDiagramEditor;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.commands.IElementUpdater;
+import org.eclipse.ui.handlers.HandlerUtil;
+import org.eclipse.ui.menus.UIElement;
+import org.polarsys.chess.core.profiles.CHESSProfileManager;
+import org.polarsys.chess.core.util.CHESSProjectSupport;
+import org.polarsys.chess.core.views.DiagramStatus;
+import org.polarsys.chess.service.utils.CHESSEditorUtils;
+
+public class SupersuserToggleCommand extends AbstractHandler implements IElementUpdater {
+	private boolean selected = false;
+
+	String uncheckedText = "Enable superuser: deactivate write permission checking";
+	String checkedText = "Disable superuser: activate write permission checking";;
+	
+	@Override
+	public Object execute(ExecutionEvent event)
+			throws org.eclipse.core.commands.ExecutionException {
+		
+		IEditorPart editor = HandlerUtil.getActiveEditorChecked(event);
+		;
+		if (CHESSEditorUtils.isCHESSProject(editor) && CHESSProfileManager.ARE_VIEWS_LOADED) {
+
+			DiagramStatus diagramStatus = CHESSEditorUtils.getDiagramStatus((PapyrusMultiDiagramEditor) editor);
+
+			if (diagramStatus == null)
+				return null;
+
+			selected = !selected; 
+			diagramStatus.setSuperuser(selected);
+			CHESSProjectSupport.printlnToCHESSConsole("Superuser " + (selected?"ON":"OFF"));
+		}
+
+		return null;
+	}
+
+	
+	@SuppressWarnings("rawtypes")
+	public void updateElement(UIElement element, Map parameters) {
+		PapyrusMultiDiagramEditor editor = CHESSEditorUtils.getCHESSEditor();
+		if (editor != null && CHESSProfileManager.ARE_VIEWS_LOADED) {
+			DiagramStatus st = CHESSEditorUtils.getDiagramStatus(editor);
+			selected = st.isSuperuser();
+		}
+		element.setChecked(selected);
+		element.setText(selected?checkedText:uncheckedText);
+	}
+
+}
diff --git a/plugins/org.polarsys.chess.service/src/org/polarsys/chess/service/commands/SwitchSourceProvider.java b/plugins/org.polarsys.chess.service/src/org/polarsys/chess/service/commands/SwitchSourceProvider.java
new file mode 100644
index 000000000..3f98c39e9
--- /dev/null
+++ b/plugins/org.polarsys.chess.service/src/org/polarsys/chess/service/commands/SwitchSourceProvider.java
@@ -0,0 +1,110 @@
+/*
+-----------------------------------------------------------------------
+--          			CHESS editor plugin							 --
+--                                                                   --
+--                    Copyright (C) 2011-2012                        --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author: Alessandro Zovi         azovi@math.unipd.it 		         --
+--                                                                   --
+-- All rights reserved. This program and the accompanying materials  --
+-- are made available under the terms of the Eclipse Public License  --
+-- v1.0 which accompanies this distribution, and is available at     --
+-- http://www.eclipse.org/legal/epl-v10.html                         --
+-----------------------------------------------------------------------
+*/
+
+package org.polarsys.chess.service.commands;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.eclipse.papyrus.editor.PapyrusMultiDiagramEditor;
+import org.eclipse.ui.AbstractSourceProvider;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.ISources;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.commands.ICommandService;
+import org.polarsys.chess.core.views.DiagramStatus;
+import org.polarsys.chess.core.views.DiagramStatus.DesignView;
+import org.polarsys.chess.core.views.ViewUtils;
+import org.polarsys.chess.service.utils.CHESSEditorUtils;
+
+public class SwitchSourceProvider extends AbstractSourceProvider {
+
+	public final static String SWITCH = "org.polarsys.chess.service.commands.switchState";
+	
+	private final static String DISABLED = "disabled";
+	
+	private String currentState = DISABLED;
+	
+	
+	public static List<String> commandsToRefresh = new ArrayList<String>();
+	
+//	public final static String VIEW = "org.polarsys.chess.service.commands.currentView";
+//    String viewName;
+
+	public void dispose() {
+	}
+
+	@SuppressWarnings({ "rawtypes", "unchecked" })
+	public Map getCurrentState() {
+		Map currentSt = new HashMap(2);
+		currentSt.put(SWITCH, currentState);
+		return currentSt;
+	}
+
+	public String[] getProvidedSourceNames() {
+		return new String[] { SWITCH/*, VIEW*/ };
+	}
+	
+	private void setEnabledValue(String v) {
+		currentState = v;
+		fireSourceChanged(ISources.WORKBENCH, SWITCH, v);
+	}
+
+	public void updateStatus(IEditorPart activeEditor) {
+		try {
+			if (!CHESSEditorUtils.isCHESSProject(activeEditor)) {
+				setEnabledValue(DISABLED);
+			} else {
+			
+				DiagramStatus ds = CHESSEditorUtils.getDiagramStatus((PapyrusMultiDiagramEditor) activeEditor);
+				if (ds == null) {
+					setEnabledValue(DISABLED);
+				}else {
+				DesignView currentView = ds.getCurrentView();
+
+				if (currentView != null && (ViewUtils.hasConcurrentViews(currentView) || ViewUtils.isConcurrentView(currentView))){
+					String name = ViewUtils.getBaseViewName(currentView);
+					setEnabledValue(name);
+//					System.out.println("base view name " + name);
+//					System.out.println("active view " + ((CHESSEditor) activeEditor).getDiagramStatus().getActiveView());
+				}
+				
+				
+				else 
+					setEnabledValue(DISABLED);
+				}
+			} 
+			refreshElements();
+		} catch (Exception e) {
+			return;
+		}
+	}
+
+	private void refreshElements() {
+		ICommandService service = (ICommandService) PlatformUI.getWorkbench()
+				.getActiveWorkbenchWindow().getService(ICommandService.class);
+		
+		for (String commandId : commandsToRefresh) {
+			service.refreshElements(commandId, null);
+		}
+		
+//		service.refreshElements(CurrentViewStatus.COMMAND_ID, null);
+//		service.refreshElements(SwitchToExtraFunctional.COMMAND_ID, null);
+//		service.refreshElements(SwitchToDependability.COMMAND_ID, null);
+	}
+}
diff --git a/plugins/org.polarsys.chess.service/src/org/polarsys/chess/service/commands/SwitchToDependability.java b/plugins/org.polarsys.chess.service/src/org/polarsys/chess/service/commands/SwitchToDependability.java
new file mode 100644
index 000000000..396959b83
--- /dev/null
+++ b/plugins/org.polarsys.chess.service/src/org/polarsys/chess/service/commands/SwitchToDependability.java
@@ -0,0 +1,49 @@
+/*
+-----------------------------------------------------------------------
+--          			CHESS editor plugin							 --
+--                                                                   --
+--                    Copyright (C) 2011-2012                        --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author: Alessandro Zovi         azovi@math.unipd.it 		         --
+--                                                                   --
+-- All rights reserved. This program and the accompanying materials  --
+-- are made available under the terms of the Eclipse Public License  --
+-- v1.0 which accompanies this distribution, and is available at     --
+-- http://www.eclipse.org/legal/epl-v10.html                         --
+-----------------------------------------------------------------------
+*/
+
+package org.polarsys.chess.service.commands;
+
+import java.util.Map;
+
+import org.eclipse.core.commands.AbstractHandler;
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.ui.commands.IElementUpdater;
+import org.eclipse.ui.menus.UIElement;
+import org.polarsys.chess.core.profiles.CHESSProfileManager;
+
+public class SwitchToDependability extends AbstractHandler implements
+		IElementUpdater {
+
+	public static String COMMAND_ID = "org.polarsys.chess.service.switchDEPCommand";
+	public static String theView = CHESSProfileManager.DEPENDABILITY_VIEW;
+	
+	private static SwitchToView handler = new SwitchToView(theView, COMMAND_ID);
+
+	public Object execute(ExecutionEvent event) throws ExecutionException {
+		handler.execute(event);
+		return null;
+	}
+
+	@SuppressWarnings("rawtypes")
+	public void updateElement(UIElement element, Map parameters) {
+		handler.updateElement(element, parameters);
+	}
+
+	public static void refresh() {
+		handler.refresh();
+	}
+}
diff --git a/plugins/org.polarsys.chess.service/src/org/polarsys/chess/service/commands/SwitchToExtraFunctional.java b/plugins/org.polarsys.chess.service/src/org/polarsys/chess/service/commands/SwitchToExtraFunctional.java
new file mode 100644
index 000000000..f30f078ee
--- /dev/null
+++ b/plugins/org.polarsys.chess.service/src/org/polarsys/chess/service/commands/SwitchToExtraFunctional.java
@@ -0,0 +1,49 @@
+/*
+-----------------------------------------------------------------------
+--          			CHESS editor plugin							 --
+--                                                                   --
+--                    Copyright (C) 2011-2012                        --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author: Alessandro Zovi         azovi@math.unipd.it 		         --
+--                                                                   --
+-- All rights reserved. This program and the accompanying materials  --
+-- are made available under the terms of the Eclipse Public License  --
+-- v1.0 which accompanies this distribution, and is available at     --
+-- http://www.eclipse.org/legal/epl-v10.html                         --
+-----------------------------------------------------------------------
+*/
+
+package org.polarsys.chess.service.commands;
+
+import java.util.Map;
+
+import org.eclipse.core.commands.AbstractHandler;
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.ui.commands.IElementUpdater;
+import org.eclipse.ui.menus.UIElement;
+import org.polarsys.chess.core.profiles.CHESSProfileManager;
+
+public class SwitchToExtraFunctional extends AbstractHandler implements
+		IElementUpdater {
+
+	public static String COMMAND_ID = "org.polarsys.chess.service.switchEFCommand";
+	public static String theView = CHESSProfileManager.EXTRAFUNCTIONAL_VIEW;
+	
+	private static SwitchToView handler = new SwitchToView(theView, COMMAND_ID);
+
+	public Object execute(ExecutionEvent event) throws ExecutionException {
+		handler.execute(event);
+		return null;
+	}
+
+	@SuppressWarnings("rawtypes")
+	public void updateElement(UIElement element, Map parameters) {
+		handler.updateElement(element, parameters);
+	}
+
+	public static void refresh() {
+		handler.refresh();
+	}
+}
diff --git a/plugins/org.polarsys.chess.service/src/org/polarsys/chess/service/commands/SwitchToRailway.java b/plugins/org.polarsys.chess.service/src/org/polarsys/chess/service/commands/SwitchToRailway.java
new file mode 100644
index 000000000..e3249178b
--- /dev/null
+++ b/plugins/org.polarsys.chess.service/src/org/polarsys/chess/service/commands/SwitchToRailway.java
@@ -0,0 +1,49 @@
+/*
+-----------------------------------------------------------------------
+--          			CHESS editor plugin							 --
+--                                                                   --
+--                    Copyright (C) 2011-2012                        --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author: Alessandro Zovi         azovi@math.unipd.it 		         --
+--                                                                   --
+-- All rights reserved. This program and the accompanying materials  --
+-- are made available under the terms of the Eclipse Public License  --
+-- v1.0 which accompanies this distribution, and is available at     --
+-- http://www.eclipse.org/legal/epl-v10.html                         --
+-----------------------------------------------------------------------
+*/
+
+package org.polarsys.chess.service.commands;
+
+import java.util.Map;
+
+import org.eclipse.core.commands.AbstractHandler;
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.ui.commands.IElementUpdater;
+import org.eclipse.ui.menus.UIElement;
+import org.polarsys.chess.core.profiles.CHESSProfileManager;
+
+public class SwitchToRailway extends AbstractHandler implements
+		IElementUpdater {
+
+	public static String COMMAND_ID = "org.polarsys.chess.service.switchRailCommand";
+	public static String theView = CHESSProfileManager.RAILWAY_VIEW;
+	
+	private static SwitchToView handler = new SwitchToView(theView, COMMAND_ID);
+
+	public Object execute(ExecutionEvent event) throws ExecutionException {
+		handler.execute(event);
+		return null;
+	}
+
+	@SuppressWarnings("rawtypes")
+	public void updateElement(UIElement element, Map parameters) {
+		handler.updateElement(element, parameters);
+	}
+
+	public static void refresh() {
+		handler.refresh();
+	}
+}
diff --git a/plugins/org.polarsys.chess.service/src/org/polarsys/chess/service/commands/SwitchToView.java b/plugins/org.polarsys.chess.service/src/org/polarsys/chess/service/commands/SwitchToView.java
new file mode 100644
index 000000000..899f20bc9
--- /dev/null
+++ b/plugins/org.polarsys.chess.service/src/org/polarsys/chess/service/commands/SwitchToView.java
@@ -0,0 +1,120 @@
+/*
+-----------------------------------------------------------------------
+--          			CHESS editor plugin							 --
+--                                                                   --
+--                    Copyright (C) 2011-2012                        --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author: Alessandro Zovi         azovi@math.unipd.it 		         --
+--                                                                   --
+-- All rights reserved. This program and the accompanying materials  --
+-- are made available under the terms of the Eclipse Public License  --
+-- v1.0 which accompanies this distribution, and is available at     --
+-- http://www.eclipse.org/legal/epl-v10.html                         --
+-----------------------------------------------------------------------
+*/
+
+package org.polarsys.chess.service.commands;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.papyrus.editor.PapyrusMultiDiagramEditor;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.IWorkbenchWindow;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.commands.ICommandService;
+import org.eclipse.ui.handlers.HandlerUtil;
+import org.eclipse.ui.menus.UIElement;
+import org.eclipse.ui.services.ISourceProviderService;
+import org.polarsys.chess.core.profiles.CHESSProfileManager;
+import org.polarsys.chess.core.views.DiagramStatus;
+import org.polarsys.chess.service.PaletteManager;
+import org.polarsys.chess.service.utils.CHESSEditorUtils;
+
+public class SwitchToView {
+
+	public String commandId;
+	
+	private String theView;
+	
+	String checkedText;
+	String uncheckedText;
+	
+	public SwitchToView(String theView, String commandId) {
+		this.theView = theView;
+		this.commandId = commandId;
+		
+		checkedText = "Deactivate " + theView;
+		uncheckedText = "Activate " + theView;
+		
+		SwitchSourceProvider.commandsToRefresh.add(commandId);
+	}
+	
+	private boolean selected = false;
+
+	public void refresh() {
+		ICommandService service = (ICommandService) PlatformUI.getWorkbench()
+				.getActiveWorkbenchWindow().getService(ICommandService.class);
+		service.refreshElements(commandId, null);
+	}
+
+	public Object execute(ExecutionEvent event) throws ExecutionException {
+		IEditorPart editorPart = HandlerUtil.getActiveEditorChecked(event);
+		
+		if (CHESSEditorUtils.isCHESSProject(editorPart) && CHESSProfileManager.ARE_VIEWS_LOADED) {
+			
+			DiagramStatus diagramStatus = CHESSEditorUtils.getDiagramStatus((PapyrusMultiDiagramEditor) editorPart);
+
+			if (diagramStatus == null)
+				return null;
+
+			IWorkbenchWindow window = editorPart.getSite().getWorkbenchWindow();
+			ISourceProviderService spService = (ISourceProviderService) window
+					.getService(ISourceProviderService.class);
+			SwitchSourceProvider sp = (SwitchSourceProvider) spService
+					.getSourceProvider(SwitchSourceProvider.SWITCH);
+
+			selected = diagramStatus.requestView(theView, !selected);
+			hideShowElements((PapyrusMultiDiagramEditor) editorPart);
+			PaletteManager.setPaletteVisibility((PapyrusMultiDiagramEditor) editorPart, diagramStatus);
+			sp.updateStatus(editorPart);
+		}
+
+		return null;
+	}
+
+	//TODO extends
+	private void hideShowElements(PapyrusMultiDiagramEditor editor) {
+		if (false){
+			List<View> elements = new ArrayList<View>();
+			try {
+				elements = CHESSEditorUtils.getDiagramAllVisiblePort(CHESSEditorUtils.getDiagram(editor));
+				new HidePortCommand(elements, editor).execute();
+			} catch (Exception e) {}
+		}
+	}
+
+	@SuppressWarnings("rawtypes")
+	public void updateElement(UIElement element, Map parameters) {
+		PapyrusMultiDiagramEditor editor = CHESSEditorUtils.getCHESSEditor();
+		if (editor != null && CHESSProfileManager.ARE_VIEWS_LOADED) {
+			DiagramStatus st = CHESSEditorUtils.getDiagramStatus(editor);
+			if (st== null)
+				return;
+//			System.out.println("switcher for " + theView);
+			selected = selected
+					&& st.getCurrentView().isEnabled(theView);
+		}
+		element.setChecked(selected);
+		if (selected)
+			element.setText(checkedText);
+		else	
+			element.setText(uncheckedText);
+	}
+
+}
diff --git a/plugins/org.polarsys.chess.service/src/org/polarsys/chess/service/utils/CHESSEditorUtils.java b/plugins/org.polarsys.chess.service/src/org/polarsys/chess/service/utils/CHESSEditorUtils.java
new file mode 100644
index 000000000..4b842307b
--- /dev/null
+++ b/plugins/org.polarsys.chess.service/src/org/polarsys/chess/service/utils/CHESSEditorUtils.java
@@ -0,0 +1,266 @@
+/*
+-----------------------------------------------------------------------
+--          			CHESS editor plugin							 --
+--                                                                   --
+--                    Copyright (C) 2011-2012                        --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author: Alessandro Zovi         azovi@math.unipd.it 		         --
+--                                                                   --
+-- All rights reserved. This program and the accompanying materials  --
+-- are made available under the terms of the Eclipse Public License  --
+-- v1.0 which accompanies this distribution, and is available at     --
+-- http://www.eclipse.org/legal/epl-v10.html                         --
+-----------------------------------------------------------------------
+ */
+
+package org.polarsys.chess.service.utils;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IProjectNature;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.emf.common.ui.URIEditorInput;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.gef.commands.CommandStack;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.DiagramEditPart;
+import org.eclipse.gmf.runtime.diagram.ui.parts.DiagramCommandStack;
+import org.eclipse.gmf.runtime.diagram.ui.parts.IDiagramGraphicalViewer;
+import org.eclipse.gmf.runtime.notation.Diagram;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.jface.dialogs.ErrorDialog;
+import org.eclipse.jface.dialogs.IDialogConstants;
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.papyrus.editor.PapyrusMultiDiagramEditor;
+import org.eclipse.papyrus.infra.core.editor.IMultiDiagramEditor;
+import org.eclipse.papyrus.infra.core.sashwindows.di.PageRef;
+import org.eclipse.papyrus.infra.core.services.ServiceException;
+import org.eclipse.papyrus.infra.core.services.ServicesRegistry;
+import org.eclipse.papyrus.infra.core.utils.EditorUtils;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.ui.IEditorInput;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.IFileEditorInput;
+import org.eclipse.ui.IWorkbenchPage;
+import org.eclipse.ui.PartInitException;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.part.EditorPart;
+import org.eclipse.uml2.uml.Port;
+import org.polarsys.chess.core.natures.CHESSNature;
+import org.polarsys.chess.core.views.DiagramStatus;
+import org.polarsys.chess.service.CHESSService;
+
+public class CHESSEditorUtils {
+	static public DiagramCommandStack getDiagramCommandStack() {
+		try {
+			Object stack = PlatformUI.getWorkbench().getActiveWorkbenchWindow()
+					.getActivePage().getActivePart()
+					.getAdapter(CommandStack.class);
+			return (stack instanceof DiagramCommandStack) ? (DiagramCommandStack) stack
+					: null;
+		} catch (Exception e) {
+		}
+		return null;
+	}
+
+	static public Diagram getDiagram() {
+		IMultiDiagramEditor editor = EditorUtils.getMultiDiagramEditor();
+		return (Diagram) editor.getAdapter(Diagram.class);
+	}
+
+	static public DiagramEditPart getDiagramEditPart() {
+		IMultiDiagramEditor editor = EditorUtils.getMultiDiagramEditor();
+		return (DiagramEditPart) editor.getAdapter(DiagramEditPart.class);
+	}
+
+	static public IDiagramGraphicalViewer getDiagramGraphicalViewer() {
+		DiagramEditPart diagramEP = getDiagramEditPart();
+		return (IDiagramGraphicalViewer) diagramEP.getViewer();
+	}
+
+	static public List<View> getDiagramAllVisiblePort(final View diagram) {
+		return getDiagramAllVisiblePortRecur(new ArrayList<View>(), diagram);
+	}
+
+	static private List<View> getDiagramAllVisiblePortRecur(List<View> list,
+			View view) {
+		for (Object v : view.getVisibleChildren()) {
+			if (!(v instanceof View))
+				continue;
+			if (((View) v).getElement() instanceof Port)
+				list.add((View) v);
+			getDiagramAllVisiblePortRecur(list, (View) v);
+		}
+		return list;
+
+	}
+
+	public static IEditorPart getEditor() {
+		IEditorPart editor;
+		try {
+			editor = PlatformUI.getWorkbench().getActiveWorkbenchWindow()
+					.getActivePage().getActiveEditor();
+		} catch (Exception e) {
+			editor = null;
+		}
+		return editor;
+	}
+
+	public static PapyrusMultiDiagramEditor getCHESSEditor() {
+		IEditorPart editor = getEditor();
+		PapyrusMultiDiagramEditor r = null;
+		if (editor != null && editor instanceof PapyrusMultiDiagramEditor
+				&& isCHESSProject(editor))
+			r = (PapyrusMultiDiagramEditor) editor;
+		return r;
+	}
+
+	public static DiagramStatus getDiagramStatus(
+			PapyrusMultiDiagramEditor editor) {
+		DiagramStatus ds = null;
+		try {
+			CHESSService cs = editor.getServicesRegistry().getService(CHESSService.class);
+			ds = cs.getDiagramStatus();
+		} catch (ServiceException e) {
+		}
+		return ds;
+	}
+
+	public static MessageDialog showConfirmDialog(EditorPart editor,
+			String dialogTitle, String dialogMessage) {
+		MessageDialog md = new MessageDialog(editor.getSite().getShell(),
+				dialogTitle, null, dialogMessage, MessageDialog.CONFIRM,
+				new String[] { "OK", "No", "Cancel" }, 0);
+		md.setBlockOnOpen(true);
+		return md;
+	}
+
+	public static MessageDialog showYesNoDialog(EditorPart editor,
+			String dialogTitle, String dialogMessage) {
+		MessageDialog md = new MessageDialog(editor.getSite().getShell(),
+				dialogTitle, null, dialogMessage, MessageDialog.CONFIRM,
+				new String[] { "Yes", "No" }, 0);
+		md.setBlockOnOpen(true);
+		return md;
+	}
+
+	public static int StatusDialog(EditorPart editor, String dialogTitle,
+			String dialogMessage, IStatus st) {
+		// return ErrorDialog.openError(editor.getSite().getShell(),
+		// dialogTitle, dialogMessage, st);
+		ErrorDialog er = new ErrorDialog(editor.getSite().getShell(),
+				dialogTitle, dialogMessage, st, IStatus.ERROR) {
+
+			protected void createButtonsForButtonBar(Composite parent) {
+				// create OK and Details buttons
+				createButton(parent, IDialogConstants.YES_ID,
+						IDialogConstants.YES_LABEL, true);
+				createButton(parent, IDialogConstants.NO_ID,
+						IDialogConstants.NO_LABEL, true);
+				createDetailsButton(parent);
+			}
+
+			protected void buttonPressed(int id) {
+				if (id == IDialogConstants.YES_ID)
+					id = IDialogConstants.OK_ID;
+				if (id == IDialogConstants.NO_ID) {
+					setReturnCode(5);
+					close();
+				} else {
+					super.buttonPressed(id);
+				}
+			}
+		};
+		return er.open();
+		// md = new
+		// MessageDialog mm = new MessageDialog(
+		// editor.getSite().getShell(),
+		// dialogTitle,
+		// null,
+		// dialogMessage,
+		// MessageDialog.CONFIRM, new String[] { "Yes", "No" }, 0);
+		// md.setBlockOnOpen(true);
+		// return md;
+	}
+
+	public static void reopenEditor(final IEditorPart editor, final Boolean save) {
+		Display.getDefault().syncExec(new Runnable() {
+			public void run() {
+				IWorkbenchPage page = editor.getEditorSite().getPage();
+				IEditorInput input = editor.getEditorInput();
+				page.closeEditor(editor, save);
+
+				// IEditorDescriptor desc =
+				// page.getWorkbenchWindow().getWorkbench().getEditorRegistry().findEditor(CHESSEditor.ID);
+
+				// IEditorDescriptor desc =
+				// page.getWorkbenchWindow().getWorkbench().getEditorRegistry().getDefaultEditor(input.getName());
+				try {
+					page.openEditor(input, PapyrusMultiDiagramEditor.EDITOR_ID, save);
+				} catch (PartInitException e) {
+					e.printStackTrace();
+				}
+			}
+		});
+	}
+
+	public static boolean isCHESSProject(IEditorPart editor) {
+		IEditorInput x = editor.getEditorInput();
+		
+		IProjectNature nature = null;
+		
+		if (x instanceof URIEditorInput) {
+			URIEditorInput h = (URIEditorInput) x;
+			IFile f = ResourcesPlugin.getWorkspace().getRoot().getFile(new Path(h.getURI().toPlatformString(true)));
+			try {
+				nature = f.getProject().getNature(CHESSNature.NATURE_ID);
+			} catch (CoreException e) {
+				System.err.println(e.getStackTrace());
+			}
+		}else
+		
+		
+		if (x instanceof IFileEditorInput) {
+			IFile y = ((IFileEditorInput) x).getFile();
+
+			try {
+				nature = y.getProject().getNature(CHESSNature.NATURE_ID);
+			} catch (CoreException e) {
+				System.err.println(e.getStackTrace());
+			}
+		}
+		return nature != null;
+	}
+	
+	public static Diagram getDiagram(PapyrusMultiDiagramEditor editor) {
+		Object model = editor.getISashWindowsContainer()
+				.getActiveSashWindowsPage().getRawModel();
+		Diagram diagram = null;
+		if (model instanceof PageRef) {
+			EObject diagramEObj = ((PageRef) model).getEmfPageIdentifier();
+			if (diagramEObj instanceof Diagram) {
+				diagram = (Diagram) diagramEObj;
+			}
+
+		}
+		return diagram;
+	}
+
+	public static DiagramStatus getDiagramStatus(ServicesRegistry registry) {
+		DiagramStatus ds = null;
+		CHESSService cs;
+		try {
+			cs = registry.getService(CHESSService.class);
+			ds = cs.getDiagramStatus();
+		} catch (ServiceException e) {
+		}
+		return ds;
+	}
+
+}
diff --git a/plugins/org.polarsys.chess.validator/.classpath b/plugins/org.polarsys.chess.validator/.classpath
new file mode 100644
index 000000000..8a8f1668c
--- /dev/null
+++ b/plugins/org.polarsys.chess.validator/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/plugins/org.polarsys.chess.validator/.gitignore b/plugins/org.polarsys.chess.validator/.gitignore
new file mode 100644
index 000000000..ae3c17260
--- /dev/null
+++ b/plugins/org.polarsys.chess.validator/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/plugins/org.polarsys.chess.validator/.project b/plugins/org.polarsys.chess.validator/.project
new file mode 100644
index 000000000..f39735c69
--- /dev/null
+++ b/plugins/org.polarsys.chess.validator/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.polarsys.chess.validator</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>com.jutils.lint4j.core.Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>com.jutils.lint4j.core.Nature</nature>
+	</natures>
+</projectDescription>
diff --git a/plugins/org.polarsys.chess.validator/.settings/org.eclipse.core.resources.prefs b/plugins/org.polarsys.chess.validator/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 000000000..7aebdd628
--- /dev/null
+++ b/plugins/org.polarsys.chess.validator/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding//src/org/polarsys/chess/validator/managers/messages.properties=ISO-8859-1
diff --git a/plugins/org.polarsys.chess.validator/.settings/org.eclipse.jdt.core.prefs b/plugins/org.polarsys.chess.validator/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 000000000..8a5c6c759
--- /dev/null
+++ b/plugins/org.polarsys.chess.validator/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,8 @@
+#Fri Apr 15 14:43:26 CEST 2011
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.6
diff --git a/plugins/org.polarsys.chess.validator/.settings/org.eclipse.ocl.modelregistry b/plugins/org.polarsys.chess.validator/.settings/org.eclipse.ocl.modelregistry
new file mode 100644
index 000000000..2fb76f2a8
--- /dev/null
+++ b/plugins/org.polarsys.chess.validator/.settings/org.eclipse.ocl.modelregistry
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="ASCII"?>
+<mreg:ModelRegistrySettings xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:mreg="http://www.eclipse.org/ocl/1.0/ModelRegistry"/>
diff --git a/plugins/org.polarsys.chess.validator/META-INF/MANIFEST.MF b/plugins/org.polarsys.chess.validator/META-INF/MANIFEST.MF
new file mode 100644
index 000000000..f4e991505
--- /dev/null
+++ b/plugins/org.polarsys.chess.validator/META-INF/MANIFEST.MF
@@ -0,0 +1,43 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: CHESS Validator plugin
+Bundle-SymbolicName: org.polarsys.chess.validator;singleton:=true
+Bundle-Version: 0.9.2.qualifier
+Bundle-Activator: org.polarsys.chess.validator.Activator
+Require-Bundle: org.eclipse.papyrus.infra.gmfdiag.common;bundle-version="1.0.0",
+ org.eclipse.papyrus.marte.static.profile,
+ org.eclipse.papyrus.editor,
+ org.polarsys.chess.core,
+ org.eclipse.papyrus.uml.diagram.clazz,
+ org.eclipse.papyrus.uml.diagram.composite,
+ org.eclipse.papyrus.uml.tools,
+ org.eclipse.papyrus.infra.gmfdiag.commands,
+ org.eclipse.papyrus.infra.services.edit,
+ org.polarsys.chess.chessmlprofile,
+ org.eclipse.ocl.uml,
+ org.eclipse.papyrus.infra.widgets.toolbox,
+ org.eclipse.emf.edit.ui;bundle-version="2.10.0",
+ org.eclipse.papyrus.infra.services.markerlistener;bundle-version="1.0.0",
+ org.eclipse.papyrus.infra.core;bundle-version="1.0.0",
+ org.eclipse.papyrus.infra.services.validation;bundle-version="1.0.0",
+ org.polarsys.chess.service
+Bundle-ActivationPolicy: lazy
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Bundle-Vendor: University of Padova
+Export-Package: org.polarsys.chess.validator;
+  uses:="org.eclipse.core.runtime,
+   org.eclipse.ui,
+   org.eclipse.jface.viewers,
+   org.osgi.framework,
+   org.eclipse.emf.common.command,
+   org.eclipse.emf.transaction,
+   org.polarsys.chess.core.resourcelistener",
+ org.polarsys.chess.validator.command,
+ org.polarsys.chess.validator.managers;
+  uses:="org.eclipse.osgi.util,
+   it.unipd.chess.views,
+   org.eclipse.emf.common.command,
+   org.eclipse.emf.transaction,
+   org.eclipse.uml2.uml,
+   org.eclipse.emf.common.notify"
+Import-Package: org.eclipse.uml2.uml
diff --git a/plugins/org.polarsys.chess.validator/about.html b/plugins/org.polarsys.chess.validator/about.html
new file mode 100644
index 000000000..209103075
--- /dev/null
+++ b/plugins/org.polarsys.chess.validator/about.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+ 
+<p>November 14, 2008</p>	
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
+being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content.  Check the Redistributor's license that was 
+provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
+
+</body>
+</html>
\ No newline at end of file
diff --git a/plugins/org.polarsys.chess.validator/build.properties b/plugins/org.polarsys.chess.validator/build.properties
new file mode 100644
index 000000000..5fca95c1b
--- /dev/null
+++ b/plugins/org.polarsys.chess.validator/build.properties
@@ -0,0 +1,8 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+               .,\
+               plugin.xml,\
+               icons/,\
+               build.properties
+src.includes = icons/
diff --git a/plugins/org.polarsys.chess.validator/icons/CHESSval.gif b/plugins/org.polarsys.chess.validator/icons/CHESSval.gif
new file mode 100644
index 0000000000000000000000000000000000000000..43827e036e4bdd965b57f797581272d79d10cda1
GIT binary patch
literal 1039
zcmZ?wbhEHb6krfw_|5<V|Ns9N<lz<J7vSUK7U1C(6B3pX5tR}Xmll_hk&u*?l#-K@
zR+5v~R8<q;<x`NAGd3`^G&A?}_9@CQ;9=*~R@Yp)e8uvm%a$x!+~3>R)zNwK_=yec
z)^FOl>EFNqfByd4eem#~|NsB~|Nrm*|L&7hxj)PBe3Iq)D9ig<j{mcQ01#c06aJ_u
z{zXIbi>Bfi1I70Sy3egGzPdSl^L6^>@BA&$`i7h9w;;D~!5-g2-M@yop74wMo|f`G
zKmBfg<BzVkpZ#4wC$+xq?fp4*$?sJ=fA8D#=iuJohYtNYcJc3(_y0cd%@^m(7j8e;
zb@TUaiI+0!F`C)|I-mc2{`>#0f{}bmakBMw)u4#L${W!I#rZJ@)QU<9HXbhAvSss)
z%}s|&RZmpvy^K_O?<@TwSm{HE%7-wu58>(`BQ!onX#QM1`QPtfA3{_=gsFdw*87-f
z`Z2}wW2*JXT-Q(e9^aRA|Jc6d=bqI+_pSN4Z|$#h2mk%}uC1YAYGh<#Y8o08R9RkL
zn4jO)($ZL8zhT|FKfix}`TY6uqer)H-aL5Vz_zVhH*eZBal(Xu|Ni~_`SZt*AK$-!
z|Mu<M{rmUt+_?jcHE`^W5)_4i;!hSv28PKDIv`U(d4hrC4FfZW%!w5b4lua*%&^ed
zAh?*JpM|ZEQMvO#dxsE5gvbhp7J1Dy8Oaxp3zpb3?c^~`JlyHvE~w?<k@A3%RomC+
z!~~}W{0rOLSc(KpTst}?yqR3MK74qn;41v>gT+Cn?&*9!%p#{AG%zyp+WEYx*z}Nr
znOj`p=?=kEM^QD68jX*}3mTd1B$$3gG%jutYjtIjV-iu)R+d#;R}vU_m_u1W`O2A-
zheOVbX>j@02pTr=%{I<Fb|TWb$!pq~gfkm5o0s*>wr2F;U`bl!Dq)y;X+mSO`s)L7
b`V&}Id{*m|z0Y2ILEy(jrNa!2j11NQsU1ts

literal 0
HcmV?d00001

diff --git a/plugins/org.polarsys.chess.validator/license/Copyright.txt b/plugins/org.polarsys.chess.validator/license/Copyright.txt
new file mode 100644
index 000000000..48804d819
--- /dev/null
+++ b/plugins/org.polarsys.chess.validator/license/Copyright.txt
@@ -0,0 +1,13 @@
+-----------------------------------------------------------------------
+--                       CHESS Validator plugin                      --
+--                                                                   --
+--                    Copyright (C) 2011-2012                        --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author: Alessandro Zovi         azovi@math.unipd.it               --
+--                                                                   --
+-- All rights reserved. This program and the accompanying materials  --
+-- are made available under the terms of the Eclipse Public License  --
+-- v1.0 which accompanies this distribution, and is available at     --
+-- http://www.eclipse.org/legal/epl-v10.html                         --
+-----------------------------------------------------------------------
diff --git a/plugins/org.polarsys.chess.validator/plugin.xml b/plugins/org.polarsys.chess.validator/plugin.xml
new file mode 100644
index 000000000..1d0848121
--- /dev/null
+++ b/plugins/org.polarsys.chess.validator/plugin.xml
@@ -0,0 +1,901 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<plugin>
+ 
+ <extension point="org.polarsys.chess.resourceListener">
+      <listener
+            name="resource listener"
+            realization="org.polarsys.chess.validator.ResourceListener">
+      </listener>
+   </extension>
+ 
+<extension point="org.eclipse.emf.validation.constraintBindings">
+      <clientContext
+            default="false"
+            id="CHESSvalidationContextID">
+         <selector
+               class="org.polarsys.chess.validator.ValidationDelegateClientSelector">
+         </selector>
+      </clientContext>
+      <binding
+            category="ExtraFunctionalView"
+            context="CHESSvalidationContextID">
+      </binding>
+      <binding
+            category="DeploymentView"
+            context="CHESSvalidationContextID">
+      </binding>
+      <binding
+            category="FunctionalView"
+            context="CHESSvalidationContextID">
+      </binding>
+      
+      <binding
+            category="AnalysisView"
+            context="CHESSvalidationContextID">
+      </binding>
+      
+      <binding
+            category="CHESSModelConstraints"
+            context="CHESSvalidationContextID">
+      </binding>
+      
+   </extension> 
+   
+   <!-- CONSTRAINTS: -->
+   
+  <!-- Custom constraint provider using OCL documents -->
+ <!--<extension
+         point="org.eclipse.emf.validation.constraintProviders"
+         id="oclProvider">
+         
+      <constraintProvider cache="true">
+         <package namespaceUri="org.polarsys.chess.core.*"/>
+        
+         <ocl path="OCLconstraints/library.ocl"/>
+        
+      </constraintProvider>
+  </extension>-->
+     
+   <extension
+         point="org.eclipse.emf.validation.constraintProviders">
+         
+     <category
+        id="CHESSModelConstraints"
+        name="CHESS Model Constraints">
+     </category>
+     <category
+           id="CHESSModelConstraints/AnalysisView"
+           name="AnalysisView">
+     </category>
+     <category
+           id="CHESSModelConstraints/ExtraFunctionalView"
+           name="ExtraFunctionalView">
+     </category>
+        
+      <category
+            id="CHESSModelConstraints/DeploymentView"
+            name="DeploymentView">
+      </category>
+      
+      <category
+            id="CHESSModelConstraints/FunctionalView" name="FunctionalView">
+      	 </category>
+      <constraintProvider
+            cache="true">
+         <package
+               namespaceUri="http://www.eclipse.org/uml2/5.0.0/UML">
+         </package>
+         <constraints
+               categories="CHESSModelConstraints/ExtraFunctionalView">
+               
+               <constraint
+                  id="EFVRT_01"
+                  isEnabledByDefault="true"
+                  lang="OCL"
+                  mode="Batch"
+                  name="EFVRT_01"
+                  severity="ERROR"
+                  statusCode="ev01">
+               <message>
+                  The attribute&quot;context&quot; of {0} must be set
+               </message>
+               <description>
+                 The attribute 'context' of CHRtSpecification must be set.
+               </description>
+               <target
+                     class="Comment">
+               </target>
+               <![CDATA[
+  
+               if(self.getAppliedStereotype('CHESS::Predictability::RTComponentModel::CHRtSpecification') <> null) then
+  
+           			 self.getValue(self.getAppliedStereotype('CHESS::Predictability::RTComponentModel::CHRtSpecification'), 'context') <> null
+           			
+           			else
+           				true
+           				endif               	
+               	]]>
+            </constraint>
+            <constraint
+                  class="org.polarsys.chess.validator.constraints.EFVRT_02"
+                  id="EFVRT_02"
+                  isEnabledByDefault="true"
+                  lang="java"
+                  mode="Batch"
+                  name="EFVRT_02"
+                  severity="ERROR"
+                  statusCode="ev02">
+               <message>
+                  The attribute&quot;occKind&quot; of &lt;&lt;CHRtSpecification&gt;&gt; tmust be an instance of PeriodicPattern, SporadicPattern or BurstPattern, otherwise Protection must be 'guarded' or 'concurrent'
+               </message>
+               <description>
+                 The attribute 'occKind' of CHRtSpecification must be set or protection must be 'guarded' or 'concurrent'.
+               </description>
+               <target
+                     class="Comment">
+               </target>
+            </constraint>
+            <constraint
+                  class="org.polarsys.chess.validator.constraints.EFVRT_03"
+                  id="EFVRT_03"
+                  isEnabledByDefault="true"
+                  lang="java"
+                  mode="Batch"
+                  name="EFVRT_03"
+                  severity="ERROR"
+                  statusCode="ev03">
+               <message>
+                  In the&lt;&lt;CH_RtSpecification&gt;&gt; note of the element: [{0}] in the package [{1}] having &quot;occKind&quot; member = &quot;PeriodicPattern&quot; : period must be &gt;=0 and WCET and relDl must be both &gt;=0
+               </message>
+               <description>
+               PeriodicPattern period must > 0 and WCET and relDl must be > 0
+               </description>
+               <target
+                     class="Comment">
+               </target>
+            </constraint>
+            
+            <constraint
+                  class="org.polarsys.chess.validator.constraints.EFVRT_04"
+                  id="EFVRT_04"
+                  isEnabledByDefault="true"
+                  lang="java"
+                  mode="Batch"
+                  name="EFVRT_04"
+                  severity="ERROR"
+                  statusCode="ev04">
+               <message>
+                  In the&lt;&lt;CH_RtSpecification&gt;&gt; note of the element: [{0}] in the package [{1}] having &quot;occKind&quot; member = &quot;PeriodicPattern&quot; : phase,priority and relativePriority attributes are not null and then must be all &gt; 0
+               </message>
+               <target
+                     class="Comment">
+               </target>
+               <description>
+               In CH_RtSpecificationhaving occKind= PeriodicPattern, phase,priority and relativePriority attributes must be >= 0
+               </description>
+            </constraint>
+            
+             <constraint
+                  id="EFVRT_05"
+                  isEnabledByDefault="true"
+                  lang="OCL"
+                  mode="Batch"
+                  name="EFVRT_05"
+                  severity="ERROR"
+                  statusCode="ev05">
+               <message>
+                  In the {0} the attribute&quot;partWithPort&quot; must not be null
+               </message>
+               <target
+                     class="Comment">
+               </target>
+               <description>
+                  CHRtSpecification partWithPort attribut must not be null
+               </description>
+               <![CDATA[
+						if(self.getAppliedStereotype('CHESS::Predictability::RTComponentModel::CHRtSpecification') = null) then
+				  			true
+						else
+               				self.getValue(self.getAppliedStereotype('CHESS::Predictability::RTComponentModel::CHRtSpecification'), 'partWithPort') <> null
+               			endif	
+               	]]>
+            </constraint>
+            
+            <constraint
+                  class="org.polarsys.chess.validator.constraints.EFVRT_20"
+                  id="EFVRT_20"
+                  isEnabledByDefault="true"
+                  lang="java"
+                  mode="Batch"
+                  name="EFVRT_20"
+                  severity="ERROR"
+                  statusCode="ev20">
+               <message>
+                  In the&lt;&lt;CH_RtSpecification&gt;&gt; comment note of the element: [{0}] in the package [{1}] having &quot;occKind&quot; member = &quot;SporadicPattern&quot; : minInterarrival, WCET and relDl attributes must be all &gt;= 0
+               </message>
+               <description>
+                In CH_RtSpecification having occKind=SporadicPattern, minInterarrival, WCET and relDl attributes must be >= 0
+               </description>
+               <target
+                     class="Comment">
+               </target>
+            </constraint>
+            <constraint
+                  class="org.polarsys.chess.validator.constraints.EFVRT_30"
+                  id="EFVRT_30"
+                  isEnabledByDefault="true"
+                  lang="java"
+                  mode="Batch"
+                  name="EFVRT_30"
+                  severity="ERROR"
+                  statusCode="ev30">
+               <message>
+                  In the&lt;&lt;CH_RtSpecification&gt;&gt; comment note of the element: [{0}] in the package [{1}] attribute localWCET is not null and then must be &gt; 0
+                  
+               </message>
+               <description>
+                In CH_RtSpecification attribute priority and relativePriority must be >= 0
+               </description>
+               <target
+                     class="Comment">
+               </target>
+            </constraint>
+            <constraint
+                  class="org.polarsys.chess.validator.constraints.EFVRT_40"
+                  id="EFVRT_40"
+                  isEnabledByDefault="true"
+                  lang="java"
+                  mode="Batch"
+                  name="EFVRT_40"
+                  severity="ERROR"
+                  statusCode="ev40">
+               <target
+                     class="Comment">
+               </target> 
+               <message>
+                  In the&lt;&lt;CH_RtSpecification&gt;&gt; comment note of the element: [{0}] in the package [{1}] the attribute &quot;localWCET&quot; is not null then must be &gt; 0
+               </message>
+               <description>
+                In CH_RtSpecification attribute localWCET must be >= 0
+               </description>
+            </constraint>
+         </constraints>
+         <constraints
+               categories="CHESSModelConstraints/DeploymentView">
+               
+            <constraint
+                  class="org.polarsys.chess.validator.constraints.DV_01"
+                  id="DV_01"
+                  isEnabledByDefault="true"
+                  lang="java"
+                  mode="Batch"
+                  name="DV_01"
+                  severity="ERROR"
+                  statusCode="DV_01">
+               <message>
+                  {1}
+               </message>
+               <target class="InstanceSpecification">
+               </target>
+               <description>
+                 The ComponentImplementation instance must be deployed on exactly one processing unit..
+               </description>
+            </constraint>   
+            
+            <constraint
+                  class="org.polarsys.chess.validator.constraints.DV_02"
+                  id="DV_02"
+                  isEnabledByDefault="true"
+                  lang="java"
+                  mode="Batch"
+                  name="DV_02"
+                  severity="ERROR"
+                  statusCode="DV_02">
+               <message>
+                  {1}
+               </message>
+               <target class="Comment">
+               </target>
+               <description>
+                 The attribute 'from'\'to' of stereotype Assign must be valued with exactly one Element.
+                 The value of the attribute 'from' in stereotype Assign must be an instance (InstanceSpecification) of a ComponentImplementation.
+                 The value of the attribute 'to' in stereotype Assign must be an instance (InstanceSpecification) of a CH_HwProcessor
+               </description>
+            </constraint> 
+            
+            <constraint
+                  class="org.polarsys.chess.validator.constraints.DV_03"
+                  id="DV_03"
+                  isEnabledByDefault="true"
+                  lang="java"
+                  mode="Batch"
+                  name="DV_03"
+                  severity="WARNING"
+                  statusCode="DV_03">
+               <message>
+                  {1}
+               </message>
+               <target class="Component">
+               </target>
+               <description>
+                 The attribute HW_BUS_PACKETT of stereotype HwBus must be set
+               </description>
+            </constraint> 
+            
+            <constraint
+                  class="org.polarsys.chess.validator.constraints.DV_04"
+                  id="DV_04"
+                  isEnabledByDefault="true"
+                  lang="java"
+                  mode="Batch"
+                  name="DV_04"
+                  severity="WARNING"
+                  statusCode="DV_04">
+               <message>
+                  {1}
+               </message>
+               <target class="Component">
+               </target>
+               <description>
+                 The attribute 'speedFactor' of stereotype HwBus is null, default (value=1.0) will be used
+                 The attribute 'blockT' of stereotype HwBus is null, default (worst=0.0,unit=ms) will be used
+                 The attribute 'speedFactor' of stereotype CH_HwProcessor is null, default (value=1.0) will be used
+               </description>
+            </constraint> 
+               
+            <!--constraint
+                  id="DV_05"
+                  isEnabledByDefault="true"
+                  lang="OCL"
+                  mode="Live"
+                  name="DV_05"
+                  severity="ERROR"
+                  statusCode="dv05">
+               <message>
+                  Component {0} in the deployment view must not have operations.
+               </message>
+               <target
+                     class="Component">
+                  <event
+                        name="Add">
+                     <feature
+                           name="ownedOperation">
+                     </feature>
+                  </event>
+               </target>
+               <description>
+                  Components in the deployment view must not have operations.
+               </description>
+               <![CDATA[			
+                let s:Bag(String) = self.getNearestPackage().getAppliedStereotypes().name in
+				let s2:Bag(String) = self.getNearestPackage().allOwningPackages().getAppliedStereotypes().name in
+				if(s->includes('DeploymentView') or s2->includes('DeploymentView')) then
+				if(self.ownedOperation->isEmpty()) then
+					true
+				else false
+				endif
+				else true
+				endif
+               ]]>
+            </constraint-->
+            <!--constraint
+                  id="DV_01"
+                  isEnabledByDefault="false"
+                  lang="OCL"
+                  mode="Batch"
+                  name="DV_01"
+                  severity="ERROR"
+                  statusCode="dv01">
+               <message>
+                Deployment view can only contains the following model entities:
+UML::Abstraction stereotyped with MARTE::MARTE_foundation::Alloc::Allocate
+Package, Component, Property, Connector, &lt;&lt;CH_RtSpecificaiton&gt;&gt; Comments
+               </message>
+               <target
+                     class="Package">
+               </target>
+               <![CDATA[
+                if(self.getAppliedStereotype('CHESS::Core::CHESSViews::DeploymentView') <> null) then
+					let members : Set(NamedElement) = self.member in
+					let comments : Bag(Comment) = self.member->collect(ne:NamedElement | ne.ownedComment) in
+					members->forAll(ne:NamedElement | ne.oclIsKindOf(Package) or ne.oclIsKindOf(Component) or 
+					ne.oclIsKindOf(Property) or ne.oclIsKindOf(Connector) or  ne.oclIsKindOf(Abstraction) and 
+					ne.oclAsType(Abstraction).getAppliedStereotypes()
+					->forAll(s:Stereotype | s.qualifiedName = 'MARTE::MARTE_Foundations::Alloc::Allocate') and
+					comments->forAll(c:Comment | c.getAppliedStereotypes()->forAll(cs:Stereotype | cs.name = 'CH_RtSpecification')))
+				else true
+				endif
+               ]]>
+            </constraint-->
+         </constraints>
+      
+         
+         <constraints
+               categories="CHESSModelConstraints/FunctionalView">
+               
+               
+            <!--constraint  
+                  id="FV_01"
+                  isEnabledByDefault="true"
+                  lang="OCL"
+                  mode="Live"
+                  name="FV_01"
+                  severity="ERROR"
+                  statusCode="fv01">
+               <message>
+                  A ClientServerPort cannot have a type;
+               </message>
+               <target
+                     class="Port">
+                     
+               </target>
+               <description>
+                  A ClientServerPort cannot have a type
+               </description>
+                <![CDATA[
+                
+            	if(self.getAppliedStereotype('MARTE::MARTE_DesignModel::GCM::ClientServerPort') <> null) then
+                  if(self.oclAsType(TypedElement).type <> null) then
+                  	false
+                  else
+                  	true
+                  endif
+                 else
+                 	true
+                 endif
+					]]>
+            </constraint-->
+            
+             <constraint
+                  class="org.polarsys.chess.validator.constraints.FV_02"
+                  id="FV_02"
+                  isEnabledByDefault="true"
+                  lang="java"
+                  mode="Batch"
+                  name="FV_02"
+                  severity="WARNING"
+                  statusCode="FV_02">
+               <message>
+                  ComponentType {0} does not provide an Interface
+               </message>
+               <description>
+                  ComponentType does not provide an Interface
+               </description>
+               <target class="Component">
+               </target>
+            </constraint>
+            
+            <constraint
+                  class="org.polarsys.chess.validator.constraints.FV_03"
+                  id="FV_03"
+                  isEnabledByDefault="true"
+                  lang="java"
+                  mode="Batch"
+                  name="FV_03"
+                  severity="ERROR"
+                  statusCode="FV_03">
+               <message>
+                  {1}
+               </message>
+               <description>
+                  The ComponentImplementation must realize exactly one ComponentType
+                  The ComponentImplementation must define the same operation as the ComponentType it realizes
+               </description>
+               <target class="Component">
+               </target>
+            </constraint>
+            
+            <constraint
+                  class="org.polarsys.chess.validator.constraints.FV_04"
+                  id="FV_03"
+                  isEnabledByDefault="true"
+                  lang="java"
+                  mode="Batch"
+                  name="FV_04"
+                  severity="ERROR"
+                  statusCode="FV_04">
+               <message>
+                  {1}
+               </message>
+               <description>
+               The ComponentType does not define the same operations from the interface it realizes
+               </description>
+               <target class="Component">
+               </target>
+            </constraint>
+            
+            <constraint
+                  class="org.polarsys.chess.validator.constraints.FV_05"
+                  id="FV_05"
+                  isEnabledByDefault="true"
+                  lang="java"
+                  mode="Batch"
+                  name="FV_05"
+                  severity="ERROR"
+                  statusCode="FV_05">
+               <message>
+                  {1}
+               </message>
+               <description>
+               The Port  must be stereotyped by ClientServerPort FlowPort
+               </description>
+               <target class="Component">
+               </target>
+            </constraint>
+            
+            <constraint
+                  class="org.polarsys.chess.validator.constraints.FV_06"
+                  id="FV_06"
+                  isEnabledByDefault="true"
+                  lang="java"
+                  mode="Batch"
+                  name="FV_06"
+                  severity="ERROR"
+                  statusCode="FV_06">
+               <message>
+                  {1}
+               </message>
+               <description>
+               The value of ClientServerPort stereotype's attribute SPEC_KIND  must be set to INTERFACEBASED
+               </description>
+               <target class="Component">
+               </target>
+            </constraint>
+            
+            <constraint
+                  class="org.polarsys.chess.validator.constraints.FV_07"
+                  id="FV_07"
+                  isEnabledByDefault="true"
+                  lang="java"
+                  mode="Batch"
+                  name="FV_07"
+                  severity="ERROR"
+                  statusCode="FV_07">
+               <message>
+                  {1}
+               </message>
+               <description>
+               ClientServerPorts with kind PROREQ are not allowed in ComponentTypes and ComponentImplementations
+               </description>
+               <target class="Component">
+               </target>
+            </constraint>
+            
+            <constraint
+                  id="FV_08"
+                  isEnabledByDefault="true"
+                  lang="OCL"
+                  mode="Live"
+                  name="FV_08"
+                  severity="WARNING"
+                  statusCode="FV_08">
+               <message>
+                  Interfaces should be created only in packages that are descendants of the root package with the stereotype CHESS::ComponentView
+               </message>
+               <description>
+               	  Interfaces should be created only in packages that are descendants of the root package with the stereotype CHESS::ComponentView
+               </description>
+               <target
+                     class="Package">
+                  <event
+                        name="Add">
+                     <feature
+                           name="packagedElement">
+                     </feature>
+                  </event>
+               </target>
+                <![CDATA[ 
+                let p : Set(Package) = self.allOwningPackages() in 
+				if(p->select(pkg:Package | pkg.getAppliedStereotypes().name
+					->includes('ComponentView'))->isEmpty()
+					and self.getAppliedStereotypes().name->excludes('ComponentView')) then
+					let i:Set(Element) = self.ownedElement->select(e:Element | e.oclIsKindOf(Interface)) in
+					if(i->notEmpty()) then false
+					else true
+					endif
+				else true
+				endif ]]>
+            </constraint>
+            
+            <constraint
+                  id="FV_09"
+                  isEnabledByDefault="true"
+                  lang="OCL"
+                  mode="Live"
+                  name="FV_09"
+                  severity="WARNING"
+                  statusCode="FV_09">
+               <message>
+                  Operations should be created only in packages that are descendants of the root package with the stereotype CHESS::ComponentView
+               </message>     	
+               <description>
+               Operations shuold be created only in packages that are descendants of the root package with the stereotype CHESS::ComponentView
+               </description>
+               <target
+                     class="Interface">
+                  <event
+                        name="Add">
+                     <feature
+                           name="ownedOperation">
+                     </feature>
+                  </event>
+               </target>
+               <target
+                     class="Class">
+                  <event
+                        name="Add">
+                     <feature
+                           name="ownedOperation">
+                     </feature>
+                  </event>
+               </target>
+               <![CDATA[
+                let p : Set(Package) = self.allOwningPackages() in 
+				if(not p->select(pkg:Package | pkg.getAppliedStereotypes().name->includes('DeploymentView') or pkg.getAppliedStereotypes().name->includes('RequirementView'))->isEmpty()) then
+					self.ownedOperation->isEmpty()
+				else true
+				endif
+				]]>
+            </constraint>
+            
+            <constraint
+                  class="org.polarsys.chess.validator.constraints.Connector_01"
+                  id="FV_10"
+                  isEnabledByDefault="true"
+                  lang="java"
+                  mode="Live"
+                  name="Connector_01"
+                  severity="WARNING"
+                  statusCode="FV_10">
+               <message>
+                  Interfaces provided and/or required in Ports are not compatible, or components are not at the same level
+               </message>
+               <description>
+               Interfaces provided and/or required in Ports are not compatible, or components are not at the same level
+               </description>
+               
+               <target class="Connector">
+               </target>
+            </constraint>
+            
+            <constraint
+                  class="org.polarsys.chess.validator.constraints.Connector_02"
+                  id="FV_11"
+                  isEnabledByDefault="true"
+                  lang="java"
+                  mode="Live"
+                  name="Connector_02"
+                  severity="WARNING"
+                  statusCode="FV_11">
+               <message>
+                  TODO: work in progress
+               </message>
+               <target class="Connector">
+               </target>
+            </constraint>
+            
+            <constraint
+                  class="org.polarsys.chess.validator.constraints.FlowPorts_01"
+                  id="FlowPorts_01"
+                  isEnabledByDefault="true"
+                  lang="java"
+                  mode="Batch"
+                  name="FlowPorts_01"
+                  severity="WARNING"
+                  statusCode="FlowPorts_01">
+               <message>
+                  The &lt;&lt;FlowPort&gt;&gt; is not mapped to a parameter of a required or provided operation
+               </message>
+               <description>
+               	The FlowPort is not mapped to a parameter of a required or provided operation
+               </description>
+               <target class="Port">
+               </target>
+            </constraint>
+            
+            <constraint
+                  class="org.polarsys.chess.validator.constraints.FlowPorts_02"
+                  id="FlowPorts_02"
+                  isEnabledByDefault="true"
+                  lang="java"
+                  mode="Batch"
+                  name="FlowPorts_02"
+                  severity="WARNING"
+                  statusCode="FlowPorts_02">
+               <message>
+                  The &lt;&lt;FlowPort&gt;&gt; should be mapped to parameters of the same type
+               </message>
+               <description>
+               	The FlowPort should be mapped to parameters of the same type
+               </description>
+               <target class="Port">
+               </target>
+            </constraint>
+            
+            <constraint
+                  class="org.polarsys.chess.validator.constraints.FlowPorts_03"
+                  id="FlowPorts_03"
+                  isEnabledByDefault="true"
+                  lang="java"
+                  mode="Batch"
+                  name="FlowPorts_03"
+                  severity="WARNING"
+                  statusCode="FlowPorts_03">
+               <message>
+                  The &lt;&lt;FlowPort&gt;&gt;  should be mapped to parameters according to their directions, ie:
+                  * port direction IN -&gt; param direction IN or INOUT (param of PROVIDED operation)
+		 		  * port direction OUT -&gt; param direction OUT or INOUT (param of PROVIDED operation)
+		 	 	  * port direction IN -&gt; param direction OUT or INOUT (param of REQUIRED operation)
+		 		  * port direction OUT -&gt; param direction IN or INOUT (param of REQUIRED operation)
+				  * port direction INOUT -&gt; param direction IN or OUT or INOUT (param of REQUIRED or PROVIDED operation)
+               </message>
+               <description>
+               	The FlowPort  should be mapped to parameters according to their directions, ie:
+                  * port direction IN -&gt; param direction IN or INOUT (param of PROVIDED operation)
+		 		  * port direction OUT -&gt; param direction OUT or INOUT (param of PROVIDED operation)
+		 	 	  * port direction IN -&gt; param direction OUT or INOUT (param of REQUIRED operation)
+		 		  * port direction OUT -&gt; param direction IN or INOUT (param of REQUIRED operation)
+				  * port direction INOUT -&gt; param direction IN or OUT or INOUT (param of REQUIRED or PROVIDED operation)
+               </description>
+               <target class="Port">
+               </target>
+            </constraint>
+             
+            <!--constraint
+                  id="FV_01"
+                  isEnabledByDefault="false"
+                  lang="OCL"
+                  mode="Live"
+                  name="FV_01"
+                  severity="ERROR"
+                  statusCode="fv01">
+               <message>
+                  FunctionalView can only contain packages, interfaces, components, interface realizations and usage dependencies.
+               </message>
+               <target
+                     class="Package">
+                  <event
+                        name="Add">
+                     <feature
+                           name="packagedElement">
+                     </feature>
+                  </event>
+               </target>
+               <![CDATA[
+               	let s:Bag(String) = self.getNearestPackage().getAppliedStereotypes().name in
+				let s2:Bag(String) = self.getNearestPackage().allOwningPackages().getAppliedStereotypes().name in
+				if(s->includes('FunctionalView') or s2->includes('FunctionalView')) then
+					if(packagedElement->forAll(pe:PackageableElement | pe.oclIsKindOf(Package) or pe.oclIsKindOf(Component) or 
+						pe.oclIsKindOf(Realization) or pe.oclIsKindOf(Interface) or pe.oclIsKindOf(Usage))) then true
+					else false
+					endif
+				else true
+				endif
+				]]>
+            </constraint-->
+            <!--constraint
+                  id="FV_02"
+                  isEnabledByDefault="false"
+                  lang="OCL"
+                  mode="Live"
+                  name="FV_02"
+                  severity="ERROR"
+                  statusCode="fv02">
+               <message>
+                  The only MARTE subprofile allowed for application in the Functional View is MARTE::MARTE_DesignModel::GCM
+               </message>
+               <target
+                     class="Package">
+                  <event
+                        name="Add">
+                     <feature
+                           name="profileApplication">
+                     </feature>
+                  </event>
+               </target>
+               <![CDATA[
+                if(self.getAppliedStereotype('CHESS::Core::CHESSViews::FunctionalView') <> null) then
+				let p:Set(Profile) = self.getAllAppliedProfiles() in
+				p->select(pr:Profile | pr.qualifiedName.substring(1,5) = 'MARTE')
+				->forAll(pr2:Profile | pr2.qualifiedName = 'MARTE::MARTE_DesignModel::GCM') 
+				else true
+				endif ]]>
+            </constraint-->
+            <!--constraint  covered in fr.irisa.triskell.chess.chckers
+                  id="FV_03"
+                  isEnabledByDefault="true"
+                  lang="OCL"
+                  mode="Batch"
+                  name="FV_03 (to fix live trigger) "
+                  severity="ERROR"
+                  statusCode="fv03">
+               <message>
+                  {0} must have stereotype &quot;ClientServerPort&quot;
+               </message>
+               <target
+                     class="Port">
+               </target>
+                <![CDATA[
+                  let s:Bag(String) = self.getNearestPackage().getAppliedStereotypes().name in	
+      			  let s2:Bag(String) = self.getNearestPackage().allOwningPackages().getAppliedStereotypes().name in
+				  if(s->includes('ComponentView') or s2->includes('ComponentView')) then
+				  	if(self.getAppliedStereotype('MARTE::MARTE_DesignModel::GCM::FlowPort') <> null) then
+				  		true
+				  	else
+         				if(self.getAppliedStereotype('MARTE::MARTE_DesignModel::GCM::ClientServerPort') <> null) then
+         					true
+						else false
+						endif	
+					endif
+				  else true
+				  endif
+					]]>
+            </constraint-->
+            </constraints>
+         
+         <constraints
+               categories="AnalysisView">
+               <constraint
+                  id="AV_01"
+                  isEnabledByDefault="true"
+                  lang="OCL"
+                  mode="Live"
+                  name="AV_01"
+                  severity="ERROR"
+                  statusCode="AV_01">
+               <message>
+                  There must be only one root package of the model on which the stereotype CHESS::AnalysisView is applied
+               </message>
+               <description>
+               	There must be only one root package of the model on which the stereotype CHESS::AnalysisView is applied
+               </description>
+               <target
+                     class="Model">
+                  <event
+                        name="Add">
+                     <feature
+                           name="nestedPackage">
+                     </feature>
+                  </event>
+               </target>
+               <![CDATA[
+                let s : Set(Stereotype) = self.getAppliedStereotypes() in
+				if(s->size() = 1 and s->forAll(st:Stereotype | st.name = 'CHESS::Core::CHESS')) then
+					if(self.nestedPackage->collect(p:Package | p.getAppliedStereotype('CHESS::Core::CHESSViews::AnalysisView'))->size() = 1) then
+		 				true
+					else false
+					endif
+				else true
+				endif ]]>				
+            </constraint>
+            <!--constraint
+                  id="AV_02"
+                  isEnabledByDefault="false"
+                  lang="OCL"
+                  mode="Batch"
+                  name="AV_02"
+                  severity="ERROR"
+                  statusCode="av02">
+               <message>
+                  AnalysisView can only own &lt;&lt;DependabilityAnalysisView&gt;&gt; and &lt;&lt;RTAnalysisView&gt;&gt; as owned elements.
+               </message>
+               <target
+                     class="Package"></target>
+               <![CDATA[ 
+               if(self.getAppliedStereotype('CHESS::Core::CHESSViews::AnalysisView') <> null) then
+				if(self.ownedElement->size() > 0) then
+					self.ownedElement->forAll(e:Element | e.getAppliedStereotypes().name
+					->includes('DependabilityAnalysisView') 
+					or e.getAppliedStereotypes().name->includes('RTAnalysisView'))
+				else true
+			   endif
+			   else true
+			   endif ]]>
+            </constraint-->
+         </constraints>
+      </constraintProvider>
+      
+   </extension>
+
+</plugin>
diff --git a/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/Activator.java b/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/Activator.java
new file mode 100644
index 000000000..cbdb93321
--- /dev/null
+++ b/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/Activator.java
@@ -0,0 +1,65 @@
+/*
+-----------------------------------------------------------------------
+--                       CHESS Validator plugin                      --
+--                                                                   --
+--                    Copyright (C) 2011-2012                        --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author: Alessandro Zovi         azovi@math.unipd.it               --
+--                                                                   --
+-- All rights reserved. This program and the accompanying materials  --
+-- are made available under the terms of the Eclipse Public License  --
+-- v1.0 which accompanies this distribution, and is available at     --
+-- http://www.eclipse.org/legal/epl-v10.html                         --
+-----------------------------------------------------------------------
+*/
+package org.polarsys.chess.validator;
+
+import org.eclipse.core.runtime.Plugin;
+import org.osgi.framework.BundleContext;
+
+/**
+ * The activator class controls the plug-in life cycle
+ */
+public class Activator extends Plugin {
+
+	// The plug-in ID
+	public static final String PLUGIN_ID = "org.polarsys.chess.validator"; //$NON-NLS-1$
+
+	// The shared instance
+	private static Activator plugin;
+	
+	/**
+	 * The constructor
+	 */
+	public Activator() {
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * @see org.eclipse.core.runtime.Plugins#start(org.osgi.framework.BundleContext)
+	 */
+	public void start(BundleContext context) throws Exception {
+		super.start(context);
+		plugin = this;
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * @see org.eclipse.core.runtime.Plugin#stop(org.osgi.framework.BundleContext)
+	 */
+	public void stop(BundleContext context) throws Exception {
+		plugin = null;
+		super.stop(context);
+	}
+
+	/**
+	 * Returns the shared instance
+	 *
+	 * @return the shared instance
+	 */
+	public static Activator getDefault() {
+		return plugin;
+	}
+
+}
diff --git a/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/AddDiagramElement.java b/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/AddDiagramElement.java
new file mode 100644
index 000000000..3b7a4cc27
--- /dev/null
+++ b/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/AddDiagramElement.java
@@ -0,0 +1,739 @@
+/*
+-----------------------------------------------------------------------
+--          			CHESS validator plugin					     --
+--                                                                   --
+--                    Copyright (C) 2011-2012                        --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author: Alessandro Zovi         azovi@math.unipd.it 		         --
+--                                                                   --
+-- All rights reserved. This program and the accompanying materials  --
+-- are made available under the terms of the Eclipse Public License  --
+-- v1.0 which accompanies this distribution, and is available at     --
+-- http://www.eclipse.org/legal/epl-v10.html                         --
+-----------------------------------------------------------------------
+*/
+
+package org.polarsys.chess.validator;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.draw2d.geometry.Point;
+import org.eclipse.emf.common.command.Command;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.transaction.RecordingCommand;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.gef.EditPart;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.DiagramEditPart;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.INodeEditPart;
+import org.eclipse.gmf.runtime.diagram.ui.parts.IDiagramGraphicalViewer;
+import org.eclipse.gmf.runtime.diagram.ui.requests.DropObjectsRequest;
+import org.eclipse.gmf.runtime.emf.core.util.EMFCoreUtil;
+import org.eclipse.gmf.runtime.notation.Diagram;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.GCM.ClientServerKind;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.GCM.ClientServerPort;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.GCM.FlowPort;
+import org.eclipse.papyrus.editor.PapyrusMultiDiagramEditor;
+import org.eclipse.papyrus.infra.core.editor.IMultiDiagramEditor;
+import org.eclipse.papyrus.infra.core.sasheditor.editor.ISashWindowsContainer;
+import org.eclipse.papyrus.infra.core.sashwindows.di.PageRef;
+import org.eclipse.papyrus.infra.core.services.ServiceException;
+import org.eclipse.papyrus.infra.core.utils.EditorUtils;
+import org.eclipse.papyrus.infra.core.utils.ServiceUtils;
+import org.eclipse.papyrus.uml.diagram.clazz.edit.parts.ComponentOperationCompartmentEditPart;
+import org.eclipse.papyrus.uml.diagram.composite.edit.parts.ComponentCompositeCompartmentEditPart;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.InterfaceRealization;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.Package;
+import org.eclipse.uml2.uml.Parameter;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.Profile;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.internal.impl.DependencyImpl;
+import org.eclipse.papyrus.infra.gmfdiag.common.editpart.ResizeableListCompartmentEditPart;
+import org.polarsys.chess.core.profiles.MARTEProfileManager;
+import org.polarsys.chess.core.util.CHESSProjectSupport;
+import org.polarsys.chess.core.util.uml.ResourceUtils;
+import org.polarsys.chess.core.util.uml.UMLUtils;
+import org.polarsys.chess.core.views.ViewUtils;
+import org.polarsys.chess.service.utils.CHESSEditorUtils;
+
+
+@SuppressWarnings("restriction")
+public class AddDiagramElement {
+	
+	public static Command createDependencies(TransactionalEditingDomain domain, final Component comp, final ClientServerPort port){
+		return new RecordingCommand(domain) {
+			
+			@Override
+			protected void doExecute() {
+				//Dependency dependency = org.eclipse.uml2.uml.UMLFactory.eINSTANCE.createDependency();
+				//dependency.getClients().add(namedElement1);
+				//dependency.getSuppliers().add(namedElement2);
+				if (port.getKind() == ClientServerKind.PROVIDED || port.getKind() == ClientServerKind.PROREQ) {
+					for (Interface mInterface : port.getProvInterface()) {
+						if (!exists(comp, mInterface, true)){
+							StringBuilder s = new StringBuilder(25);
+							s.append(comp.getName()).append("_Rlz_").append(mInterface.getName());
+							comp.createInterfaceRealization(s.toString(), mInterface);
+						}						
+						//createGraphicalDependency(comp, dep);
+					}
+				}
+				
+				if (port.getKind() == ClientServerKind.REQUIRED || port.getKind() == ClientServerKind.PROREQ) {
+					for (Interface mInterface : port.getReqInterface()) {
+						if (!exists(comp, mInterface, false)){
+							Dependency dep = comp.createDependency(mInterface);
+							StringBuilder s = new StringBuilder(25);
+							s.append(comp.getName()).append("_Dpn_").append(mInterface.getName());
+							dep.setName(s.toString());
+							//createGraphicalDependency(comp, dep);
+						}
+					}
+				}
+			}
+
+			private boolean exists(Component comp, Interface mInterface,
+					boolean interfaceRealization) {
+				// interfaceRealization is false when we want to check for pure Dependencies
+				if (interfaceRealization) {
+					for (InterfaceRealization ir : comp
+							.getInterfaceRealizations()) {
+						if (ir.getContract().equals(mInterface)) {
+							return true;
+						}
+					}
+				} else {
+					for (Dependency dp : comp.getClientDependencies()){
+						if (dp.getClass().equals(DependencyImpl.class)){
+							for (NamedElement i : dp.getSuppliers()) {
+								if (i instanceof Interface && mInterface.equals(i))
+									return true;
+							}
+						}
+					}
+				}
+
+				return false;
+			}
+		};
+	}
+	
+	public static Command destroyDependencies(TransactionalEditingDomain domain, final EList<? extends Dependency> deps){
+		return new RecordingCommand(domain) {
+			@Override
+			protected void doExecute() {
+				for (Dependency dependency : deps) {
+					dependency.destroy();
+				}
+			}
+		};
+	}
+	
+	
+	public static Command addOperationCommand(
+			TransactionalEditingDomain domain, final Classifier interf, final Component comp) {
+		
+		return new RecordingCommand(domain) {
+
+			@Override
+			protected void doExecute() {
+				for (Operation operation : interf.getAllOperations()) {
+					if (!UMLUtils.isOperationContained(comp, operation)) {
+						Operation newOp = comp.createOwnedOperation(operation.getName(),null,null);
+						UMLUtils.copyOperation(operation, newOp);
+						createGraphicalOperation(comp, newOp);
+					}
+				}
+				
+			}
+			
+		};
+	}
+	
+//	public static Command addOperationCommand(TransactionalEditingDomain domain, final Component interf, final Component comp) {
+//		
+//		return new RecordingCommand(domain) {
+//
+//			@Override
+//			protected void doExecute() {
+//				for (Operation operation : interf.getAllOperations()) {
+//					if (!UMLUtils.isOperationContained(comp, operation))	{
+//						//EList<String> paramNames = UMLUtils.getParamNames(operation.getOwnedParameters());
+//						Operation newOp = comp.createOwnedOperation(operation.getName(),null,null);
+//						UMLUtils.copyOperation(operation, newOp);
+//						createGraphicalOperation(comp, newOp);
+//					}
+//				}
+//				
+//			}
+//			
+//		};
+//	}
+
+//	public static void addClientServerPort(Component comp, EList<Dependency> dependencies)
+//	{
+//		Profile gcm = null;
+//		Stereotype stereo = null;
+//		EList<Profile> profiles = comp.getNearestPackage().getAppliedProfiles();
+//		
+//		for (Profile profile : profiles) 
+//		{
+//			if ( profile.getName().equalsIgnoreCase("gcm"))
+//			{
+//				//MARTEProfileManager.getClientServerPort() is not working so far :(
+//				gcm = profile;
+//			}
+//		}
+//		
+//		for (Dependency dependency : dependencies) 
+//		{
+//			Dependency dep = (Dependency) dependency;
+//			for (NamedElement dep_sup : dep.getSuppliers()) 
+//			{
+//				if ( comp.getOwnedPort(dep_sup.getName(), (Interface)dep_sup) == null )
+//				{
+//					Port port = comp.createOwnedPort(dep_sup.getName(), (Interface)dep_sup);
+//					EObject p = port.applyStereotype(gcm.getOwnedStereotype("ClientServerPort"));
+//					if (p instanceof DynamicEObjectImpl) 
+//					{
+//						DynamicEObjectImpl d = (DynamicEObjectImpl) p;
+//						stereo = UMLUtil.getStereotype(d);
+//					}
+//					
+//					EList<Interface> tmp = null;
+//					
+//					if ( dependency instanceof InterfaceRealization )
+//					{
+//						if ( port.getValue(stereo, "provInterface") != null  )
+//						{
+//							tmp =  (EList<Interface>) port.getValue(stereo, "provInterface");
+//							tmp.add((Interface)dep_sup);
+//						}
+//						port.setValue(stereo, "kind", "provided");
+//						//DO NOT SET THE VALUE AGAIN OR THE LIST WILL BE CLEARED UP!!!
+//						//port.setValue(gcm.getOwnedStereotype("ClientServerPort"), "reqInterface", tmp);
+//					}
+//					else if ( dependency instanceof Realization )
+//					{
+//						//NOT YET DEFINED
+//					}
+//					else 
+//					{
+//						if ( port.getValue(stereo, "reqInterface") != null  )
+//						{
+//							tmp =  (EList<Interface>) port.getValue(stereo, "reqInterface");
+//							tmp.add((Interface)dep_sup);
+//							port.setValue(stereo, "kind", "required");
+//							//DO NOT SET THE VALUE AGAIN OR THE LIST WILL BE CLEARED UP!!!
+//							//port.setValue(gcm.getOwnedStereotype("ClientServerPort"), "reqInterface", tmp);
+//						}
+//					}
+//					
+//					createGraphicalPort(comp, port);
+//				}
+//			}
+//		}
+//	}
+	
+	public static Command addAllPortsCommand(TransactionalEditingDomain domain, final Component providerComp, final Component clientComp) {
+		return new RecordingCommand(domain) {
+			@Override
+			protected void doExecute() {
+				//addClientServerPort(comp, interf.getClientDependencies());
+				Profile gcm = ViewUtils.getView(clientComp).getAppliedProfile("MARTE::MARTE_DesignModel::GCM");
+				if (gcm == null) 
+					return;
+				Stereotype cspStereotype = gcm.getOwnedStereotype("ClientServerPort");
+				
+				for (Port supplierPort : providerComp.getOwnedPorts()) {
+					ClientServerPort cspSupplied = UMLUtils.getStereotypeApplication(supplierPort, ClientServerPort.class);
+					if (cspSupplied == null)
+						continue;
+					if (clientComp.getOwnedPort(supplierPort.getName(), supplierPort.getType()) == null){
+						Port clientPort = clientComp.createOwnedPort(supplierPort.getName(), supplierPort.getType());
+						ClientServerPort cspClient = (ClientServerPort) clientPort.applyStereotype(cspStereotype);
+						cspClient.setKind(cspSupplied.getKind());
+						clientPort.setValue(cspStereotype, "provInterface", supplierPort.getValue(cspStereotype, "provInterface"));
+						clientPort.setValue(cspStereotype, "reqInterface", supplierPort.getValue(cspStereotype, "reqInterface"));
+					}
+					
+				}
+				
+				//flow ports!
+				EList<Port> typePortList = providerComp.getOwnedPorts();
+				for (Port typePort : typePortList) {
+					Stereotype typeFlowPort = typePort.getAppliedStereotype("MARTE::MARTE_DesignModel::GCM::FlowPort");
+//					EList<Dependency> typePortMappings = typePort.getClientDependencies();
+					//if port doesn't already exists in the implementation (client)
+					if (clientComp.getOwnedPort(typePort.getName(), typePort.getType()) == null){
+						//create it!
+						Port implPort = clientComp.createOwnedPort(typePort.getName(), typePort.getType());
+						//apply <<FlowPort>> and set "direction"
+						implPort.applyStereotype(typeFlowPort);
+						Stereotype implFlowPort = implPort.getAppliedStereotype("MARTE::MARTE_DesignModel::GCM::FlowPort");
+						implPort.setValue(implFlowPort, "direction", typePort.getValue(typeFlowPort, "direction"));
+						
+						//copy the mappings: SKIPPED FOR THE MOMENT -  mappings are defined at ComponentType level
+//						Package owningPkg = implPort.allOwningPackages().get(0);
+//						for (Dependency dep : typePortMappings) {
+//							if(dep instanceof Abstraction && dep.getAppliedStereotype("MARTE::MARTE_Foundations::Alloc::Allocate") != null){
+//								Abstraction abs = UMLFactory.eINSTANCE.createAbstraction();
+//								
+////								abs.getClients().add();
+//								abs.getSuppliers().add(implPort);
+//								abs.setName(dep.getName());
+//								owningPkg.getPackagedElements().add(abs);
+//								//apply <<Allocate>> stereotype
+//								MARTEProfileManager.applyStereotypeTo("allocate", abs);
+//							}
+//						}
+					}
+				}
+				
+				
+//				for (Port p : providerComp.getOwnedPorts()) {
+//					Port po = p;
+//					boolean alreadyExits = false;
+//					
+//					clientComp.getOwnedPort(p.getName(), p.getType());
+//					if (!alreadyExits){
+//						clientComp.createOwnedPort(name, type)
+//					}
+//				}
+				
+				
+//				for (Dependency dependency : providerComp.getClientDependencies()) {
+//					for (NamedElement supplier : dependency.getSuppliers()) {
+//						if (clientComp.getOwnedPort(supplier.getName(), (Interface)supplier) == null )	{
+//							Port port = clientComp.createOwnedPort(supplier.getName(), (Interface)supplier);
+//							
+//							port.applyStereotype(cspStereotype);
+//							
+//							EList<Interface> tmp = null;
+//							
+//							if ( dependency instanceof InterfaceRealization )
+//							{
+//								if ( port.getValue(cspStereotype, "provInterface") != null  )
+//								{
+//									tmp =  (EList<Interface>) port.getValue(cspStereotype, "provInterface");
+//									tmp.add((Interface)supplier);
+//								}
+//								port.setValue(cspStereotype, "kind", "provided");
+//								//DO NOT SET THE VALUE AGAIN OR THE LIST WILL BE CLEARED UP!!!
+//								//port.setValue(gcm.getOwnedStereotype("ClientServerPort"), "reqInterface", tmp);
+//							}
+//							else if ( dependency instanceof Realization )
+//							{
+//								//NOT YET DEFINED
+//							}
+//							else 
+//							{
+//								if ( port.getValue(cspStereotype, "reqInterface") != null  )
+//								{
+//									tmp =  (EList<Interface>) port.getValue(cspStereotype, "reqInterface");
+//									tmp.add((Interface)supplier);
+//									port.setValue(cspStereotype, "kind", "required");
+//									//DO NOT SET THE VALUE AGAIN OR THE LIST WILL BE CLEARED UP!!!
+//									//port.setValue(gcm.getOwnedStereotype("ClientServerPort"), "reqInterface", tmp);
+//								}
+//							}
+//							
+//							createGraphicalPort(clientComp, port);
+//						}
+//					}
+//				}
+
+			}
+			
+		};
+	}
+
+	
+	
+	
+	public static Command addPortCommand(TransactionalEditingDomain domain, final Component providerComp, final Component clientComp, final Port supplierPort) {
+		return new RecordingCommand(domain) {
+			@Override
+			protected void doExecute() {
+				//addClientServerPort(comp, interf.getClientDependencies());
+				Profile gcm = ViewUtils.getView(clientComp).getAppliedProfile("MARTE::MARTE_DesignModel::GCM");
+				if (gcm == null) 
+					return;
+				Stereotype cspStereotype = gcm.getOwnedStereotype("ClientServerPort");
+				ClientServerPort cspSupplied = UMLUtils.getStereotypeApplication(supplierPort, ClientServerPort.class);
+				if (cspSupplied == null)
+					return;
+				if (clientComp.getOwnedPort(supplierPort.getName(), supplierPort.getType()) == null){
+					Port clientPort = clientComp.createOwnedPort(supplierPort.getName(), supplierPort.getType());
+					ClientServerPort cspClient = (ClientServerPort) clientPort.applyStereotype(cspStereotype);
+					cspClient.setKind(cspSupplied.getKind());
+					clientPort.setValue(cspStereotype, "provInterface", supplierPort.getValue(cspStereotype, "provInterface"));
+					clientPort.setValue(cspStereotype, "reqInterface", supplierPort.getValue(cspStereotype, "reqInterface"));
+				}
+			}
+		};
+	}
+	
+	
+	//add operation to the interface's clients
+	public static Command addOperationCommand1(TransactionalEditingDomain domain, final Interface interf, final Operation operation){
+		return new RecordingCommand(domain) {
+
+			@Override
+			protected void doExecute() {
+				EList<NamedElement> relationships = UMLUtils.getInterfaceClients(interf);
+				if (relationships != null && !relationships.isEmpty()) {
+					for (NamedElement element : relationships) {
+						if (element instanceof Component){
+							Component comp = (Component)element;
+							for (NamedElement compImpl : UMLUtils.getComponentImplementations(comp)) {
+								if (compImpl instanceof Component){
+									Operation newOp = ((Class) compImpl).createOwnedOperation(operation.getName(),null,null);
+									UMLUtils.copyOperation(operation, newOp);
+									createGraphicalOperation((Component) compImpl, newOp);
+								}
+							}
+							Operation newOp = comp.createOwnedOperation(operation.getName(),null,null);
+							UMLUtils.copyOperation(operation, newOp);
+							
+							createGraphicalOperation(comp, newOp);			
+						}
+					}
+				}
+				
+			}
+			
+		};
+	}
+	
+	
+	/*private static void createGraphicalDependency(Component comp, Dependency dep){
+		PapyrusMultiDiagramEditor editor = (PapyrusMultiDiagramEditor) PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActiveEditor();
+		ISashWindowsContainer container = null;
+		try {
+			container = ServiceUtils.getInstance().getISashWindowsContainer(editor.getServicesRegistry());
+		} catch (ServiceException e) {
+			return;
+		}
+		
+		DropObjectsRequest dropObjectsRequest = new DropObjectsRequest();
+		dropObjectsRequest.setLocation(new Point(1, 1));
+		ArrayList<Object> objectList = new ArrayList<Object>();
+		objectList.add(dep);
+		dropObjectsRequest.setObjects(objectList);
+		List<EditPart> editParts = (List<EditPart>)editor.getDiagramGraphicalViewer().findEditPartsForElement(
+				EMFCoreUtil.getProxyID(comp),
+				INodeEditPart.class
+			);
+		
+		List<Object> childrenEparts = editParts.get(0).getChildren();
+		ComponentOperationCompartmentEditPart compAttrEpart = null;
+		for(int i=0; i<childrenEparts.size(); i++){
+			if(childrenEparts.get(i) instanceof ComponentOperationCompartmentEditPart){
+				compAttrEpart = (ComponentOperationCompartmentEditPart)childrenEparts.get(i);
+				
+				org.eclipse.gef.commands.Command cmd = compAttrEpart.getCommand(dropObjectsRequest);
+				
+				editor.getDiagramEditPart().getDiagramEditDomain().getDiagramCommandStack().execute(cmd);
+				
+			}  
+		}
+		
+	}*/
+	
+	private static void createGraphicalOperation(Component containerComp, Operation newOp){
+		IMultiDiagramEditor editor = EditorUtils.getMultiDiagramEditor();
+		/*ISashWindowsContainer container = null;
+		try {
+			container = ServiceUtils.getInstance().getISashWindowsContainer(editor.getServicesRegistry());
+		} catch (ServiceException e) {
+			return;
+		}
+		Object model = container.getActiveSashWindowsPage().getRawModel();
+		Diagram diagram = null;
+		if (model instanceof PageRef) {
+			EObject diagramEObj = ((PageRef) model).getEmfPageIdentifier();
+			if (diagramEObj instanceof Diagram) {
+				diagram = (Diagram) diagramEObj;
+			}
+		}*/
+		Diagram diagram = (Diagram)editor.getAdapter(Diagram.class);
+		DiagramEditPart diagramEP = (DiagramEditPart)editor.getAdapter(DiagramEditPart.class);
+		IDiagramGraphicalViewer viewer = (IDiagramGraphicalViewer)diagramEP.getViewer();
+		
+		DropObjectsRequest dropObjectsRequest = new DropObjectsRequest();
+		dropObjectsRequest.setLocation(new Point(1, 1));
+		ArrayList<Object> objectList = new ArrayList<Object>();
+		objectList.add(newOp);
+		dropObjectsRequest.setObjects(objectList);
+		@SuppressWarnings("unchecked")
+		List<EditPart> editParts = (List<EditPart>)viewer.findEditPartsForElement(
+				EMFCoreUtil.getProxyID(containerComp),
+				INodeEditPart.class
+			);
+		
+		StringBuilder s = new StringBuilder();
+		
+		s.delete(0, s.length());
+		s.append("CREATING GUI OP");
+		CHESSProjectSupport.CHESS_CONSOLE.println(s.toString());
+		
+		
+		s.delete(0, s.length());
+		s.append("EDITPARTS " + editParts);
+		CHESSProjectSupport.CHESS_CONSOLE.println(s.toString());
+		
+		s.delete(0, s.length());
+		s.append("EDITPARTS SIZE " + editParts.size());
+		CHESSProjectSupport.CHESS_CONSOLE.println(s.toString());
+		
+		List<Object> childrenEparts = editParts.get(0).getChildren();
+		ComponentOperationCompartmentEditPart compAttrEpart = null;
+		for(int i=0; i<childrenEparts.size(); i++){
+			if(childrenEparts.get(i) instanceof ComponentOperationCompartmentEditPart){
+				compAttrEpart = (ComponentOperationCompartmentEditPart)childrenEparts.get(i);
+				org.eclipse.gef.commands.Command cmd = compAttrEpart.getTargetEditPart(dropObjectsRequest).getCommand(dropObjectsRequest);
+				//org.eclipse.gef.commands.Command cmd = compAttrEpart.getCommand(dropObjectsRequest);
+				s.delete(0, s.length());
+				s.append("EXEC GUI COMMAND" + editParts);
+				CHESSProjectSupport.CHESS_CONSOLE.println(s.toString());
+				diagramEP.getDiagramEditDomain().getDiagramCommandStack().execute(cmd);
+			}  
+		}
+		
+	}
+	
+	private static void createGraphicalPort(Component containerComp, Port port){
+		IMultiDiagramEditor editor = EditorUtils.getMultiDiagramEditor();
+		Diagram diagram = (Diagram)editor.getAdapter(Diagram.class);
+		DiagramEditPart diagramEP = (DiagramEditPart)editor.getAdapter(DiagramEditPart.class);
+		IDiagramGraphicalViewer viewer = (IDiagramGraphicalViewer)diagramEP.getViewer();
+		DropObjectsRequest dropObjectsRequest = new DropObjectsRequest();
+		dropObjectsRequest.setLocation(new Point(1, 1));
+		ArrayList<Object> objectList = new ArrayList<Object>();
+		objectList.add(port);
+		dropObjectsRequest.setObjects(objectList);
+		@SuppressWarnings("unchecked")
+		List<EditPart> editParts = (List<EditPart>)viewer.findEditPartsForElement(
+				EMFCoreUtil.getProxyID(containerComp),
+				INodeEditPart.class
+			);
+		
+		if ( editParts.size() > 0 )
+		{
+			List<Object> childrenEparts = editParts.get(0).getChildren();
+			ComponentCompositeCompartmentEditPart compAttrEpart = null;
+			for(int i=0; i<childrenEparts.size(); i++)
+			{		
+				if(childrenEparts.get(i) instanceof ComponentCompositeCompartmentEditPart){
+					compAttrEpart = (ComponentCompositeCompartmentEditPart)childrenEparts.get(i);
+					
+					org.eclipse.gef.commands.Command cmd = compAttrEpart.getCommand(dropObjectsRequest);
+					
+					diagramEP.getDiagramEditDomain().getDiagramCommandStack().execute(cmd);
+					
+				}  
+			}
+		}
+	}
+	
+	
+	//adds a Comment stereotyped with Assign to the assignList of the deployment view
+	public static Command addCommentCommand(
+			TransactionalEditingDomain domain, final Comment comm) {
+		
+		return new RecordingCommand(domain) {
+
+			@Override
+			protected void doExecute() {
+
+				
+				PapyrusMultiDiagramEditor editor = CHESSEditorUtils.getCHESSEditor();
+				if (editor == null)
+					return;
+				
+				if(comm.getAppliedStereotype("MARTE::MARTE_Foundations::Alloc::Assign")!= null){
+					try {
+						Resource res = ResourceUtils.getUMLResource(editor.getServicesRegistry());
+						Model umlModel = ResourceUtils.getModel(res);
+						
+						Package deplViewPkg = (Package) umlModel.getPackagedElement("modelDeploymentView");
+						Stereotype deplView = deplViewPkg.getAppliedStereotype("CHESS::Core::CHESSViews::DeploymentView");
+						if (deplView != null){
+							EList<Comment> tmp = (EList<Comment>) deplViewPkg.getValue(deplView, "AssignList");
+							tmp.add(comm);
+							//editor.getDiagramStatus().setUserAction(false);
+							System.out.println(deplViewPkg.getValue(deplView, "AssignList").toString());
+						}
+						
+					} catch (ServiceException e) {
+						// TODO Auto-generated catch block
+						e.printStackTrace();
+					}
+				}
+			}
+		};
+	}
+	
+	public static Command removeCommentCommand(
+			TransactionalEditingDomain domain, final Comment comm) {
+
+		return new RecordingCommand(domain) {
+
+			@Override
+			protected void doExecute() {
+				PapyrusMultiDiagramEditor editor = CHESSEditorUtils.getCHESSEditor();
+				if (editor == null)
+					return;
+				
+				if(comm.getAppliedStereotype("MARTE::MARTE_Foundations::Alloc::Assign")!= null){
+
+					try {
+						Resource res = ResourceUtils.getUMLResource(editor.getServicesRegistry());
+						Model umlModel = ResourceUtils.getModel(res);
+
+						Package deplViewPkg = (Package) umlModel.getPackagedElement("modelDeploymentView");
+						Stereotype deplView = deplViewPkg.getAppliedStereotype("CHESS::Core::CHESSViews::DeploymentView");
+						if (deplView != null){
+							EList<Comment> tmp = (EList<Comment>) deplViewPkg.getValue(deplView, "AssignList");
+							tmp.remove(comm);
+						}
+
+					} catch (ServiceException e) {
+						e.printStackTrace();
+					}
+
+				}
+
+			}
+		};
+
+	}
+	
+	public static Command addParameterCommand(final Interface opCont, final Parameter param, final Operation operation, TransactionalEditingDomain domain) {
+		return new RecordingCommand(domain) {
+		
+			@Override
+			protected void doExecute() {
+				
+				EList<Component> relationships = UMLUtils.getAllInterfaceComponents(opCont);
+				if (relationships == null || relationships.isEmpty()) 
+					return;
+				for (Component comp : relationships) {
+					for (Operation op : comp.getOwnedOperations()) {
+						if (UMLUtils.areOperationsEqual(operation, op, param)) {
+							Parameter tmp = op.createOwnedParameter(param.getName(),param.getType());
+							tmp.setDirection(param.getDirection());
+							tmp.setEffect(param.getEffect());
+						}
+					}
+				}
+			}
+		};
+	}
+	
+	
+	//TODO very similar to addAllPortsCommand: refactor? 
+	public static Command updateImplementationsPorts(
+			TransactionalEditingDomain domain, final ClientServerPort cspSupplied) {
+		
+		return new RecordingCommand(domain) {
+			
+			@Override
+			protected void doExecute() {
+				Port supplierPort = cspSupplied.getBase_Port();
+				Element supplierComp = supplierPort.getOwner();
+				if (!UMLUtils.isComponentType(supplierComp))
+					return;
+				
+				Profile gcm = ViewUtils.getView(supplierComp).getAppliedProfile("MARTE::MARTE_DesignModel::GCM");
+				if (gcm == null) 
+					return;
+				Stereotype cspStereotype = gcm.getOwnedStereotype("ClientServerPort");
+				
+				for(Component clientComp: UMLUtils.getComponentImplementations((Component) supplierComp)){
+					Port clientPort = clientComp.getOwnedPort(supplierPort.getName(), supplierPort.getType());
+					if (clientPort == null){
+						clientPort = clientComp.createOwnedPort(supplierPort.getName(), supplierPort.getType());
+						MARTEProfileManager.applyStereotypeTo("ClientServerPort", clientPort);
+					}
+//						return;
+					ClientServerPort cspClient = (ClientServerPort) clientPort.getStereotypeApplication(cspStereotype);
+					cspClient.setKind(cspSupplied.getKind());
+					clientPort.setValue(cspStereotype, "provInterface", supplierPort.getValue(cspStereotype, "provInterface"));
+					clientPort.setValue(cspStereotype, "reqInterface", supplierPort.getValue(cspStereotype, "reqInterface"));
+				}
+			}
+		};
+	}
+	
+	
+	public static Command updateImplementationsFlowPorts(
+			TransactionalEditingDomain domain, final FlowPort flPort) {
+		
+		return new RecordingCommand(domain) {
+
+			@Override
+			protected void doExecute() {
+				// TODO Auto-generated method stub
+				Port portType = flPort.getBase_Port();
+				Element compType = portType.getOwner();
+				if (!UMLUtils.isComponentType(compType))
+					return;
+				
+				Stereotype flpType = portType.getAppliedStereotype("MARTE::MARTE_DesignModel::GCM::FlowPort");
+				
+				for(Component compImpl : UMLUtils.getComponentImplementations((Component) compType)){
+					Port portImpl = compImpl.getOwnedPort(portType.getName(), portType.getType());
+					if (portImpl == null){
+						portImpl = compImpl.createOwnedPort(portType.getName(), portType.getType());
+						MARTEProfileManager.applyStereotypeTo("FlowPort", portImpl);
+					}
+					Stereotype flpImpl = portImpl.getAppliedStereotype("MARTE::MARTE_DesignModel::GCM::FlowPort");
+					portImpl.setValue(flpImpl, "direction", portType.getValue(flpType, "direction"));
+				}
+			}
+			
+		};
+
+	}
+	
+	
+	public static Command removeImplementationsPorts(
+			TransactionalEditingDomain domain, final Port supplierPort) {
+		
+		return new RecordingCommand(domain) {
+			
+			@Override
+			protected void doExecute() {
+				Element supplierComp = supplierPort.getOwner();
+				if (!UMLUtils.isComponentType(supplierComp))
+					return;
+				
+				for(Component clientComp: UMLUtils.getComponentImplementations((Component) supplierComp)){
+					Port clientPort = clientComp.getOwnedPort(supplierPort.getName(), supplierPort.getType());
+					if (clientPort == null)
+						return;
+					clientPort.destroy();
+				}
+			}
+		};
+	}
+
+	
+}
diff --git a/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/ResourceListener.java b/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/ResourceListener.java
new file mode 100644
index 000000000..04be55d35
--- /dev/null
+++ b/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/ResourceListener.java
@@ -0,0 +1,421 @@
+/*
+-----------------------------------------------------------------------
+--          			CHESS validator plugin					     --
+--                                                                   --
+--                    Copyright (C) 2011-2012                        --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- All rights reserved. This program and the accompanying materials  --
+-- are made available under the terms of the Eclipse Public License  --
+-- v1.0 which accompanies this distribution, and is available at     --
+-- http://www.eclipse.org/legal/epl-v10.html                         --
+-----------------------------------------------------------------------
+*/
+
+package org.polarsys.chess.validator;
+
+import java.util.List;
+import java.util.Map.Entry;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.emf.common.command.Command;
+import org.eclipse.emf.common.command.CompoundCommand;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.EMap;
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.impl.DynamicEObjectImpl;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.transaction.ResourceSetChangeEvent;
+import org.eclipse.emf.transaction.RollbackException;
+import org.eclipse.gmf.runtime.notation.Diagram;
+import org.eclipse.gmf.runtime.notation.Shape;
+import org.eclipse.papyrus.infra.core.sashwindows.di.PageList;
+import org.eclipse.papyrus.infra.core.services.ServiceException;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.InstanceSpecification;
+import org.polarsys.chess.core.notifications.ResourceNotification;
+import org.polarsys.chess.core.profiles.CHESSProfileManager;
+import org.polarsys.chess.core.resourcelistener.ResourceSetListenerExtra;
+import org.polarsys.chess.core.util.CHESSProjectSupport;
+import org.polarsys.chess.core.util.NotificationManager;
+import org.polarsys.chess.core.views.DiagramStatus;
+import org.polarsys.chess.service.utils.CHESSEditorUtils;
+import org.polarsys.chess.validator.managers.ModelManager;
+import org.polarsys.chess.validator.managers.ModelParser;
+import org.polarsys.chess.validator.managers.ViewManager;
+
+public class ResourceListener extends ResourceSetListenerExtra {
+
+	private StringBuffer s = new StringBuffer();
+	//private OCLEvaluator validator = OCLEvaluator.loadEvaluator();	
+	private ViewManager viewmgr = ViewManager.loadViewManager();
+	private ModelManager automatedActionManager = ModelManager.loadModelManager();
+	//private ModelManagerOld modelManager = ModelManagerOld.loadModelManagerOld();
+	private ModelParser modelparser = new ModelParser();
+	
+//	private IStatus statusCheckViewStereotype = new Status(IStatus.ERROR, Activator.PLUGIN_ID,
+//	"A view cannot be modified or removed");
+	
+	
+//	
+//	private IStatus statusInstanceSpecification = new Status(IStatus.ERROR, Activator.PLUGIN_ID,
+//	"Cannot edit InstanceSpecification elements");
+	
+//	private IStatus predefinedProfileError =  new Status(IStatus.ERROR, Activator.PLUGIN_ID,
+//	"A predefined profile cannot be removed");
+	
+	@Override
+	public Command transactionAboutToCommit(ResourceSetChangeEvent event) throws RollbackException {
+		List<Notification> list = event.getNotifications();
+		DiagramStatus ds;
+		CompoundCommand command = new CompoundCommand();
+		
+			ds = CHESSEditorUtils.getDiagramStatus(sr);
+		if (ds == null){
+			return command;
+		}
+		
+		
+		//printList(list);
+
+		boolean executeModelParser = true;
+		if (!ds.isUserAction()){
+			System.out.println("SUPER USER ACTIONS");
+			executeModelParser = false;
+		}
+		//ds.setUserAction(true);
+		int i = 0;
+		for (Notification notif : list) {
+			i++;
+			if (notif instanceof ENotificationImpl) {
+				ENotificationImpl notification = (ENotificationImpl) notif;
+				final Object notifier = notification.getNotifier();
+				if (isNotationElement(notifier))
+					continue;
+				
+				System.out.println("ACTION "+i+" OF "+list.size()+": "+notif);	
+				System.out.println("TYPE: " + NotificationManager.printEventType(notification));
+				System.out.println("NOTIFIER: " + notifier);
+				System.out.println("FEATURE: " + notification.getFeature());
+				if (notification.getEventType()==Notification.REMOVE)
+					System.out.println("OLDVALUE: " + notification.getOldValue());
+				else if (notification.getEventType()==Notification.ADD)
+					System.out.println("NEWVALUE: " + notification.getNewValue());
+				else {
+					System.out.println("OLDVALUE: " + notification.getOldValue());
+					System.out.println("NEWVALUE: " + notification.getNewValue());
+				}
+				
+				System.out.println("SUPERUSER: " + !executeModelParser);
+				if (!allowedNotifier(notifier)){
+					continue;
+				}
+
+				
+				s.delete(0, s.length());
+				s.append("R.");
+				s.append(NotificationManager.printEventType(notification));
+				
+				
+//				/*
+//				 * @dynamicConstraint R_S_1
+//				 */
+//				if (notifier instanceof ProfileApplication){
+//					System.out.println(notif.getEventType());
+//					if ((notif.getEventType() == Notification.SET || 
+//						 notif.getEventType() == Notification.REMOVE) 
+//							&& UMLUtils.isPredefinedProfile(notif.getOldValue())){
+//						ResourceNotification.showInfo(predefinedProfileError.getMessage());
+//						throw new RollbackException(predefinedProfileError);
+//					}
+//				}
+				
+//				/*
+//				 * @dynamicConstraint V_SR_1
+//				 * check if a view stereotype has been modified or removed
+//				 */
+//				if (ViewUtils.isViewModifiedOrRemoved(notification))
+//				{
+//					if (!viewmgr.checkViewStereotype(notification)){
+//						ResourceNotification.showInfo(statusCheckViewStereotype.getMessage());
+//						throw new RollbackException(statusCheckViewStereotype);
+//					}
+//				}
+				
+				
+//				if (!ConstraintsLib.DefaultStereotypeRemoved.check(notification).isOK()){
+//					ResourceNotification.showInfo(ConstraintsLib.DefaultStereotypeRemoved.getMessage());
+//					throw new RollbackException(ConstraintsLib.DefaultStereotypeRemoved.getStatus());
+//				}
+				
+				//TODO BUG when a ClientServerPort is removed it generates Slot-related transactions
+//				if (isInstanceSpecification((ENotificationImpl)notif)){
+//					ResourceNotification.showInfo(statusInstanceSpecification.getMessage());
+//					throw new RollbackException(statusInstanceSpecification);
+//				}
+				
+				try{
+					//do not check any constraint in case of automated actions
+					if (executeModelParser){
+						modelparser.check(notification, notifier, ds.getCurrentView(), ds.isSuperuser());
+					}
+				} catch (RollbackException e) {
+					ResourceNotification.showInfo(e.getStatus().getMessage());
+					throw e;
+				}
+				
+				if ( notifier instanceof Element 
+					 || notifier instanceof DynamicEObjectImpl
+					 || canBeStaticStereotype(notifier))
+				{
+					try {
+						Command comm = automatedActionManager.check(list, notification, notifier, s, ds,event.getEditingDomain());
+						if ( comm != null ){
+							ds.setUserAction(false);
+							command.append(comm);
+							
+							System.out.println("COMMAND: " + comm.getLabel());
+							System.out.println("SUPERUSER set to true");
+						}
+					} catch (RollbackException e) {
+						s.delete(0, s.length());
+						s.append(e.getStatus().getMessage());
+						ResourceNotification.showInfo(e.getStatus().getMessage());
+						throw e;
+					}
+				}
+				/*
+				 * Use "instanceof Shape" instead else if (notifier instanceof
+				 * Diagram) { Diagram di = (Diagram) notifier;
+				 * s.append(" model modified: "); s.append(di.getName());
+				 * 
+				 * }*/
+				 else
+					if (notifier instanceof Shape) {
+					Shape shape = (Shape) notifier;
+					s.append(" shape modified: ");
+					s.append(" for the element: ");
+					s.append(shape.getElement());
+					if (shape.getElement()!= null){
+						s.append(" that belong to the view: ");
+						s.append(shape.getElement().eContainer());
+					}
+					
+					//modelmanager.check(notification, shape.getElement(), validator, s);
+					//TODO drag and drop constraints
+					//TODO same constraint of @dynamicConstraint P_A_1 an interface can be added only in
+					//functionalView
+//					if (shape.getElement() instanceof Interface && 
+//							shape.getDiagram().getType().equals(ModelEditPart.MODEL_ID) && 
+//							!UMLUtils.isFunctionalView(UMLUtils.getView(shape.getDiagram().getElement()))){
+//						ResourceNotification.showInfo(ModelManager.cannotCreateInterface.getMessage());
+//						throw new RollbackException(ModelManager.cannotCreateInterface);
+//					}
+					if (shape.getDiagram()!=null){
+						s.append(" in the diagram: ");
+						s.append(shape.getDiagram().getName());
+						s.append(" in the view: ");
+						s.append(shape.getDiagram().getElement());
+					}
+					if (!(notification.getNewValue() instanceof EObject))
+						continue;
+				} 
+				
+				//it's needed to avoid the graphical representation of stereotype to be shown
+				//used in case of applying the view stereotype
+				else if (notifier instanceof EAnnotation)
+				{
+					EAnnotation annotation = (EAnnotation) notifier;
+					System.out.println("ANN: " + annotation);
+					EMap< String, String> details = annotation.getDetails();
+					for (Entry<String, String> entry : details) {
+						if ( entry.getValue().indexOf(CHESSProfileManager.DEPLOYMENT_VIEW) > 0
+							|| entry.getValue().indexOf(CHESSProfileManager.COMPONENT_VIEW) > 0
+							//|| entry.getValue().indexOf(CHESSProfileManager.EXTRAFUNCTIONAL_VIEW) > 0 
+							|| entry.getValue().indexOf(CHESSProfileManager.ANALYSIS_VIEW) > 0
+							|| entry.getValue().indexOf(CHESSProfileManager.DEPENDABILITY_ANALYSIS_VIEW) > 0 
+							|| entry.getValue().indexOf(CHESSProfileManager.RT_ANALYSIS_VIEW) > 0
+							|| entry.getValue().indexOf(CHESSProfileManager.TIMING_DATAFLOW_VIEW) > 0 )
+							{
+								s.delete(0, s.length());
+								s.append("Can't apply view stereotype!");
+								CHESSProjectSupport.printlnToCHESSConsole(s.toString());
+								ResourceNotification.showError(s.toString());
+								throw new RollbackException(new Status(IStatus.ERROR,
+										Activator.PLUGIN_ID, s.toString()));
+							}
+					}
+				}
+				
+				else if (notifier instanceof PageList) {
+					try {
+						viewmgr.check(notification.getNewValue(), s, ds.getCurrentView(),event.getEditingDomain());
+					} catch (RollbackException e) {
+						ResourceNotification.showInfo(e.getStatus().getMessage());
+						throw e;
+					}
+				}
+			}
+			else { //check diagram creation permission
+				Object newz = notif.getNewValue();
+				if (newz instanceof Diagram){
+									
+					try {
+					viewmgr.check((Diagram) newz, s, ds.getCurrentView(),event.getEditingDomain());
+					} catch (RollbackException e) {
+						ResourceNotification.showInfo(e.getStatus().getMessage());
+						throw e;
+					}
+				}
+			}
+		}
+		
+		return command.getCommandList().isEmpty() ? super.transactionAboutToCommit(event) : command;
+	}
+
+
+	private void printList(List<Notification> list) {
+		System.out.println("----------------------------------");
+		int j = 0;
+		for (Notification notif1 : list) {
+			j++;
+			if (notif1 instanceof ENotificationImpl) {
+				ENotificationImpl notification = (ENotificationImpl) notif1;
+				final Object notifier = notification.getNotifier();
+				if (isNotationElement(notifier))
+					continue;
+
+				System.out.println("ACTION " + j + " OF " + list.size());
+				System.out.println("TYPE: "
+						+ NotificationManager.printEventType(notification));
+				System.out.println("NOTIFIER: " + notifier);
+				System.out.println("FEATURE: " + notification.getFeature());
+				if (notification.getEventType() == Notification.REMOVE)
+					System.out.println("OLDVALUE: "
+							+ notification.getOldValue());
+				else if (notification.getEventType() == Notification.ADD)
+					System.out.println("NEWVALUE: "
+							+ notification.getNewValue());
+				else {
+					System.out.println("OLDVALUE: "
+							+ notification.getOldValue());
+					System.out.println("NEWVALUE: "
+							+ notification.getNewValue());
+				}
+			}
+		}
+		System.out.println("----------------------------------");
+	}
+
+
+	private boolean isNotationElement(Object notifier) {
+		if (notifier instanceof EObject){
+			String pkgName = notifier.getClass().getPackage().getName();
+			if (pkgName.startsWith("org.eclipse.gmf.runtime.notation"))
+				return true;
+		}
+		return false;
+			
+	}
+	
+	private boolean canBeStaticStereotype(Object notifier) {
+		if (notifier instanceof EObject) {
+			String pkgName = notifier.getClass().getPackage().getName();
+			if (pkgName.startsWith("org.eclipse.papyrus.MARTE") || pkgName.startsWith("org.polarsys.chess.chessmlprofile"))
+				return true;
+			if (notifier instanceof EAnnotation || notifier instanceof Shape){
+				return false;
+			}
+			return true;
+		}
+		return false;
+	}
+
+
+	private static Class[] allowedNotifierTypes = {Element.class, DynamicEObjectImpl.class, Diagram.class, PageList.class, Shape.class, EAnnotation.class, EObject.class};
+	
+	
+	private boolean allowedNotifier(Object notifier) {
+		for (Class<?> allowedType : allowedNotifierTypes) {
+			if (allowedType.isInstance(notifier))
+				return true;
+		}
+		return false;
+	}
+
+
+	private boolean isInstanceSpecification(ENotificationImpl notif) {
+		// TODO Problematic when we need to remove a clientserverport
+		// => it removes also Slot which is of an InstanceSpecification
+		
+		if (notif.getEventType() == Notification.SET){
+			Object notifer = notif.getNotifier();
+			return (notifer instanceof Element && isContainedInInstanceSpecification((Element) notifer));
+		}
+		if (notif.getEventType() == Notification.REMOVE){
+			Object notifer = notif.getOldValue();
+			return (notifer instanceof Element && isContainedInInstanceSpecification((Element) notifer));
+		}
+		return false;
+	}
+
+	private boolean isContainedInInstanceSpecification(Element notifer) {
+		if (notifer == null)
+			return false;
+		if (notifer instanceof InstanceSpecification)
+			return true;
+		EObject cont = notifer.eContainer();
+		if (cont instanceof Element)
+		  return isContainedInInstanceSpecification((Element)cont);
+		return false;
+	}
+
+	/*
+	private void printElementType(EObject notifier) {
+		if (notifier instanceof DynamicEObjectImpl) {
+			notifier = UMLUtil.getBaseElement((DynamicEObjectImpl) notifier);
+		}
+		if (notifier instanceof Model) {
+			Model m = (Model) notifier;
+			s.append(" for model: ");
+			s.append(m.getName());
+		} else if (notifier instanceof Class) {
+			Class c = (Class) notifier;
+			s.append(" for class: ");
+			s.append(c.getName());
+			s.append(" in the model: ");
+			s.append(c.getModel().getName());
+			validator.validate(c);
+		} else if (notifier instanceof Interface) {
+			Interface in = (Interface) notifier;
+			s.append(" for interface: ");
+			s.append(in.getName());
+		} else if (notifier instanceof Operation) {
+			Operation op = (Operation) notifier;
+			s.append(" for operation: ");
+			s.append(op.getName());
+
+			Classifier c = OCLUMLUtil.getClassifier(op.eClass(), op.eResource()
+					.getResourceSet());
+			s.append(" in class: ");
+			s.append(c.getName());
+
+		} else if (notifier instanceof Property) {
+			Property pr = (Property) notifier;
+			s.append(" for property: ");
+			s.append(pr.getName());
+		} else if (notifier instanceof NamedElement) {
+			NamedElement ne = (NamedElement) notifier;
+			s.append(" for unknown ne: ");
+			s.append(ne.getName());
+		} else if (notifier instanceof DynamicEObjectImpl) {
+			Element el = UMLUtil.getBaseElement((DynamicEObjectImpl) notifier);
+			NamedElement ne = (NamedElement) el;
+			s.append(" for unknown ne: ");
+			s.append(ne.getName());
+		}
+	}
+	*/
+}
diff --git a/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/ValidationDelegateClientSelector.java b/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/ValidationDelegateClientSelector.java
new file mode 100644
index 000000000..c9a5bdf37
--- /dev/null
+++ b/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/ValidationDelegateClientSelector.java
@@ -0,0 +1,46 @@
+/*
+-----------------------------------------------------------------------
+--                CHESS Live/Batch Validator plugin                  --
+--                                                                   --
+--                    Copyright (C) 2011-2012                        --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author: Alessandro Zovi         azovi@math.unipd.it               --
+--                                                                   --
+-- All rights reserved. This program and the accompanying materials  --
+-- are made available under the terms of the Eclipse Public License  --
+-- v1.0 which accompanies this distribution, and is available at     --
+-- http://www.eclipse.org/legal/epl-v10.html                         --
+-----------------------------------------------------------------------
+*/
+package org.polarsys.chess.validator;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Model;
+
+public class ValidationDelegateClientSelector
+
+
+	implements IClientSelector {
+	
+	/* (non-Javadoc)
+	 * @see org.eclipse.emf.validation.model.IClientSelector#selects(java.lang.Object)
+	 */
+	public boolean selects(Object object) {
+		if (!(object instanceof Element))
+			return false;
+		if (((Element) object) instanceof Model){
+			Object obj = ((Model) object).getAppliedProfile("CHESS");
+			if (obj != null)
+				return true;
+		}
+		if ( ((Element) object).getModel() == null)
+			return false;
+		
+		if (((Element) object).getModel().getAppliedProfile("CHESS") != null)
+			return true;
+	
+		return false;
+	}
+}
diff --git a/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/command/ChessGenericDiagnostician.java b/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/command/ChessGenericDiagnostician.java
new file mode 100644
index 000000000..67a8bf7d3
--- /dev/null
+++ b/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/command/ChessGenericDiagnostician.java
@@ -0,0 +1,36 @@
+package org.polarsys.chess.validator.command;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.util.Diagnostician;
+import org.eclipse.emf.ecore.util.EObjectValidator;
+import org.eclipse.emf.validation.service.IConstraintFilter;
+
+
+public class ChessGenericDiagnostician extends Diagnostician {
+
+	private ChessValidatorAdapter eChessValidatorAdapter;
+	
+	public ChessGenericDiagnostician(IConstraintFilter filter) {
+		this.eChessValidatorAdapter = new ChessValidatorAdapter(filter);
+	}
+		
+	@Override
+	public boolean validate(EClass eClass, EObject eObject, DiagnosticChain diagnostics, Map<Object, Object> context)
+    {
+		//progressMonitor.worked(1);
+		//System.err.println("This is the ChessCheckerDiagnostician override of Diagnostician.validate(EClass, EObject,diagnostics,context)");
+			    
+	    boolean circular = context.get(EObjectValidator.ROOT_OBJECT) == eObject;
+	    @SuppressWarnings("null")
+	    boolean result = eChessValidatorAdapter.validate(eClass, eObject, diagnostics, context);
+	    if ((result || diagnostics != null) && !circular)
+	    {
+	      result &= doValidateContents(eObject, diagnostics, context);
+	    }
+	    return result;
+	  }
+}
diff --git a/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/command/ChessGenericValidateCommand.java b/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/command/ChessGenericValidateCommand.java
new file mode 100644
index 000000000..eec0e045a
--- /dev/null
+++ b/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/command/ChessGenericValidateCommand.java
@@ -0,0 +1,191 @@
+package org.polarsys.chess.validator.command;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.Map;
+
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IMarker;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.IWorkspaceRoot;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.ui.EMFEditUIPlugin;
+import org.eclipse.emf.transaction.util.TransactionUtil;
+import org.eclipse.emf.validation.service.IConstraintDescriptor;
+import org.eclipse.emf.validation.service.IConstraintFilter;
+import org.eclipse.gmf.runtime.common.core.command.CommandResult;
+import org.eclipse.papyrus.infra.services.markerlistener.util.MarkerListenerUtils;
+import org.eclipse.papyrus.infra.services.validation.commands.AbstractValidateCommand;
+import org.eclipse.papyrus.infra.services.validation.ValidationTool;
+import org.eclipse.swt.widgets.Shell;
+
+public class ChessGenericValidateCommand extends AbstractValidateCommand {
+	
+	public Collection<String> pluginIds;
+	
+	public ChessGenericValidateCommand(String label, String pluginId, EObject selectedElement) {
+		super(label, TransactionUtil.getEditingDomain (selectedElement), selectedElement);
+		this.pluginIds = new ArrayList<String>();
+		this.pluginIds.add(pluginId);
+	}
+
+	public ChessGenericValidateCommand(String label,
+			Collection<String> pluginIds, EObject selectedElement) {
+		super(label, TransactionUtil.getEditingDomain (selectedElement), selectedElement);
+		this.pluginIds = new ArrayList<String>();
+		
+		for (String id : pluginIds) {
+			this.pluginIds.add(id);
+		}
+	}
+
+	@Override
+	protected CommandResult doExecuteWithResult(IProgressMonitor arg0,
+		IAdaptable arg1) throws ExecutionException {
+
+		//System.err.println("ChessGenericValidationCommand : doExecuteWithResult");
+	
+		// replace selection by model instead of current selection
+		while (selectedElement.eContainer() != null) {
+			selectedElement = selectedElement.eContainer ();
+		}
+	
+		runValidation (selectedElement);
+	
+		// Try to retrieve all markers on the file
+		Resource resource = selectedElement.eResource();
+		if (resource != null) {
+		
+			IPath path = new Path(resource.getURI().toPlatformString (false));
+			IWorkspaceRoot wsRoot = ResourcesPlugin.getWorkspace().getRoot();
+			IFile file = wsRoot.getFile(path);
+		
+			try {
+				processMarkers(file);
+			} catch (CoreException e) {
+				e.printStackTrace();
+			}
+		}
+	
+		return null;
+	}
+
+	/**
+	 * This simply execute the command.
+	 */
+	@Override
+	protected Diagnostic validate(IProgressMonitor progressMonitor, EObject validateElement)
+	{
+		//System.err.println("This is the ChessGenericValidationCommand Override for validate(IProgressMonitor,EObject) from AbstractValidateCommand");
+		
+		int count = 0;
+		for (Iterator<?> i = validateElement.eAllContents(); i.hasNext(); i.next()) {
+			++count;
+		}
+
+		progressMonitor.beginTask("", count);
+
+		// validate only error severity and worse
+		IConstraintFilter constraintFilter = new IConstraintFilter() {
+			@Override
+			public boolean accept(IConstraintDescriptor constraint, EObject target) {
+				// Check only constraints defined in the plugin using this generic command
+				//System.err.println("Evaluating constraint " + constraint.getName()+ " provided by " + constraint.getPluginId());
+				return pluginIds.contains(constraint.getPluginId());
+			}
+		};
+		
+		AdapterFactory adapterFactory = 
+			domain instanceof AdapterFactoryEditingDomain ? ((AdapterFactoryEditingDomain)domain).getAdapterFactory() : null;
+		ChessGenericDiagnostician diagnostician = createChessGenericDiagnostician(adapterFactory, progressMonitor, constraintFilter);
+	    
+		BasicDiagnostic diagnostic = diagnostician.createDefaultDiagnostic(validateElement);
+		Map<Object, Object> context = diagnostician.createDefaultContext();
+		
+		progressMonitor.setTaskName(EMFEditUIPlugin.INSTANCE.getString("_UI_Validating_message", new Object [] {diagnostician.getObjectLabel(validateElement)}));
+		diagnostician.validate(validateElement, diagnostic, context);
+		
+		return diagnostic;
+	}
+
+	
+	//@Override
+	protected ChessGenericDiagnostician createChessGenericDiagnostician(final AdapterFactory adapterFactory, final IProgressMonitor progressMonitor, final IConstraintFilter filter)
+	{
+		return new ChessGenericDiagnostician(filter) {
+			@Override
+	        public String getObjectLabel(EObject eObject) {
+				if (adapterFactory != null && !eObject.eIsProxy())
+				{
+					IItemLabelProvider itemLabelProvider = (IItemLabelProvider)adapterFactory.adapt(eObject, IItemLabelProvider.class);
+					if (itemLabelProvider != null) {
+						return itemLabelProvider.getText(eObject);
+					}
+				}
+				return super.getObjectLabel(eObject);
+			}
+	  
+		};
+		
+		
+	}
+
+	
+	static protected void processMarkers(IResource resource) throws CoreException {
+		
+		//System.err.println("processMarkers for resource " + resource.getName());
+		
+    	IMarker[] markers = resource.findMarkers(IMarker.PROBLEM, true, IResource.DEPTH_INFINITE);
+    	Collection<IMarker> markersToDelete = new ArrayList<IMarker>();
+    	
+    	
+    	for (int index = 0; index < markers.length; index++ ) {
+    		
+    		IMarker currentMarker = markers[index];
+    		//String currentMessage = ((String) currentMarker.getAttribute("message")).replace("\n", "");
+    		//System.err.println("message:" + currentMessage);
+    		
+    		if (currentMarker.getAttributes().containsKey("relatedURIs")) {
+    			markersToDelete.add(currentMarker);
+    		}
+    	}
+    	
+    	for (IMarker marker : markersToDelete) {
+    		marker.delete();
+       	}
+    	
+	}
+
+	@Override
+	protected void handleDiagnostic(IProgressMonitor monitor, Diagnostic diagnostic, final EObject validateElement, final Shell shell){
+		Resource resource = getValidationResource();
+		if (resource != null) {
+			if (selectedElement != null) {
+				ValidationTool vt = new ValidationTool(selectedElement);
+				vt.deleteSubMarkers();
+			}
+			for (Diagnostic childDiagnostic : diagnostic.getChildren()) {
+				// We have to filter on the source
+				if (pluginIds.contains(childDiagnostic.getSource())) {
+					MarkerListenerUtils.eclipseResourcesUtil.createMarkers(resource, childDiagnostic);
+					//if we create at least one marker report it
+				}
+			}
+		}
+	}
+	
+}
diff --git a/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/command/ChessValidatorAdapter.java b/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/command/ChessValidatorAdapter.java
new file mode 100644
index 000000000..eb3d1dfab
--- /dev/null
+++ b/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/command/ChessValidatorAdapter.java
@@ -0,0 +1,106 @@
+package org.polarsys.chess.validator.command;
+
+import java.util.Map;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.util.EObjectValidator;
+import org.eclipse.emf.validation.model.EvaluationMode;
+import org.eclipse.emf.validation.model.IConstraintStatus;
+import org.eclipse.emf.validation.service.IBatchValidator;
+import org.eclipse.emf.validation.service.IConstraintFilter;
+import org.eclipse.emf.validation.service.ModelValidationService;
+
+public class ChessValidatorAdapter extends EObjectValidator{ 
+	
+	private final IBatchValidator batchValidator;
+
+	public ChessValidatorAdapter(IConstraintFilter constraintFilter) {
+		super();
+
+		this.batchValidator = (IBatchValidator) ModelValidationService.getInstance()
+				.newValidator(EvaluationMode.BATCH);
+		this.batchValidator.setIncludeLiveConstraints(true);
+		this.batchValidator.setReportSuccesses(false);
+		this.batchValidator.addConstraintFilter(constraintFilter);
+	}
+
+	@Override
+	public boolean validate(final EObject eObject,
+			final DiagnosticChain diagnostics,
+			final Map<Object, Object> context) {
+		return validate(eObject.eClass(), eObject, diagnostics, context);
+	}
+	
+	@Override
+	public boolean validate(final EClass eClass, final EObject eObject,
+			final DiagnosticChain diagnostics, final Map<Object, Object> context) {
+        super.validate(eClass, eObject, diagnostics, context);
+        
+        IStatus status = Status.OK_STATUS;
+        
+        if (diagnostics != null) {
+            if (!hasProcessed(eObject, context)) {
+                status = this.batchValidator.validate(
+                    eObject,
+                    new NullProgressMonitor());
+                
+                processed(eObject, context, status);
+                
+                appendDiagnostics(status, diagnostics);
+            }
+        }
+        
+        return status.isOK();
+    }
+
+	private void processed(final EObject eObject,
+			final Map<Object, Object> context, final IStatus status) {
+        if (context != null) {
+            context.put(eObject, status);
+        }
+    }
+    
+	private boolean hasProcessed(final EObject eObject,
+			final Map<Object, Object> context) {
+        boolean result = false;
+        EObject currentEObject = eObject;
+        if (context != null) {
+            while (currentEObject != null) {
+                if (context.containsKey(currentEObject)) {
+                    result = true;
+                    currentEObject = null;
+                } else {
+                    currentEObject = currentEObject.eContainer();
+                }
+            }
+        }
+        
+        return result;
+    }
+    
+	private void appendDiagnostics(final IStatus status,
+			final DiagnosticChain diagnostics) {
+        if (status.isMultiStatus()) {
+            IStatus[] children = status.getChildren();
+            
+            for (int i = 0; i < children.length; i++) {
+                appendDiagnostics(children[i], diagnostics);
+            }
+        } else if (status instanceof IConstraintStatus) {
+            diagnostics.add(new BasicDiagnostic(
+                status.getSeverity(),
+                status.getPlugin(),
+                status.getCode(),
+                status.getMessage(),
+                ((IConstraintStatus) status).getResultLocus().toArray()));
+        }
+    }
+
+
+}
diff --git a/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/constraints/Connector_01.java b/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/constraints/Connector_01.java
new file mode 100644
index 000000000..66c62927d
--- /dev/null
+++ b/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/constraints/Connector_01.java
@@ -0,0 +1,115 @@
+/*
+-----------------------------------------------------------------------
+--                CHESS Live/Batch Validator plugin                  --
+--                                                                   --
+--                    Copyright (C) 2011-2012                        --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author: Nicholas Pacini         									 --
+--                                                                   --
+-- All rights reserved. This program and the accompanying materials  --
+-- are made available under the terms of the Eclipse Public License  --
+-- v1.0 which accompanies this distribution, and is available at     --
+-- http://www.eclipse.org/legal/epl-v10.html                         --
+-----------------------------------------------------------------------
+*/
+package org.polarsys.chess.validator.constraints;
+
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.ConnectorEnd;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Stereotype;
+
+public class Connector_01 extends AbstractModelConstraint {
+
+	private static final String CSPORT = "MARTE::MARTE_DesignModel::GCM::ClientServerPort";
+
+	@Override
+	public IStatus validate(IValidationContext ctx) {
+		// TODO Auto-generated method stub
+		IStatus success = ctx.createSuccessStatus();
+		IStatus failure = ctx.createFailureStatus();
+		
+		Connector con = (Connector) ctx.getTarget();
+		try{
+			//check that ports are compatible (provided-required)
+			ConnectorEnd ceFir = con.getEnds().get(0);
+			if(!(ceFir.getRole() instanceof Port)){
+				return failure;
+			}
+			Port portFir = (Port) ceFir.getRole();
+			Stereotype sFirst = portFir.getAppliedStereotype(CSPORT);
+			if(sFirst == null){
+				return success;
+			}
+			String first = portFir.getValue(sFirst, "kind").toString();
+			ConnectorEnd ceSec = con.getEnds().get(1);
+			if(!(ceSec.getRole() instanceof Port)){
+				return failure;
+			}
+			Port portSec = (Port) ceSec.getRole();
+			Stereotype sSecond = portSec.getAppliedStereotype(CSPORT);
+			if(sSecond == null){
+				return success;
+			}
+			String second = portSec.getValue(sSecond, "kind").toString();
+			if(first.equals(second)){
+				//it's not an automatic failure if it's port delegation between parent and child
+				if(ceFir.getPartWithPort() == null || ceSec.getPartWithPort() == null){
+					return success;
+				}
+				if(ceFir.getPartWithPort() instanceof Property || ceSec.getPartWithPort() instanceof Property){
+					Property prFirst = ceFir.getPartWithPort();
+					Property prSec = ceSec.getPartWithPort();
+					//check that the one of the properties contains the other
+					if(prFirst.getType().getOwnedElements().contains(prSec) || prSec.getType().getOwnedElements().contains(prFirst)){
+						return success;
+					}
+				}
+				
+				return failure;
+			}
+			//check that the ports are owned by components at the "same level" (no parent-child)
+			if (ceFir.getPartWithPort()  == null || ceSec.getPartWithPort() == null){
+				return failure;
+			}
+			
+			//check that interfaces provided/required are compatible (i.e the same interface or the provided can be a subtype of the required)
+			Interface iFirst = null, iSecond = null;
+			if (first.equals("provided")){
+				iFirst = (Interface)((EObjectResolvingEList) portFir.getValue(sFirst, "provInterface")).get(0);
+			} else if(first.equals("required")){
+				iFirst = (Interface)((EObjectResolvingEList) portFir.getValue(sFirst, "reqInterface")).get(0);
+			}
+			if (second.equals("provided")){
+				iSecond =  (Interface)((EObjectResolvingEList) portSec.getValue(sSecond, "provInterface")).get(0);
+			} else if(second.equals("required")){
+				iSecond =  (Interface)((EObjectResolvingEList) portSec.getValue(sSecond, "reqInterface")).get(0);
+			}
+			//if they are different it's ok only if the Provided interface inherits the Required Interface
+			if(!iFirst.equals(iSecond)){
+				if(first.equals("provided")){
+					if(!iFirst.allParents().contains(iSecond)){
+						return failure;
+					}
+				}else if(second.equals("provided")){
+					if(!iSecond.allParents().contains(iFirst)){
+						return failure;
+					}
+				}
+			}
+			
+			return success;
+		}catch(IndexOutOfBoundsException e){
+			return failure;
+		}
+	}
+
+}
diff --git a/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/constraints/Connector_02.java b/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/constraints/Connector_02.java
new file mode 100644
index 000000000..64dda6231
--- /dev/null
+++ b/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/constraints/Connector_02.java
@@ -0,0 +1,82 @@
+package org.polarsys.chess.validator.constraints;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.ConnectorEnd;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Stereotype;
+
+public class Connector_02 extends AbstractModelConstraint {
+
+	private static final String FLOWPORT = "MARTE::MARTE_DesignModel::GCM::FlowPort";
+	
+	@Override
+	public IStatus validate(IValidationContext ctx) {
+
+		IStatus success = ctx.createSuccessStatus();
+		IStatus failure = ctx.createFailureStatus();
+		
+		Connector con = (Connector) ctx.getTarget();
+		
+		ConnectorEnd firstEnd = con.getEnds().get(0);
+		if(!(firstEnd.getRole() instanceof Port)){
+			return failure;
+		}
+		
+		Port firstPort = (Port) firstEnd.getRole();
+		Stereotype firstStereo = firstPort.getAppliedStereotype(FLOWPORT);
+		if(firstStereo == null){
+			return success;
+		}
+
+		ConnectorEnd secondEnd = con.getEnds().get(1);
+		if(!(secondEnd.getRole() instanceof Port)){
+			return failure;
+		}
+		
+		Port secondPort = (Port) secondEnd.getRole();
+		Stereotype secondStereo = secondPort.getAppliedStereotype(FLOWPORT);
+		if(secondStereo == null){
+			return success;
+		}		
+		
+		//check types
+		if(!(firstPort.getType().equals(secondPort.getType()))){
+			return failure;
+		}
+		
+		//check directions:
+		//out -> in; in -> out; inout -> whatever
+		String firstDir = firstPort.getValue(firstStereo, "direction").toString();
+		String secondDir = secondPort.getValue(secondStereo, "direction").toString();
+		
+		if(!firstDir.equals("inout") && !(secondDir.equals("inout")) && firstDir.equals(secondDir)){
+			//it's not an automatic failure if it's port delegation between parent and child
+			if(firstEnd.getPartWithPort() == null || secondEnd.getPartWithPort() == null){
+				return success;
+			}
+			if(firstEnd.getPartWithPort() instanceof Property || secondEnd.getPartWithPort() instanceof Property){
+				Property prFirst = firstEnd.getPartWithPort();
+				Property prSec = secondEnd.getPartWithPort();
+				//check that the one of the properties contains the other
+				if(prFirst.getType().getOwnedElements().contains(prSec) || prSec.getType().getOwnedElements().contains(prFirst)){
+					return success;
+				}
+			}
+			return failure;
+		}
+		
+		//check mappings??? (maybe not needed)
+//		EList<Dependency> firstDepList = firstPort.getClientDependencies();
+//		EList<Dependency> secondDepList = secondPort.getClientDependencies();
+		
+		
+		return success;
+	}
+
+}
diff --git a/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/constraints/DV_01.java b/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/constraints/DV_01.java
new file mode 100644
index 000000000..063bb7260
--- /dev/null
+++ b/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/constraints/DV_01.java
@@ -0,0 +1,104 @@
+/*
+-----------------------------------------------------------------------
+--                CHESS Live/Batch Validator plugin                  --
+--                                                                   --
+--                    Copyright (C) 2011-2012                        --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author: Stefano Puri								                 --
+--                                                                   --
+-- All rights reserved. This program and the accompanying materials  --
+-- are made available under the terms of the Eclipse Public License  --
+-- v1.0 which accompanies this distribution, and is available at     --
+-- http://www.eclipse.org/legal/epl-v10.html                         --
+-----------------------------------------------------------------------
+*/
+package org.polarsys.chess.validator.constraints;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.common.util.TreeIterator;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.InstanceSpecification;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.polarsys.chess.chessmlprofile.util.Constants;
+
+public class DV_01 extends AbstractModelConstraint {
+
+	@Override
+	public IStatus validate(IValidationContext ctx) {
+		EObject eObject = ctx.getTarget();
+		InstanceSpecification instSpec = (InstanceSpecification)eObject;
+		IStatus success = ctx.createSuccessStatus();
+		String errorMsg = null;
+		
+		Collection<Comment> allAssignComment = new ArrayList<Comment>();
+				
+		TreeIterator<EObject> it = instSpec.getModel().eAllContents();
+		while (it.hasNext()) {
+			EObject obj = it.next();
+			
+			if (obj instanceof Comment && (((Comment) obj).getAppliedStereotype(Constants.ASSIGN)) != null) {
+				allAssignComment.add((Comment) obj);
+			}
+		}
+		
+
+		if (instSpec.getClassifiers().size()!=0) {
+			
+			Classifier classifier = instSpec.getClassifiers().iterator().next();
+			if (classifier instanceof Component) {
+				Component comp = (Component) classifier;
+				//System.err.println("Its classifier is a component : " + comp.getName());
+				// Is the component a ComponentImplementation?
+				Stereotype compImpl = comp.getAppliedStereotype(Constants.COMPONENT_IMPLEMENTATION);
+				if (compImpl!=null) {
+					// There should be exactly one Assign.from referencing the component
+					int count=0;
+					
+				
+					Stereotype assignStereotype=null;
+					for (Comment comment : allAssignComment) {
+						assignStereotype = comment.getAppliedStereotype(Constants.ASSIGN);
+						if (assignStereotype!=null) {
+							//System.err.println("  - assign");
+							List<Object> from = (List<Object>) comment.getValue(assignStereotype, Constants.ASSIGN_FROM);
+							//System.err.println("  - from:" + from + "-" + instSpec);
+							//System.err.println("  - to  :" +comment.getValue(assign, Constants.ASSIGN_TO));
+							if (from.contains(instSpec)) {
+								//System.err.println("That's the one !");
+								
+								count++;
+							}
+						}
+					}
+					//System.err.println("count="+count);
+					if (count!=1) {
+						errorMsg = "The ComponentImplementation instance " + instSpec.getName() +" must be deployed on exactly one processing unit. (Currently " + count +")";
+						
+					}
+					
+				}
+			}
+		}
+	
+		if (errorMsg != null){
+			IStatus failure = ctx.createFailureStatus(
+					instSpec,errorMsg
+			);
+			return failure;
+		}
+		
+		return success;
+		
+	}
+	
+}			
diff --git a/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/constraints/DV_02.java b/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/constraints/DV_02.java
new file mode 100644
index 000000000..e93702166
--- /dev/null
+++ b/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/constraints/DV_02.java
@@ -0,0 +1,118 @@
+/*
+-----------------------------------------------------------------------
+--                CHESS Live/Batch Validator plugin                  --
+--                                                                   --
+--                    Copyright (C) 2011-2012                        --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author: Stefano Puri								                 --
+--                                                                   --
+-- All rights reserved. This program and the accompanying materials  --
+-- are made available under the terms of the Eclipse Public License  --
+-- v1.0 which accompanies this distribution, and is available at     --
+-- http://www.eclipse.org/legal/epl-v10.html                         --
+-----------------------------------------------------------------------
+*/
+package org.polarsys.chess.validator.constraints;
+
+import java.util.List;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.InstanceSpecification;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.polarsys.chess.chessmlprofile.util.Constants;
+
+public class DV_02 extends AbstractModelConstraint {
+
+	@Override
+	public IStatus validate(IValidationContext ctx) {
+		EObject eObject = ctx.getTarget();
+		Comment comment = (Comment)eObject;
+		IStatus success = ctx.createSuccessStatus();
+		String errorMsg = null;
+
+		Stereotype assign = comment.getAppliedStereotype(Constants.ASSIGN);
+		
+		if (assign!=null) {
+			List<Element> from = (List<Element>) comment.getValue(assign, Constants.ASSIGN_FROM);
+			if (from==null) {
+				errorMsg = "The attribute 'from' of stereotype Assign must be valued with exactly one Element";
+				
+			}
+			else {
+				if (from.size()!=1) {
+					errorMsg = "The attribute 'from' of stereotype Assign must be valued with exactly one Element";
+										
+				}
+				else {
+					// This Element must be an instance specification of a ComponentImplementation
+					Element fromElem = from.iterator().next();
+					if (fromElem instanceof InstanceSpecification) {
+						// Then it must be stereotyped with ComponentImplementation
+						if (((InstanceSpecification) fromElem).getClassifiers().size()==1) {
+							// Otherwise, an error is raised elsewhere
+							Classifier clazz = ((InstanceSpecification) fromElem).getClassifiers().iterator().next();
+							
+							if (clazz.getAppliedStereotype(Constants.COMPONENT_IMPLEMENTATION)==null) {
+								errorMsg = "The value of the attribute 'from' in stereotype Assign must be an instance of a ComponentImplementation";
+								
+							}
+						}
+					}
+					else {
+						errorMsg ="The value of the attribute 'from' in stereotype Assign must be an InstanceSpecification";
+						
+					}
+				}
+			}
+			List<Element> to = (List<Element>) comment.getValue(assign, Constants.ASSIGN_TO);
+			if (to==null) {
+				errorMsg = "The attribute 'to' of stereotype Assign must be valued with exactly one Element";
+				
+			}
+			else {
+				if (to.size()!=1) {
+					errorMsg = "The attribute 'to' of stereotype Assign must be valued with exactly one Element";
+					
+				}
+				else {
+					// This Element must be an instance specification of a ComponentImplementation
+					Element toElem = to.iterator().next();
+					if (toElem instanceof InstanceSpecification) {
+						// Then it must be stereotyped with ComponentImplementation
+						if (((InstanceSpecification) toElem).getClassifiers().size()==1) {
+							// Otherwise, an error is raised elsewhere
+							if ((((InstanceSpecification) toElem).getClassifiers().iterator().next().getAppliedStereotype(Constants.CH_HWPROCESSOR)==null)) {
+								errorMsg = "The value of the attribute 'to' in stereotype Assign must be an instance of a CH_HwProcessor";
+								
+							}
+						}
+					}
+					else {
+						errorMsg ="The value of the attribute 'to' in stereotype Assign must be an InstanceSpecification";
+						
+					}
+				}
+			}
+			
+		}
+	
+		if (errorMsg != null){
+			IStatus failure = ctx.createFailureStatus(
+					comment,
+					errorMsg
+			);
+			return failure;
+		}
+		
+		return success;
+		
+	}
+	
+}			
diff --git a/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/constraints/DV_03.java b/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/constraints/DV_03.java
new file mode 100644
index 000000000..1c927cc46
--- /dev/null
+++ b/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/constraints/DV_03.java
@@ -0,0 +1,110 @@
+/*
+-----------------------------------------------------------------------
+--                CHESS Live/Batch Validator plugin                  --
+--                                                                   --
+--                                                                   --
+--                                                                   --
+-- All rights reserved. This program and the accompanying materials  --
+-- are made available under the terms of the Eclipse Public License  --
+-- v1.0 which accompanies this distribution, and is available at     --
+-- http://www.eclipse.org/legal/epl-v10.html                         --
+-----------------------------------------------------------------------
+*/
+package org.polarsys.chess.validator.constraints;
+
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.polarsys.chess.chessmlprofile.util.Constants;
+
+public class DV_03 extends AbstractModelConstraint {
+
+	@Override
+	public IStatus validate(IValidationContext ctx) {
+		EObject eObject = ctx.getTarget();
+		Element elem = (Element)eObject;
+		IStatus success = ctx.createSuccessStatus();
+		String errorMsg = null;
+
+		
+			Stereotype hwBus = elem.getAppliedStereotype(Constants.HW_BUS);
+			if (hwBus!=null) {
+				// HwBus.PacketT cannot be null
+				Object packetT =elem.getValue(hwBus, Constants.HW_BUS_PACKETT);
+				//System.err.println(obj.getValue(hwBus, Constants.HW_BUS_PACKETT));
+				if (  packetT == null) {
+					errorMsg = "The attribute " + Constants.HW_BUS_PACKETT +" of stereotype HwBus must be set";
+					
+				} else {
+					if ( packetT.toString().length()==0) {
+						errorMsg = "The attribute " + Constants.HW_BUS_PACKETT +" of stereotype HwBus must be set";
+						
+					}
+					//System.err.println("packetT:" + packetT.toString());
+				}
+				// Warning if HwBus.SpeedFactor is null
+				Object speedFactor = elem.getValue(hwBus, Constants.HW_BUS_SPEEDFACTOR);
+				if (speedFactor==null) {
+					errorMsg="The attribute 'speedFactor' of stereotype HwBus is null, default (value=1.0) will be used";
+					
+				}
+				else {
+					if (speedFactor.toString().length()==0) {
+						errorMsg="The attribute 'speedFactor' of stereotype HwBus is null, default (value=1.0) will be used";
+						
+					}
+					//System.err.println("speedFactor:" + speedFactor.toString());
+				}
+				// Warning if HwBus.BlockT is null
+				Object blockT = elem.getValue(hwBus, Constants.HW_BUS_BLOCKT);
+				if (blockT==null) {
+					errorMsg="The attribute 'blockT' of stereotype HwBus is null, default (worst=0.0,unit=ms) will be used";
+					
+				}
+				else {
+					if (blockT.toString().length()==0) {
+						errorMsg="The attribute 'speedFactor' of stereotype HwBus is null, default (worst=0.0,unit=ms) will be used";
+						
+					}
+					
+				}			
+			}
+			
+			if (!(elem instanceof Connector)) {
+				// Then it can be a HwComputingResource
+				Stereotype hwProcessor = elem.getAppliedStereotype(Constants.CH_HWPROCESSOR);
+				if (hwProcessor!=null) {
+					//System.err.println("Object " + obj + " is a HwComputingResource");
+					Object speedFactor = elem.getValue(hwProcessor, Constants.HW_BUS_SPEEDFACTOR);
+					if (speedFactor==null) {
+						errorMsg="The attribute 'speedFactor' of stereotype CH_HwProcessor is null, default (value=1.0) will be used";
+						
+					}
+					else {
+						if (speedFactor.toString().length()==0) {
+							errorMsg="The attribute 'speedFactor' of stereotype CH_HwProcessor is null, default (value=1.0) will be used";
+							
+						}
+						//System.err.println("speedFactor:" + speedFactor.toString());
+					}
+				
+				}
+			}
+	
+		if (errorMsg != null){
+			IStatus failure = ctx.createFailureStatus(
+					elem,	errorMsg
+			);
+			return failure;
+		}
+		
+		return success;
+		
+	}
+	
+}			
diff --git a/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/constraints/DV_04.java b/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/constraints/DV_04.java
new file mode 100644
index 000000000..54d31009e
--- /dev/null
+++ b/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/constraints/DV_04.java
@@ -0,0 +1,101 @@
+/*
+-----------------------------------------------------------------------
+--                CHESS Live/Batch Validator plugin                  --
+--                                                                   --
+--                                                                   --
+--                                                                   --
+-- All rights reserved. This program and the accompanying materials  --
+-- are made available under the terms of the Eclipse Public License  --
+-- v1.0 which accompanies this distribution, and is available at     --
+-- http://www.eclipse.org/legal/epl-v10.html                         --
+-----------------------------------------------------------------------
+*/
+package org.polarsys.chess.validator.constraints;
+
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.polarsys.chess.chessmlprofile.util.Constants;
+
+public class DV_04 extends AbstractModelConstraint {
+
+	@Override
+	public IStatus validate(IValidationContext ctx) {
+		EObject eObject = ctx.getTarget();
+		Element elem = (Element)eObject;
+		IStatus success = ctx.createSuccessStatus();
+		String errorMsg = null;
+
+		
+			Stereotype hwBus = elem.getAppliedStereotype(Constants.HW_BUS);
+			if (hwBus!=null) {
+				// HwBus.PacketT cannot be null
+				Object packetT =elem.getValue(hwBus, Constants.HW_BUS_PACKETT);
+				//System.err.println(obj.getValue(hwBus, Constants.HW_BUS_PACKETT));
+				
+				// Warning if HwBus.SpeedFactor is null
+				Object speedFactor = elem.getValue(hwBus, Constants.HW_BUS_SPEEDFACTOR);
+				if (speedFactor==null) {
+					errorMsg="The attribute 'speedFactor' of stereotype HwBus is null, default (value=1.0) will be used";
+					
+				}
+				else {
+					if (speedFactor.toString().length()==0) {
+						errorMsg="The attribute 'speedFactor' of stereotype HwBus is null, default (value=1.0) will be used";
+						
+					}
+					//System.err.println("speedFactor:" + speedFactor.toString());
+				}
+				// Warning if HwBus.BlockT is null
+				Object blockT = elem.getValue(hwBus, Constants.HW_BUS_BLOCKT);
+				if (blockT==null) {
+					errorMsg="The attribute 'blockT' of stereotype HwBus is null, default (worst=0.0,unit=ms) will be used";
+					
+				}
+				else {
+					if (blockT.toString().length()==0) {
+						errorMsg="The attribute 'speedFactor' of stereotype HwBus is null, default (worst=0.0,unit=ms) will be used";
+						
+					}
+					
+				}			
+			}
+			
+			if (!(elem instanceof Connector)) {
+				// Then it can be a HwComputingResource
+				Stereotype hwProcessor = elem.getAppliedStereotype(Constants.CH_HWPROCESSOR);
+				if (hwProcessor!=null) {
+					//System.err.println("Object " + obj + " is a HwComputingResource");
+					Object speedFactor = elem.getValue(hwProcessor, Constants.HW_BUS_SPEEDFACTOR);
+					if (speedFactor==null) {
+						errorMsg="The attribute 'speedFactor' of stereotype CH_HwProcessor is null, default (value=1.0) will be used";
+						
+					}
+					else {
+						if (speedFactor.toString().length()==0) {
+							errorMsg="The attribute 'speedFactor' of stereotype CH_HwProcessor is null, default (value=1.0) will be used";
+							
+						}
+						//System.err.println("speedFactor:" + speedFactor.toString());
+					}
+				
+				}
+			}
+	
+		if (errorMsg != null){
+			IStatus failure = ctx.createFailureStatus(
+					elem,	errorMsg
+			);
+			return failure;
+		}
+		
+		return success;
+		
+	}
+	
+}			
diff --git a/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/constraints/EFVRT_02.java b/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/constraints/EFVRT_02.java
new file mode 100644
index 000000000..1e9c180f7
--- /dev/null
+++ b/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/constraints/EFVRT_02.java
@@ -0,0 +1,79 @@
+/*
+-----------------------------------------------------------------------
+--                CHESS Live/Batch Validator plugin                  --
+--                                                                   --
+--                    Copyright (C) 2011-2012                        --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author: Stefano Puri								                 --
+--                                                                   --
+-- All rights reserved. This program and the accompanying materials  --
+-- are made available under the terms of the Eclipse Public License  --
+-- v1.0 which accompanies this distribution, and is available at     --
+-- http://www.eclipse.org/legal/epl-v10.html                         --
+-----------------------------------------------------------------------
+*/
+package org.polarsys.chess.validator.constraints;
+
+import java.util.List;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HLAM.CallConcurrencyKind;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Package;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.polarsys.chess.core.views.ViewUtils;
+
+public class EFVRT_02 extends AbstractModelConstraint {
+
+	@Override
+	public IStatus validate(IValidationContext ctx) {
+		EObject eObject = ctx.getTarget();
+		Comment c = (Comment)eObject;
+		IStatus success = ctx.createSuccessStatus();
+		IStatus failure = ctx.createFailureStatus(
+				c.getAnnotatedElements(),  // name of element annotated by this comment {0}
+				c.getNearestPackage().getName()// package owning this {1}
+		);
+		
+		// view control:
+		boolean rightView = false;
+		Package ownerP = c.getNearestPackage();
+		if(ViewUtils.isComponentView(ownerP))
+			rightView = true;
+		else {
+			List<Package> pkg = c.getNearestPackage().allOwningPackages();
+			for(Package it : pkg) {
+				if(ViewUtils.isComponentView(it))
+					rightView = true;
+			}
+		}
+
+		if(rightView) {
+			Stereotype s = c.getAppliedStereotype("CHESS::Predictability::RTComponentModel::CHRtSpecification");	
+			if(s == null) 
+				return success;
+			else {
+				String occValue = (String) c.getValue(s, "occKind");
+				String protection = ((CallConcurrencyKind) c.getValue(s, "protection")).getLiteral();
+				
+				if (protection.compareToIgnoreCase("sequential")==0){
+				
+					if(occValue == null)
+						return failure;
+					else {
+						if(occValue.toLowerCase().startsWith("periodic")  || occValue.toLowerCase().startsWith("sporadic") 
+								|| occValue.toLowerCase().startsWith("burst"))
+							return success;
+						else
+							return failure;
+					}
+			}
+			}
+		}
+		return success;
+	}
+}			
diff --git a/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/constraints/EFVRT_03.java b/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/constraints/EFVRT_03.java
new file mode 100644
index 000000000..0ed9c5762
--- /dev/null
+++ b/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/constraints/EFVRT_03.java
@@ -0,0 +1,95 @@
+/*
+-----------------------------------------------------------------------
+--                CHESS Live/Batch Validator plugin                  --
+--                                                                   --
+--                    Copyright (C) 2011-2012                        --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author: 											                 --
+--                                                                   --
+-- All rights reserved. This program and the accompanying materials  --
+-- are made available under the terms of the Eclipse Public License  --
+-- v1.0 which accompanies this distribution, and is available at     --
+-- http://www.eclipse.org/legal/epl-v10.html                         --
+-----------------------------------------------------------------------
+*/
+package org.polarsys.chess.validator.constraints;
+
+import java.util.List;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Package;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.polarsys.chess.core.views.ViewUtils;
+
+public class EFVRT_03 extends AbstractModelConstraint {	
+	
+	@Override
+	public IStatus validate(IValidationContext ctx) {
+		EObject eObject = ctx.getTarget();
+		Comment c = (Comment)eObject;
+		IStatus success = ctx.createSuccessStatus();
+		IStatus failure = ctx.createFailureStatus(
+				c.getAnnotatedElements(),  // name of element annotated by this comment {0}
+				c.getNearestPackage().getName()// package owning this {1}
+		);
+
+		// view control:
+		boolean rightView = false;
+		Package ownerP = c.getNearestPackage();
+		if(ViewUtils.isExtraFunctionalView(ownerP))
+			rightView = true;
+		else {
+			List<Package> pkg = c.getNearestPackage().allOwningPackages();
+			for(Package it : pkg) {
+				if(ViewUtils.isExtraFunctionalView(it))
+					rightView = true;
+			}
+		}
+		
+		if(rightView) {
+			StringParser parser = new StringParser();
+			Stereotype s = c.getAppliedStereotype("CHESS-ML::Predictability::RTComponentModel::CH_RtSpecification");	
+			if(s == null)
+				return success;
+			else {
+
+				if(c.getValue(s, "partWithPort") == null)
+					return success;
+				else {
+					String occValue = (String) c.getValue(s, "occKind");
+					String wcet =  (String) c.getValue(s, "WCET");
+					String relDl =  (String) c.getValue(s, "relDl");
+
+					if(occValue == null || !(occValue.contains("PeriodicPattern")))
+						return success;
+					else {
+						if(wcet == null || relDl == null)
+							return failure;
+						else {
+							double period = parser.getValuePattern(occValue, "period");
+							if(!(period >= 0))
+								return failure;
+							else {
+								double wcetValue = parser.getValueNFP(wcet);
+								if(!(wcetValue >= 0))
+									return failure;
+								else {
+									double relDlValue = parser.getValueNFP(relDl);
+									if(!(relDlValue >= 0))
+										return failure;
+								}
+							}
+						}
+					}
+				}
+			}
+			return success;
+		}
+		return success;
+	}
+}			
diff --git a/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/constraints/EFVRT_04.java b/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/constraints/EFVRT_04.java
new file mode 100644
index 000000000..802bcd7f4
--- /dev/null
+++ b/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/constraints/EFVRT_04.java
@@ -0,0 +1,100 @@
+/*
+-----------------------------------------------------------------------
+--                CHESS Live/Batch Validator plugin                  --
+--                                                                   --
+--                    Copyright (C) 2011-2012                        --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author: 											                 --
+--                                                                   --
+-- All rights reserved. This program and the accompanying materials  --
+-- are made available under the terms of the Eclipse Public License  --
+-- v1.0 which accompanies this distribution, and is available at     --
+-- http://www.eclipse.org/legal/epl-v10.html                         --
+-----------------------------------------------------------------------
+*/
+package org.polarsys.chess.validator.constraints;
+
+import java.util.List;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Package;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.polarsys.chess.core.views.ViewUtils;
+
+public class EFVRT_04 extends AbstractModelConstraint {	
+	
+	@Override
+	public IStatus validate(IValidationContext ctx) {
+		EObject eObject = ctx.getTarget();
+		Comment c = (Comment)eObject;
+		
+		IStatus success = ctx.createSuccessStatus();
+		IStatus failure = ctx.createFailureStatus(
+				c.getAnnotatedElements(),  // name of element annotated by this comment {0}
+				c.getNearestPackage().getName()// package owning this {1}
+		);  
+		
+		// view control:
+		boolean rightView = false;
+		Package ownerP = c.getNearestPackage();
+		if(ViewUtils.isExtraFunctionalView(ownerP))
+			rightView = true;
+		else {
+			List<Package> pkg = c.getNearestPackage().allOwningPackages();
+			for(Package it : pkg) {
+				if(ViewUtils.isExtraFunctionalView(it))
+					rightView = true;
+			}
+		}
+
+		if(rightView) {
+
+			StringParser parser = new StringParser();
+			Stereotype s = c.getAppliedStereotype("CHESS-ML::Predictability::RTComponentModel::CH_RtSpecification");	
+
+			if(s == null)
+				return success;
+			else {
+
+				if(c.getValue(s, "partWithPort") == null)
+					return success;
+				else {
+					String occValue = (String) c.getValue(s, "occKind");
+					String priority =  (String) c.getValue(s, "priority");
+					String relPriority =  (String) c.getValue(s, "relativePriority");
+
+					if(occValue == null || !(occValue.contains("PeriodicPattern")))
+						return success;
+
+					else {
+						double phase = parser.getValuePattern(occValue, "phase");
+						if(phase != -1) 
+							if(!(phase > 0)) 
+								return failure;
+
+						
+						if(priority != null) {
+							double priorityVal = parser.getValueNFP(priority);
+							if(!(priorityVal > 0))
+								return failure;
+						}
+
+						if(relPriority != null) {
+							double relPriorityVal = parser.getValueNFP(relPriority);
+							if(!(relPriorityVal > 0))
+								return failure;
+						}
+
+					}
+				}
+			}
+			return success;
+		}
+		return success;
+	}
+}			
diff --git a/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/constraints/EFVRT_20.java b/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/constraints/EFVRT_20.java
new file mode 100644
index 000000000..dd88fb493
--- /dev/null
+++ b/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/constraints/EFVRT_20.java
@@ -0,0 +1,100 @@
+/*
+-----------------------------------------------------------------------
+--                CHESS Live/Batch Validator plugin                  --
+--                                                                   --
+--                    Copyright (C) 2011-2012                        --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author:                                                           --
+--                                                                   --
+-- All rights reserved. This program and the accompanying materials  --
+-- are made available under the terms of the Eclipse Public License  --
+-- v1.0 which accompanies this distribution, and is available at     --
+-- http://www.eclipse.org/legal/epl-v10.html                         --
+-----------------------------------------------------------------------
+*/
+package org.polarsys.chess.validator.constraints;
+
+import java.util.List;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Package;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.polarsys.chess.core.views.ViewUtils;
+
+public class EFVRT_20 extends AbstractModelConstraint {	
+	
+	@Override
+	public IStatus validate(IValidationContext ctx) {
+		EObject eObject = ctx.getTarget();
+		Comment c = (Comment)eObject;
+		
+		IStatus success = ctx.createSuccessStatus();
+		IStatus failure = ctx.createFailureStatus(
+				c.getAnnotatedElements(),  // name of element annotated by this comment {0}
+				c.getNearestPackage().getName()// package owning this {1}
+		);  
+		
+		// view control:
+		boolean rightView = false;
+		Package ownerP = c.getNearestPackage();
+		if(ViewUtils.isExtraFunctionalView(ownerP))
+			rightView = true;
+		else {
+			List<Package> pkg = c.getNearestPackage().allOwningPackages();
+			for(Package it : pkg) {
+				if(ViewUtils.isExtraFunctionalView(it))
+					rightView = true;
+			}
+		}
+		
+		if(rightView) {
+
+			StringParser parser = new StringParser();
+			Stereotype s = c.getAppliedStereotype("CHESS-ML::Predictability::RTComponentModel::CH_RtSpecification");	
+
+			if(s == null)
+				return success;
+			else {
+
+				if(c.getValue(s, "partWithPort") == null)
+					return success;
+				else {
+					String occValue = (String) c.getValue(s, "occKind");
+					String wcet = (String) c.getValue(s, "WCET");
+					String relDl = (String) c.getValue(s, "relDl");
+					// to add buffersize
+
+					if(occValue == null || !(occValue.contains("SporadicPattern")))
+						return success;
+
+					else {
+						if(wcet == null || relDl == null)
+							return failure;
+						else {
+							double minIntarr = parser.getValuePattern(occValue, "minInterarrival");
+							if(!(minIntarr >= 0)) 
+								return failure;	
+							else {
+								double wcetVal = parser.getValueNFP(wcet);
+								if(!(wcetVal >= 0))
+									return failure;
+								else {
+									double relDlVal = parser.getValueNFP(relDl);
+									if(!(relDlVal >= 0))
+										return failure;
+								}
+							}
+						}
+					}
+				}
+			}
+			return success;
+		}
+		return success;
+	}
+}			
diff --git a/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/constraints/EFVRT_30.java b/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/constraints/EFVRT_30.java
new file mode 100644
index 000000000..4e7013e06
--- /dev/null
+++ b/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/constraints/EFVRT_30.java
@@ -0,0 +1,91 @@
+/*
+-----------------------------------------------------------------------
+--                CHESS Live/Batch Validator plugin                  --
+--                                                                   --
+--                    Copyright (C) 2011-2012                        --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author:                                                           --
+--                                                                   --
+-- All rights reserved. This program and the accompanying materials  --
+-- are made available under the terms of the Eclipse Public License  --
+-- v1.0 which accompanies this distribution, and is available at     --
+-- http://www.eclipse.org/legal/epl-v10.html                         --
+-----------------------------------------------------------------------
+*/
+package org.polarsys.chess.validator.constraints;
+
+import java.util.List;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Package;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.polarsys.chess.core.views.ViewUtils;
+
+public class EFVRT_30 extends AbstractModelConstraint {	
+	
+	@Override
+	public IStatus validate(IValidationContext ctx) {
+		EObject eObject = ctx.getTarget();
+		Comment c = (Comment)eObject;
+
+		IStatus success = ctx.createSuccessStatus();
+		IStatus failure = ctx.createFailureStatus(
+				c.getAnnotatedElements(),  // name of element annotated by this comment {0}
+				c.getNearestPackage().getName()// package owning this {1}
+		);  
+
+		// view control:
+		boolean rightView = false;
+		Package ownerP = c.getNearestPackage();
+		if(ViewUtils.isExtraFunctionalView(ownerP))
+			rightView = true;
+		else {
+			List<Package> pkg = c.getNearestPackage().allOwningPackages();
+			for(Package it : pkg) {
+				if(ViewUtils.isExtraFunctionalView(it))
+					rightView = true;
+			}
+		}
+		
+		if(rightView) {
+		
+			StringParser parser = new StringParser();
+			Stereotype s = c.getAppliedStereotype("CHESS-ML::Predictability::RTComponentModel::CH_RtSpecification");	
+
+			if(s == null)
+				return success;
+			else {
+
+				if(c.getValue(s, "partWithPort") == null)
+					return success;
+				else {
+					String occValue = (String) c.getValue(s, "occKind");
+					String priority =  (String) c.getValue(s, "priority");
+					String relPriority =  (String) c.getValue(s, "relativePriority");
+					//bufferCeilingPriority to add
+
+					if(occValue == null || !(occValue.contains("SporadicPattern")))
+						return success;
+					else {
+
+						double priorityVal = parser.getValueNFP(priority);
+						if(priority != null) 
+							if(!(priorityVal > 0))
+								return failure;
+						double relPriorityVal = parser.getValueNFP(relPriority);
+						if(relPriority != null)
+							if(!(relPriorityVal > 0))
+								return failure;
+					}
+				}
+			}
+			return success;
+		}
+		return success;
+	}
+}			
diff --git a/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/constraints/EFVRT_40.java b/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/constraints/EFVRT_40.java
new file mode 100644
index 000000000..35ed3849b
--- /dev/null
+++ b/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/constraints/EFVRT_40.java
@@ -0,0 +1,80 @@
+/*
+-----------------------------------------------------------------------
+--                CHESS Live/Batch Validator plugin                  --
+--                                                                   --
+--                    Copyright (C) 2011-2012                        --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author:                                                           --
+--                                                                   --
+-- All rights reserved. This program and the accompanying materials  --
+-- are made available under the terms of the Eclipse Public License  --
+-- v1.0 which accompanies this distribution, and is available at     --
+-- http://www.eclipse.org/legal/epl-v10.html                         --
+-----------------------------------------------------------------------
+*/
+package org.polarsys.chess.validator.constraints;
+
+import java.util.List;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Package;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.polarsys.chess.core.views.ViewUtils;
+
+public class EFVRT_40 extends AbstractModelConstraint {	
+	
+	@Override
+	public IStatus validate(IValidationContext ctx) {
+		EObject eObject = ctx.getTarget();
+		Comment c = (Comment)eObject;
+
+		IStatus success = ctx.createSuccessStatus();
+		IStatus failure = ctx.createFailureStatus(
+				c.getAnnotatedElements(),  // name of element annotated by this comment {0}
+				c.getNearestPackage().getName()// package owning this {1}
+		);  
+
+		// view control:
+		boolean rightView = false;
+		Package ownerP = c.getNearestPackage();
+		if(ViewUtils.isExtraFunctionalView(ownerP))
+			rightView = true;
+		else {
+			List<Package> pkg = c.getNearestPackage().allOwningPackages();
+			for(Package it : pkg) {
+				if(ViewUtils.isExtraFunctionalView(it))
+					rightView = true;
+			}
+		}
+		
+		if(rightView) {
+		
+			StringParser parser = new StringParser();
+			Stereotype s = c.getAppliedStereotype("CHESS-ML::Predictability::RTComponentModel::CH_RtSpecification");	
+
+			if(s == null)
+				return success;
+			else {
+
+				if(c.getValue(s, "partWithPort") == null)
+					return success;
+				else {
+					
+					String localWCET = (String) c.getValue(s, "localWCET");
+					if(localWCET != null) { 
+						double localWCETVal = parser.getValueNFP(localWCET);
+						if(!(localWCETVal > 0))
+							return failure;
+					}
+				}
+			}
+			return success;
+		}
+		return success;
+	}
+}			
diff --git a/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/constraints/FV_02.java b/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/constraints/FV_02.java
new file mode 100644
index 000000000..64201ce54
--- /dev/null
+++ b/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/constraints/FV_02.java
@@ -0,0 +1,53 @@
+/*
+-----------------------------------------------------------------------
+--                CHESS Live/Batch Validator plugin                  --
+--                                                                   --
+--                    Copyright (C) 2011-2012                        --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author: Stefano Puri								                 --
+--                                                                   --
+-- All rights reserved. This program and the accompanying materials  --
+-- are made available under the terms of the Eclipse Public License  --
+-- v1.0 which accompanies this distribution, and is available at     --
+-- http://www.eclipse.org/legal/epl-v10.html                         --
+-----------------------------------------------------------------------
+*/
+package org.polarsys.chess.validator.constraints;
+
+import java.util.ArrayList;
+import java.util.Collection;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.polarsys.chess.chessmlprofile.util.Constants;
+
+public class FV_02 extends AbstractModelConstraint {
+
+	@Override
+	public IStatus validate(IValidationContext ctx) {
+		EObject eObject = ctx.getTarget();
+		Component component = (Component)eObject;
+		IStatus success = ctx.createSuccessStatus();
+		IStatus failure = ctx.createFailureStatus(
+				component,
+				component.getName()
+		);
+
+		Stereotype componentType = component.getAppliedStereotype(Constants.COMPONENT_TYPE);
+		if (componentType!=null) {
+			//System.err.println("Component " + component.getName() + " is a ComponentType");
+			// It must provide an interface
+			if (component.getProvideds().size()==0) {
+				//String errorMsg = "The ComponentType " + component.getName() + " does not provide an Interface";
+				return failure;		
+			}
+		}
+		return success;
+		
+	}
+}			
diff --git a/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/constraints/FV_03.java b/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/constraints/FV_03.java
new file mode 100644
index 000000000..f6afe3b0a
--- /dev/null
+++ b/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/constraints/FV_03.java
@@ -0,0 +1,170 @@
+/*
+-----------------------------------------------------------------------
+--                CHESS Live/Batch Validator plugin                  --
+--                                                                   --
+--                    Copyright (C) 2011-2012                        --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author: Stefano Puri								                 --
+--                                                                   --
+-- All rights reserved. This program and the accompanying materials  --
+-- are made available under the terms of the Eclipse Public License  --
+-- v1.0 which accompanies this distribution, and is available at     --
+-- http://www.eclipse.org/legal/epl-v10.html                         --
+-----------------------------------------------------------------------
+*/
+package org.polarsys.chess.validator.constraints;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Iterator;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.InterfaceRealization;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.Parameter;
+import org.eclipse.uml2.uml.ParameterDirectionKind;
+import org.eclipse.uml2.uml.Realization;
+import org.eclipse.uml2.uml.Relationship;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.emf.validation.model.ConstraintStatus;
+import org.polarsys.chess.chessmlprofile.util.Constants;
+
+public class FV_03 extends AbstractModelConstraint {
+
+	@Override
+	public IStatus validate(IValidationContext ctx) {
+		EObject eObject = ctx.getTarget();
+		Component component = (Component)eObject;
+		IStatus success = ctx.createSuccessStatus();
+
+		
+		Stereotype componentImpl = component.getAppliedStereotype(Constants.COMPONENT_IMPLEMENTATION);
+		if (componentImpl!=null) {
+			// This is a ComponentImplementation
+			//System.err.println("Component " + component.getName() + " is a ComponentImplementation");
+			//
+			int count=0;
+			Component realizedComponent = null;
+			
+			for (Relationship rel : component.getRelationships()) {
+				// The component must realize exactly one <<ComponentType>>
+				if ((rel instanceof Realization)) {
+					//skip InterfaceRealizations ...
+					// Browse realization's clients
+					Boolean isClient=false;
+					for (NamedElement elem : ((Realization) rel).getClients()) {
+						if (elem.equals(component)) {
+							isClient=true;
+						}
+					}
+					if (isClient) {
+						//check if it realizes a component type
+						for (NamedElement elem :  ((Realization) rel).getSuppliers()) {
+							Stereotype componentType = elem.getAppliedStereotype(Constants.COMPONENT_TYPE);
+							if (componentType!=null) {
+								//System.err.println(" it realizes " + elem.getName());
+								realizedComponent=(Component) elem;
+								count++;
+							}
+						}
+					}
+				}
+			}
+			if (count!=1) {
+				String errorMsg = "The component " + component.getName() + " must realize exactly one <<ComponentType>> (Currently : " + count +")";
+				IStatus failure = ctx.createFailureStatus(
+						component,
+						errorMsg
+				);
+				
+				return failure;
+			}
+			else {
+				// Additional constraint.
+				// A ComponentImplementation has to define the same operations than the ComponentType it realizes
+				for (Operation ctOp : realizedComponent.getOperations()) {
+					// So for operation ctOp, the component has to define the same
+					//System.err.println("checking for operation : "  + ctOp.getName());
+					Boolean opFound=false;
+					for (Operation op : component.getOperations()) {
+						if ( compareOperations(ctOp, op) ) {
+							opFound=true;
+						}
+					}
+					if (!opFound) {
+						String errorMsg = "The ComponentImplementation " + component.getName() + " must define the same operation " + ctOp.getName() + " as the ComponentType it realizes";
+						IStatus failure = ctx.createFailureStatus(
+								component,
+								errorMsg
+						);
+						
+						return failure;
+					}
+				}
+			}
+			
+		}
+
+		return success;
+		
+	}
+	
+	private Boolean compareOperations(Operation op1, Operation op2) {
+		Boolean result = true;
+
+		// Compare names
+		if (!op1.getName().equals(op2.getName())) {
+			result=false;
+		}
+		else {
+			// Compare return types
+
+			if (op1.getType() != op2.getType()) {
+				result=false;
+			}
+			else {
+				// Compare the number of parameters
+				Collection<Parameter> params1 = removeReturnParameter(op1.getOwnedParameters());
+				Collection<Parameter> params2 = removeReturnParameter(op2.getOwnedParameters());
+
+				if (params1.size() != params2.size() ) {
+					result=false;
+				}
+				else {
+					Iterator<Parameter> it1 = params1.iterator();
+					Iterator<Parameter> it2 = params2.iterator();
+					while (it1.hasNext()) {
+						Parameter p1 = it1.next();
+						Parameter p2 = it2.next();
+						if (p1.getType()!=p2.getType()) {
+							result=false;
+							break;
+						}
+					}
+				}
+			}
+		}
+		
+		return result;
+	}
+	
+	private Collection<Parameter> removeReturnParameter(
+			EList<Parameter> ownedParameters) {
+		Collection<Parameter> result = new ArrayList<Parameter>();
+		for (Parameter p : ownedParameters) {
+			if (!p.getDirection().equals(ParameterDirectionKind.get(ParameterDirectionKind.RETURN))) {
+				result.add(p);
+			}
+		}
+		
+		return result;
+	}
+}			
diff --git a/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/constraints/FV_04.java b/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/constraints/FV_04.java
new file mode 100644
index 000000000..eb3ac7aa4
--- /dev/null
+++ b/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/constraints/FV_04.java
@@ -0,0 +1,153 @@
+/*
+-----------------------------------------------------------------------
+--                CHESS Live/Batch Validator plugin                  --
+--                                                                   --
+--                    Copyright (C) 2011-2012                        --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author: Stefano Puri								                 --
+--                                                                   --
+-- All rights reserved. This program and the accompanying materials  --
+-- are made available under the terms of the Eclipse Public License  --
+-- v1.0 which accompanies this distribution, and is available at     --
+-- http://www.eclipse.org/legal/epl-v10.html                         --
+-----------------------------------------------------------------------
+*/
+package org.polarsys.chess.validator.constraints;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Iterator;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.InterfaceRealization;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.Parameter;
+import org.eclipse.uml2.uml.ParameterDirectionKind;
+import org.eclipse.uml2.uml.Realization;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.emf.validation.model.ConstraintStatus;
+import org.polarsys.chess.chessmlprofile.util.Constants;
+
+public class FV_04 extends AbstractModelConstraint {
+
+	@Override
+	public IStatus validate(IValidationContext ctx) {
+		EObject eObject = ctx.getTarget();
+		Component component = (Component)eObject;
+		IStatus success = ctx.createSuccessStatus();
+
+		Stereotype componentType = component.getAppliedStereotype(Constants.COMPONENT_TYPE);
+		if (componentType!=null) {
+			// This component is a ComponentType
+			// If it realizes an interface, then it has to define at least the same operations 
+			//System.err.println("---------------------------------------------\nComponent " + component.getName() + " is a ComponentType");
+			for (Realization realization : component.getRealizations()) {
+				if (realization instanceof InterfaceRealization) {
+					// Skip realizations that are not InterfaceRealization
+					//System.err.println(" -> found InterfaceRealization : " + realization.getName());
+					Boolean isClient = false;
+					for (NamedElement elem : realization.getClients()) {
+						if (elem.equals(component)) {
+							isClient = true;
+						}
+					}
+					if (isClient) {
+						// Check that the component defines the same operations as the Interface
+						for (NamedElement elem : realization.getSuppliers()) {
+							//System.err.println("  - supplier : " + elem.getName());
+							if (elem instanceof Interface) {
+								//System.err.println("   -> the supplier is an interface");
+								Interface rInt = (Interface) elem;
+								for (Operation op : rInt.getOwnedOperations()) {
+									// For each operation, the component type must define the same
+									Boolean opFound = false;
+									for (Operation compOp : component.getOwnedOperations()) {
+										// Compare operations
+										if (compareOperations(compOp, op)) {
+											opFound=true;
+											break;
+										}
+									}
+									if (!opFound) {
+										// Then it is an error
+										String errorMsg = "The <<ComponentType>> " + component.getName() + " does not define operation " + op.getName() + " from the interface " + rInt.getName() + " it realizes";
+										IStatus failure = ctx.createFailureStatus(
+												component,
+												errorMsg
+										);
+										
+										return failure;
+									}
+
+								}
+							}
+						}
+					}
+				}
+			}
+			
+		}
+			
+		return success;
+		
+	}
+	
+	private Boolean compareOperations(Operation op1, Operation op2) {
+		Boolean result = true;
+
+		// Compare names
+		if (!op1.getName().equals(op2.getName())) {
+			result=false;
+		}
+		else {
+			// Compare return types
+
+			if (op1.getType() != op2.getType()) {
+				result=false;
+			}
+			else {
+				// Compare the number of parameters
+				Collection<Parameter> params1 = removeReturnParameter(op1.getOwnedParameters());
+				Collection<Parameter> params2 = removeReturnParameter(op2.getOwnedParameters());
+
+				if (params1.size() != params2.size() ) {
+					result=false;
+				}
+				else {
+					Iterator<Parameter> it1 = params1.iterator();
+					Iterator<Parameter> it2 = params2.iterator();
+					while (it1.hasNext()) {
+						Parameter p1 = it1.next();
+						Parameter p2 = it2.next();
+						if (p1.getType()!=p2.getType()) {
+							result=false;
+							break;
+						}
+					}
+				}
+			}
+		}
+		
+		return result;
+	}
+	
+	private Collection<Parameter> removeReturnParameter(
+			EList<Parameter> ownedParameters) {
+		Collection<Parameter> result = new ArrayList<Parameter>();
+		for (Parameter p : ownedParameters) {
+			if (!p.getDirection().equals(ParameterDirectionKind.get(ParameterDirectionKind.RETURN))) {
+				result.add(p);
+			}
+		}
+		
+		return result;
+	}
+}			
diff --git a/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/constraints/FV_05.java b/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/constraints/FV_05.java
new file mode 100644
index 000000000..b52e1c4ad
--- /dev/null
+++ b/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/constraints/FV_05.java
@@ -0,0 +1,82 @@
+/*
+-----------------------------------------------------------------------
+--                CHESS Live/Batch Validator plugin                  --
+--                                                                   --
+--                    Copyright (C) 2011-2012                        --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author: Stefano Puri								                 --
+--                                                                   --
+-- All rights reserved. This program and the accompanying materials  --
+-- are made available under the terms of the Eclipse Public License  --
+-- v1.0 which accompanies this distribution, and is available at     --
+-- http://www.eclipse.org/legal/epl-v10.html                         --
+-----------------------------------------------------------------------
+*/
+package org.polarsys.chess.validator.constraints;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Iterator;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.InterfaceRealization;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.Parameter;
+import org.eclipse.uml2.uml.ParameterDirectionKind;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Realization;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.emf.validation.model.ConstraintStatus;
+import org.polarsys.chess.chessmlprofile.util.Constants;
+
+public class FV_05 extends AbstractModelConstraint {
+
+	@Override
+	public IStatus validate(IValidationContext ctx) {
+		EObject eObject = ctx.getTarget();
+		Component component = (Component)eObject;
+		IStatus success = ctx.createSuccessStatus();
+
+		Stereotype componentType = component.getAppliedStereotype(Constants.COMPONENT_TYPE);
+		
+		// Look for ComponentType and ComponentImplementation
+		if ( component.getAppliedStereotype(Constants.COMPONENT_TYPE)!=null ||
+			 (component.getAppliedStereotype(Constants.COMPONENT_IMPLEMENTATION)!=null) ) {
+		
+		// All ports owned by component must be stereotyped with ClientServerPort or FlowPort
+		
+			for (Property prop : component.getAllAttributes()) {
+				if (prop instanceof Port) {
+					//System.err.println(" found port : " + prop.getName());
+					Stereotype clientServerPort = prop.getAppliedStereotype(Constants.CLIENTSERVER_PORT);
+					Stereotype flowPort = prop.getAppliedStereotype(Constants.FLOW_PORT);
+					if ( (clientServerPort==null) &&	(flowPort==null) ) {
+						String errorMsg="The Port " + prop.getName() + " must be stereotyped by either <<ClientServerPort>> or <<FlowPort>>";
+						//System.err.println(errorMsg);
+						IStatus failure = ctx.createFailureStatus(
+								component,
+								errorMsg
+						);
+						return failure;
+					}
+
+				}
+				
+			}
+		}
+		
+
+		return success;
+		
+	}
+	
+}			
diff --git a/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/constraints/FV_06.java b/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/constraints/FV_06.java
new file mode 100644
index 000000000..0298e145b
--- /dev/null
+++ b/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/constraints/FV_06.java
@@ -0,0 +1,89 @@
+/*
+-----------------------------------------------------------------------
+--                CHESS Live/Batch Validator plugin                  --
+--                                                                   --
+--                    Copyright (C) 2011-2012                        --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author: Stefano Puri								                 --
+--                                                                   --
+-- All rights reserved. This program and the accompanying materials  --
+-- are made available under the terms of the Eclipse Public License  --
+-- v1.0 which accompanies this distribution, and is available at     --
+-- http://www.eclipse.org/legal/epl-v10.html                         --
+-----------------------------------------------------------------------
+*/
+package org.polarsys.chess.validator.constraints;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Iterator;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.InterfaceRealization;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.Parameter;
+import org.eclipse.uml2.uml.ParameterDirectionKind;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Realization;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.emf.validation.model.ConstraintStatus;
+import org.polarsys.chess.chessmlprofile.util.Constants;
+
+public class FV_06 extends AbstractModelConstraint {
+
+	@Override
+	public IStatus validate(IValidationContext ctx) {
+		EObject eObject = ctx.getTarget();
+		Component component = (Component)eObject;
+		IStatus success = ctx.createSuccessStatus();
+
+		Stereotype componentType = component.getAppliedStereotype(Constants.COMPONENT_TYPE);
+		
+		// Look for ComponentType and ComponentImplementation
+		if ( component.getAppliedStereotype(Constants.COMPONENT_TYPE)!=null ||
+			 (component.getAppliedStereotype(Constants.COMPONENT_IMPLEMENTATION)!=null) ) {
+		
+		
+			//System.err.println("Component " + component.getName());
+			for (Property prop : component.getAllAttributes()) {
+				if (prop instanceof Port) {
+					//System.err.println(" found port : " + prop.getName());
+					Stereotype clientServerPort = prop.getAppliedStereotype(Constants.CLIENTSERVER_PORT);
+					Stereotype flowPort = prop.getAppliedStereotype(Constants.FLOW_PORT);
+					
+					
+					// Check constraints 5 and 6
+					if (clientServerPort!=null) {
+						// check specificationKind (constraint 5)
+						String specKind = prop.getValue(clientServerPort, Constants.CSPORT_SPEC_KIND).toString();
+						//System.err.println("  ClientServerPort's specificationKind is " + specKind);
+						if (specKind!=(Constants.CSPORT_SPEC_KIND_INTERFACEBASED)) {
+							String errorMsg="The value of ClientServerPort stereotype's attribute " + Constants.CSPORT_SPEC_KIND + " must be set to " + Constants.CSPORT_SPEC_KIND_INTERFACEBASED;
+							IStatus failure = ctx.createFailureStatus(
+									component,
+									errorMsg
+							);
+							return failure;
+						}
+						
+						
+					}
+				}
+				
+			}
+		}
+			
+		return success;
+		
+	}
+	
+}			
diff --git a/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/constraints/FV_07.java b/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/constraints/FV_07.java
new file mode 100644
index 000000000..bb1516cdf
--- /dev/null
+++ b/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/constraints/FV_07.java
@@ -0,0 +1,74 @@
+/*
+-----------------------------------------------------------------------
+--                CHESS Live/Batch Validator plugin                  --
+--                                                                   --
+--                    Copyright (C) 2011-2012                        --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author: Stefano Puri								                 --
+--                                                                   --
+-- All rights reserved. This program and the accompanying materials  --
+-- are made available under the terms of the Eclipse Public License  --
+-- v1.0 which accompanies this distribution, and is available at     --
+-- http://www.eclipse.org/legal/epl-v10.html                         --
+-----------------------------------------------------------------------
+*/
+package org.polarsys.chess.validator.constraints;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.polarsys.chess.chessmlprofile.util.Constants;
+
+
+public class FV_07 extends AbstractModelConstraint {
+
+	@Override
+	public IStatus validate(IValidationContext ctx) {
+		EObject eObject = ctx.getTarget();
+		Component component = (Component)eObject;
+		IStatus success = ctx.createSuccessStatus();
+		
+		// Look for ComponentType and ComponentImplementation
+		if ( component.getAppliedStereotype(Constants.COMPONENT_TYPE)!=null ||
+			 (component.getAppliedStereotype(Constants.COMPONENT_IMPLEMENTATION)!=null) ) {
+		
+			
+			//System.err.println("Component " + component.getName());
+			for (Property prop : component.getAllAttributes()) {
+				if (prop instanceof Port) {
+					//System.err.println(" found port : " + prop.getName());
+					Stereotype clientServerPort = prop.getAppliedStereotype(Constants.CLIENTSERVER_PORT);
+					Stereotype flowPort = prop.getAppliedStereotype(Constants.FLOW_PORT);
+
+					if (clientServerPort!=null) {
+
+						// check kind (constraint 6)
+						String kind = prop.getValue(clientServerPort, Constants.CSPORT_KIND).toString();
+						//System.err.println("  ClientServerPort's kind is " + kind);
+						if (kind==(Constants.CSPORT_KIND_PROREQ)) {
+							String errorMsg="ClientServerPorts with kind " + Constants.CSPORT_KIND_PROREQ + " are not allowed in ComponentTypes and ComponentImplementations";
+							IStatus failure = ctx.createFailureStatus(
+									component,
+									errorMsg
+							);
+							return failure;
+						}
+					}
+				}
+				
+			}
+		}
+
+			
+		return success;
+		
+	}
+	
+
+}			
diff --git a/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/constraints/FlowPorts_01.java b/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/constraints/FlowPorts_01.java
new file mode 100644
index 000000000..250de910f
--- /dev/null
+++ b/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/constraints/FlowPorts_01.java
@@ -0,0 +1,47 @@
+package org.polarsys.chess.validator.constraints;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.uml2.uml.Abstraction;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Port;
+import org.polarsys.chess.core.util.uml.UMLUtils;
+
+public class FlowPorts_01 extends AbstractModelConstraint {
+
+	public static final String FLOWPORT = "MARTE::MARTE_DesignModel::GCM::FlowPort";
+	public static final String ALLOCATE = "MARTE::MARTE_Foundations::Alloc::Allocate";
+	
+	@Override
+	public IStatus validate(IValidationContext ctx) {
+
+		IStatus success = ctx.createSuccessStatus();
+		IStatus failure = ctx.createFailureStatus();
+			
+		Port port = (Port) ctx.getTarget();
+		if(port.getAppliedStereotype(FLOWPORT) == null){
+			return success;
+		}
+		
+		Element owner = port.getOwner();
+		if(!UMLUtils.isComponentType(owner)){
+			return success;
+		}
+		
+		/* if it is a flow port of a component type it must have at least a mapping to a parameter 
+		 * (the validity of such mapping is checked through other constraints)
+		 */
+
+		EList<Dependency> dependencies = port.getClientDependencies();
+		for (Dependency dep : dependencies) {
+			if (dep instanceof Abstraction && dep.getAppliedStereotype(ALLOCATE) != null){
+				return success;
+			}
+		}
+		return failure;
+	}
+
+}
diff --git a/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/constraints/FlowPorts_02.java b/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/constraints/FlowPorts_02.java
new file mode 100644
index 000000000..20d19fd2d
--- /dev/null
+++ b/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/constraints/FlowPorts_02.java
@@ -0,0 +1,57 @@
+package org.polarsys.chess.validator.constraints;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.uml2.uml.Abstraction;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Parameter;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.Type;
+import org.polarsys.chess.core.util.uml.UMLUtils;
+
+public class FlowPorts_02 extends AbstractModelConstraint {
+
+	@Override
+	public IStatus validate(IValidationContext ctx) {
+		IStatus success = ctx.createSuccessStatus();
+		IStatus failure = ctx.createFailureStatus();
+
+		Port port = (Port) ctx.getTarget();
+		if(port.getAppliedStereotype(FlowPorts_01.FLOWPORT) == null){
+			return success;
+		}
+		
+		Element owner = port.getOwner();
+		if(!UMLUtils.isComponentType(owner)){
+			return success;
+		}
+
+		/* if it is a flow port of a component type, each of its mapped parameters should have the same type as the port
+		 * 
+		 * note: creating a mapping will avoid this issue, but changing the type of the port
+		 * or of another parameter at a different time is possible and will result in an erratic situation		
+		 */
+		Type portType = port.getType();
+		EList<Dependency> dependencies = port.getClientDependencies();
+		for (Dependency dep : dependencies) {
+			if (dep instanceof Abstraction && dep.getAppliedStereotype(FlowPorts_01.ALLOCATE) != null){
+				EList<NamedElement> suppList = dep.getSuppliers();
+				for (NamedElement nElem : suppList) {
+					if(nElem instanceof Parameter){
+						Parameter param = (Parameter) nElem;
+						if(param.getType() != portType){
+							return failure;
+						}
+					}
+				}
+			}
+		}
+
+		return success;
+	}
+
+}
diff --git a/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/constraints/FlowPorts_03.java b/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/constraints/FlowPorts_03.java
new file mode 100644
index 000000000..036a791eb
--- /dev/null
+++ b/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/constraints/FlowPorts_03.java
@@ -0,0 +1,84 @@
+package org.polarsys.chess.validator.constraints;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.uml2.uml.Abstraction;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.Parameter;
+import org.eclipse.uml2.uml.Port;
+import org.polarsys.chess.core.util.uml.UMLUtils;
+
+public class FlowPorts_03 extends AbstractModelConstraint {
+
+	@Override
+	public IStatus validate(IValidationContext ctx) {
+		IStatus success = ctx.createSuccessStatus();
+		IStatus failure = ctx.createFailureStatus();
+
+		Port port = (Port) ctx.getTarget();
+		if(port.getAppliedStereotype(FlowPorts_01.FLOWPORT) == null){
+			return success;
+		}
+		
+		Element owner = port.getOwner();
+		if(!UMLUtils.isComponentType(owner)){
+			return success;
+		}
+		
+		/* if it is a flow port of a component type, each of its mapped parameters should have the direction consistent. ie:
+		 * port direction IN -> param direction IN or INOUT (param of PROVIDED operation)
+		 * port direction OUT -> param direction OUT or INOUT (param of PROVIDED operation)
+		 * port direction IN -> param direction OUT or INOUT (param of REQUIRED operation)
+		 * port direction OUT -> param direction IN or INOUT (param of REQUIRED operation)
+		 * port direction INOUT -> param direction IN or OUT orINOUT (param of REQUIRED or PROVIDED operation)
+		 * note: creating a mapping will avoid this issue, but changing the direction of the port
+		 * or of another parameter at a different time is possible and may result in an erratic situation
+		 */	
+		Component comp = (Component) owner;
+		String portDirection = port.getValue(port.getAppliedStereotype(FlowPorts_01.FLOWPORT), "direction").toString();
+		EList<Dependency> dependencies = port.getClientDependencies();
+		for (Dependency dep : dependencies) {
+			if (dep instanceof Abstraction && dep.getAppliedStereotype(FlowPorts_01.ALLOCATE) != null){
+				EList<NamedElement> suppList = dep.getSuppliers();
+				for (NamedElement nElem : suppList) {
+					if(nElem instanceof Parameter){
+						Parameter param = (Parameter) nElem;
+						String paramDirection =	param.getDirection().toString();
+						Operation op = param.getOperation();
+						if(provided(op, comp)){
+							if((portDirection.equals("in") && paramDirection.equals("out")) ||
+							   (portDirection.equals("out") && paramDirection.equals("in"))){
+								return failure;
+							}
+						}else{
+							if((portDirection.equals("in") && paramDirection.equals("in")) ||
+							   (portDirection.equals("out") && paramDirection.equals("out"))){
+								return failure;	
+							}
+						}
+					}
+				}
+			}
+		}
+		
+		return null;
+	}
+
+	private boolean provided(Operation op, Component comp) {
+		boolean provided = false;
+		for (Operation operation : comp.getAllOperations()) {
+			if(operation.getName().equals(op.getName())){
+				provided = true;
+				break;
+			}
+		}
+		return provided;
+	}
+
+}
diff --git a/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/constraints/StringParser.java b/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/constraints/StringParser.java
new file mode 100644
index 000000000..849aa98b8
--- /dev/null
+++ b/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/constraints/StringParser.java
@@ -0,0 +1,47 @@
+/*
+-----------------------------------------------------------------------
+--                CHESS Live/Batch Validator plugin                  --
+--                                                                   --
+--                    Copyright (C) 2011-2012                        --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author: Alessandro Zovi         azovi@math.unipd.it               --
+--                                                                   --
+-- All rights reserved. This program and the accompanying materials  --
+-- are made available under the terms of the Eclipse Public License  --
+-- v1.0 which accompanies this distribution, and is available at     --
+-- http://www.eclipse.org/legal/epl-v10.html                         --
+-----------------------------------------------------------------------
+*/
+package org.polarsys.chess.validator.constraints;
+
+public class StringParser {
+	//String value = "PeriodicPattern(period(value=40,unit=ms),..)";
+	// ex: WCET -> "(value=40, unit=ms)"
+	
+public double getValuePattern(String value, String toSearch) {
+		
+		String[] array = value.split("[()=, ]");
+		for(int i=0; i<array.length-1; i++) {
+			for(int j=i+1; j<array.length; j++) {
+				if(array[i].equalsIgnoreCase(toSearch) && array[j].equalsIgnoreCase("value")) {
+					String d = array[j+1];
+					return Double.valueOf(d.trim());			
+				}
+			}
+		}
+		return -1; 
+	}
+	
+	public double getValueNFP(String value) {
+		String[] array = value.split("[()=,]");
+		for(int i=0; i<array.length-1; i++) {
+			if(array[i].trim().equalsIgnoreCase("value")) {
+				String d = array[i+1].trim();
+				return Double.valueOf(d);			
+			}
+		}
+		return -1; 
+	}
+	
+}
diff --git a/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/managers/ActionsLib.java b/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/managers/ActionsLib.java
new file mode 100644
index 000000000..996904141
--- /dev/null
+++ b/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/managers/ActionsLib.java
@@ -0,0 +1,812 @@
+/*
+-----------------------------------------------------------------------
+--          			CHESS validator plugin					     --
+--                                                                   --
+--                    Copyright (C) 2011-2012                        --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author: Alessandro Zovi         azovi@math.unipd.it 		         --
+--                                                                   --
+-- All rights reserved. This program and the accompanying materials  --
+-- are made available under the terms of the Eclipse Public License  --
+-- v1.0 which accompanies this distribution, and is available at     --
+-- http://www.eclipse.org/legal/epl-v10.html                         --
+-----------------------------------------------------------------------
+*/
+
+package org.polarsys.chess.validator.managers;
+
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.emf.common.command.Command;
+import org.eclipse.emf.common.command.CompoundCommand;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.edit.command.DeleteCommand;
+import org.eclipse.emf.edit.command.SetCommand;
+import org.eclipse.emf.transaction.RollbackException;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.gmf.runtime.common.core.command.CompositeCommand;
+import org.eclipse.gmf.runtime.common.core.command.ICommand;
+import org.eclipse.gmf.runtime.emf.type.core.commands.DestroyElementCommand;
+import org.eclipse.gmf.runtime.emf.type.core.requests.DestroyElementRequest;
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.GCM.ClientServerPort;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.GCM.FlowPort;
+import org.eclipse.papyrus.commands.wrappers.EMFtoGMFCommandWrapper;
+import org.eclipse.papyrus.commands.wrappers.GMFtoEMFCommandWrapper;
+import org.eclipse.papyrus.editor.PapyrusMultiDiagramEditor;
+import org.eclipse.papyrus.infra.services.edit.service.ElementEditServiceUtils;
+import org.eclipse.papyrus.infra.services.edit.service.IElementEditService;
+import org.eclipse.papyrus.uml.tools.listeners.PapyrusStereotypeListener;
+import org.eclipse.uml2.uml.Behavior;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.InterfaceRealization;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.Package;
+import org.eclipse.uml2.uml.Parameter;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.Realization;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.internal.impl.RealizationImpl;
+import org.polarsys.chess.chessmlprofile.Predictability.RTComponentModel.CHRtSpecification;
+import org.polarsys.chess.core.automatedActions.IAutomatedAction;
+import org.polarsys.chess.core.util.CHESSProjectSupport;
+import org.polarsys.chess.core.util.uml.UMLUtils;
+import org.polarsys.chess.core.views.ViewUtils;
+import org.polarsys.chess.service.utils.CHESSEditorUtils;
+import org.polarsys.chess.validator.Activator;
+import org.polarsys.chess.validator.AddDiagramElement;
+
+public class ActionsLib {
+	
+	public static IAutomatedAction portModificationAction = new IAutomatedAction() {
+		@Override
+		public Command compile(Notification notification, List<Notification> notificationList,
+				TransactionalEditingDomain domain) {
+			Object notifier = notification.getNotifier();
+			// in case of modification of a clientserverport
+			if (notifier instanceof Port
+					&& notification.getEventType() == PapyrusStereotypeListener.MODIFIED_STEREOTYPE) {
+				// if
+				// (((EObject)notification.getNewValue()).eClass().getName().equals("ClientServerPort")){}
+				if (notification.getNewValue() instanceof ClientServerPort) {
+					if (((Port) notifier).getOwner() instanceof Component) {
+						Component comp = (Component) ((Port) notifier).getOwner();
+						if (!(UMLUtils.isComponentType(comp) && ViewUtils.isComponentView(ViewUtils.getView(comp))))
+							return null;
+						
+
+						ClientServerPort port = (ClientServerPort) notification.getNewValue();
+
+						EList<Dependency> cDependenciesToRemove = UMLUtils.computeDependenciesToRemove(comp);
+						EList<InterfaceRealization> cRealizationsToRemove = UMLUtils.computeRealizationsToRemove(comp);
+
+						// CompositeCommand cc = new
+						// CompositeCommand("portAutomations");
+						// cc.add(new
+						// EMFtoGMFCommandWrapper(AddDiagramElement.destroyDependencies(domain,
+						// cDependenciesToRemove)));
+						// cc.add(new
+						// EMFtoGMFCommandWrapper(AddDiagramElement.destroyDependencies(domain,
+						// cRealizationsToRemove)));
+						// cc.add(new
+						// EMFtoGMFCommandWrapper(AddDiagramElement.createDependencies(domain,
+						// comp, port)));
+						// if (!cc.isEmpty()){
+						// return new GMFToEMFCommand(ccc);
+						// }
+
+						CompoundCommand ccc = new CompoundCommand("portAutomations");
+						ccc.append(AddDiagramElement.updateImplementationsPorts(domain, port));
+						ccc.append(AddDiagramElement.destroyDependencies(domain, cDependenciesToRemove));
+						ccc.append(AddDiagramElement.destroyDependencies(domain, cRealizationsToRemove));
+						ccc.append(AddDiagramElement.createDependencies(domain,	comp, port));
+						return ccc;
+					}
+				}
+				
+				else if(notification.getNewValue() instanceof FlowPort){
+					if (((Port) notifier).getOwner() instanceof Component) {
+						Component comp = (Component) ((Port) notifier).getOwner();
+						if (!(UMLUtils.isComponentType(comp) && ViewUtils.isComponentView(ViewUtils.getView(comp))))
+							return null;
+						
+						FlowPort flPort = (FlowPort) notification.getNewValue();
+						
+						CompoundCommand cc = new CompoundCommand("portAutomations");
+						cc.append(AddDiagramElement.updateImplementationsFlowPorts(domain, flPort));
+						return cc;
+					}
+				}
+			}
+			return null;
+		}
+	};
+
+	public static IAutomatedAction portRemovalAction = new IAutomatedAction() {
+		@Override
+		public Command compile(Notification notification, List<Notification> notificationList,
+				TransactionalEditingDomain domain) {
+			Object notifier = notification.getNotifier();
+			// in case of removal of a clientserverport or FlowPort
+			if ((notifier instanceof ClientServerPort || notifier instanceof FlowPort)
+					&& notification.getEventType() == Notification.SET) {
+				if (notification.getFeature() instanceof EReference	
+						&& ((EReference) notification.getFeature()).getName().equals("base_Port")
+						&& notification.getNewValue() == null) {
+					Port p = (Port) notification.getOldValue();
+					Element el = p.getOwner();
+					
+					if (!(el instanceof NamedElement 
+							&& UMLUtils.isComponentType((NamedElement) el) 
+							&& ViewUtils.isComponentView(ViewUtils.getView(el))))
+						return null;
+					Component comp = (Component) el;
+
+					EList<Dependency> cDependenciesToRemove = UMLUtils.computeDependenciesToRemove(comp);
+					EList<InterfaceRealization> cRealizationsToRemove = UMLUtils.computeRealizationsToRemove(comp);
+
+					CompoundCommand ccc = new CompoundCommand("portAutomations");
+					ccc.append(AddDiagramElement.removeImplementationsPorts(domain, p));
+					ccc.append(AddDiagramElement.destroyDependencies(domain,
+							cDependenciesToRemove));
+					ccc.append(AddDiagramElement.destroyDependencies(domain,
+							cRealizationsToRemove));
+					return ccc;
+				}
+			}
+			return null;
+		}
+	};
+	
+	/*
+	 * inherited operations are automatically added
+	 */
+	public static IAutomatedAction componentInterfaceRealizationAction = new IAutomatedAction() {
+		@Override
+		public Command compile(Notification notification, List<Notification> notificationList,
+				TransactionalEditingDomain domain) {
+			Object notifier = notification.getNotifier();
+			if (notifier instanceof Component) {
+				Component comp = (Component) notifier;
+				if (notification.getEventType() == Notification.ADD && notification.getNewValue() instanceof InterfaceRealization) {
+					InterfaceRealization link = (InterfaceRealization) notification.getNewValue();
+					Interface contract = link.getContract();
+					// cheks to be verified only in case the current component
+					// belongs to the functional view
+					if (ViewUtils.isComponentView(ViewUtils.getView(comp)) && UMLUtils.isComponentType(comp)) {
+						return AddDiagramElement.addOperationCommand(domain, contract, comp);
+					}
+				}
+			}
+			return null;
+		}
+	};
+	
+	public static IAutomatedAction componentRealizationAction = new IAutomatedAction() {
+		@Override
+		public Command compile(Notification notification, List<Notification> notificationList,
+				TransactionalEditingDomain domain) {
+			Object notifier = notification.getNotifier();
+			Object feature = notification.getFeature();
+			if(feature instanceof EReference){
+				EReference ref = (EReference) feature;
+				if(notifier instanceof Realization && ref.getName().equals("supplier")){
+					Realization link = (Realization) notifier;
+					//get the client (ComponentImplementation) - according to the notifications chain, the client is set before the supplier
+					if (link.getClients().size() != 1)
+						return null;
+					Component clientComp = (Component) link.getClients().get(0);
+					//now get the supplier (ComponentType)
+					Object newVal = notification.getNewValue();
+					if(newVal instanceof Component){
+						Component supplierComp = (Component) newVal;
+						//checks to be verified only in case the current ComponentImplementation belongs to the functional view
+						if (!ViewUtils.isComponentView(ViewUtils.getView(clientComp)) || !UMLUtils.isComponentImplementation(clientComp))
+							return null;
+						//add operations and ports to the client (ComponentImplementation)
+						CompositeCommand cc = new CompositeCommand("portAndOpCommand");
+						Command cmd = AddDiagramElement.addOperationCommand(domain,	supplierComp, clientComp);
+						cc.add(new EMFtoGMFCommandWrapper(cmd));
+						Command cmd2 = AddDiagramElement.addAllPortsCommand(domain, supplierComp, clientComp);
+						cc.add(new EMFtoGMFCommandWrapper(cmd2));
+						if (!cc.isEmpty()) {
+							return new GMFtoEMFCommandWrapper(cc);
+						}
+					}
+				}
+			}
+			return null;
+		}
+
+	};
+	
+	public static IAutomatedAction removeRealizationOperationsAction = new IAutomatedAction() {
+		
+		private IStatus operationAborted = new Status(IStatus.ERROR,
+				Activator.PLUGIN_ID, Messages.operationAborted);
+		
+		
+		@Override
+		public Command compile(Notification notification, List<Notification> notificationList,
+				TransactionalEditingDomain domain) throws RollbackException {
+			Object notifier = notification.getNotifier();
+			if (notifier instanceof Component) {
+				Component comp = (Component) notifier;
+
+				// Deletion of a Realization link
+				if (notification.getEventType() == Notification.REMOVE
+						&& notification.getOldValue().getClass().equals(RealizationImpl.class) && notification.getFeature() instanceof EReference && ((EReference)notification.getFeature()).getName().equals("clientDependency")) {
+					Package view = ViewUtils.getView((Component) notifier);
+					// checks to be verified only in case the current component
+					// belongs to the functional view
+					Realization rel = (Realization) notification.getOldValue();
+					if (!(ViewUtils.isComponentView(view) && UMLUtils.isComponentImplementation(comp)))
+						return null;
+					PapyrusMultiDiagramEditor editor = CHESSEditorUtils.getCHESSEditor();
+					if (editor == null) 
+						return null;
+					MessageDialog md = CHESSEditorUtils.showConfirmDialog(editor, "Confirm", "Do you want to propagate the removal of the operations of this realization "+rel.getName()+"?");
+					// * 0 - OK
+					int result = md.open();
+					if (result == 0){
+						return deleteOperations(comp, view, domain);
+					}
+					// CANCEL
+					if (result == 2){
+						CHESSProjectSupport.CHESS_CONSOLE.println(operationAborted.getMessage());
+						// TODO why?
+						//throw new RollbackException(operationAborted);
+					}	
+				}
+			}
+			return null;
+		}
+		
+		
+		//TODO it needs to be checked 
+		private Command deleteOperations(Component component, Package view,
+				TransactionalEditingDomain domain) {
+			CompositeCommand cmd = new CompositeCommand("delOpCommand");
+
+			// Delete all the operations of the component
+			// implementation
+			ArrayList<Operation> opToDel = new ArrayList<Operation>();
+			// Delete all the activity diagram
+			ArrayList<Behavior> behaviorToDel = new ArrayList<Behavior>();
+			// Delete all the owned port
+			ArrayList<Port> portToDel = new ArrayList<Port>();
+			// Delete all ChRtSpecification attached to the ports
+			ArrayList<Comment> commentToDel = new ArrayList<Comment>();
+
+			for (Operation op : component.getOwnedOperations()) {
+				opToDel.add(op);
+				behaviorToDel.addAll(op.getMethods());
+			}
+
+			for (Port p : component.getOwnedPorts()) {
+				if (!UMLUtils.isClientServerPort(p))
+					continue;
+				portToDel.add(p);
+				commentToDel.addAll(UMLUtils.getCHRtSpecificationComments(view, p));
+			}
+
+			behaviorToDel.addAll(component.getOwnedBehaviors());
+
+			DeleteCommand delC = new DeleteCommand(domain, opToDel);
+			cmd.add(new EMFtoGMFCommandWrapper(delC));
+
+			if (portToDel.size() > 0) {
+
+				for (int i = 0; i < portToDel.size(); i++) {
+					IElementEditService provider = ElementEditServiceUtils
+							.getCommandProvider(portToDel.get(i));
+
+					if (provider == null) {
+
+						continue;
+
+					}
+					// Retrieve delete command from the Element Edit
+					// service
+
+					DestroyElementRequest request = new DestroyElementRequest(
+							portToDel.get(i), false);
+
+					ICommand deleteCommand = provider
+							.getEditCommand(request);
+
+					cmd.add(deleteCommand);
+				}
+			}
+
+			if (commentToDel.size() > 0) {
+
+				for (int i = 0; i < commentToDel.size(); i++) {
+					IElementEditService provider = ElementEditServiceUtils
+							.getCommandProvider(commentToDel.get(i));
+
+					if (provider == null) {
+						continue;
+					}
+					// Retrieve delete command from the Element Edit
+					// service
+
+					DestroyElementRequest request = new DestroyElementRequest(
+							commentToDel.get(i), false);
+
+					ICommand deleteCommand = provider.getEditCommand(request);
+
+					cmd.add(deleteCommand);
+				}
+			}
+
+			// remove all the bahavior related to the selected
+			// operation
+			if (behaviorToDel.size() > 0) {
+
+				for (int i = 0; i < behaviorToDel.size(); i++) {
+					IElementEditService provider = ElementEditServiceUtils
+							.getCommandProvider(behaviorToDel.get(i));
+
+					if (provider == null) {
+						continue;
+					}
+					// Retrieve delete command from the Element Edit
+					// service
+
+					DestroyElementRequest request = new DestroyElementRequest(
+							behaviorToDel.get(i), false);
+
+					ICommand deleteCommand = provider
+							.getEditCommand(request);
+
+					cmd.add(deleteCommand);
+				}
+			}
+
+			if (!cmd.isEmpty())
+				return new GMFtoEMFCommandWrapper(cmd);
+			return null;
+		}
+	};
+	
+	public static IAutomatedAction propagateOperationModification = new IAutomatedAction() {
+		
+		@Override
+		public Command compile(Notification notification, List<Notification> notificationList,
+				TransactionalEditingDomain domain) throws RollbackException {
+			Object notifier = notification.getNotifier();
+			if (notifier instanceof Operation) {
+				// in case of addition
+				if (notification.getEventType() == Notification.SET) {
+					Operation op = (Operation) notifier;
+					EObject container = op.eContainer();
+//					if (container == null && notification.getOldValue() instanceof Interface){
+//						container = (EObject) notification.getOldValue();
+//					}
+						
+					if (!(container instanceof Interface))
+						return null;
+					if (!ViewUtils.isComponentView(ViewUtils.getView(container))) 
+						return null;
+					
+					EList<Component> relationships = UMLUtils.getAllInterfaceComponents((Interface) container);
+					if (relationships == null || relationships.isEmpty()) 
+						return null;
+					
+					CompositeCommand cmd = new CompositeCommand("setCommand");
+					for (Component comp : relationships) {
+							propagateFeature(notification, domain, op, cmd,	comp);
+					}
+					if (!cmd.isEmpty())
+						return new GMFtoEMFCommandWrapper(cmd);
+				}
+			}
+			return null;
+		}
+
+		private void propagateFeature(Notification notification,
+				TransactionalEditingDomain domain, Operation op,
+				CompositeCommand cmd, Component comp) {
+			String opName = op.getName();
+			if (notification.getFeature() instanceof EAttribute && ((EAttribute)notification.getFeature()).getName().equals("name"))
+				opName = (String) notification.getOldValue();
+			for (Operation cOperation : comp.getOwnedOperations()) {
+				if (cOperation.getName().equalsIgnoreCase(opName)) {
+					if (UMLUtils.areParametersEquals(cOperation, op)) {
+						SetCommand setC = new SetCommand(domain, cOperation, (EStructuralFeature) notification.getFeature(),
+								notification.getNewValue());
+						cmd.add(new EMFtoGMFCommandWrapper(setC));
+					}
+				}
+			}
+		}
+	};
+	
+	
+	public static IAutomatedAction propagateInterfaceModification = new IAutomatedAction() {
+		
+		private IStatus operationAborted = new Status(IStatus.ERROR,
+				Activator.PLUGIN_ID, Messages.operationAborted);
+		
+		@Override
+		public Command compile(Notification notification, List<Notification> notificationList,
+				TransactionalEditingDomain domain) throws RollbackException {
+			Object notifier = notification.getNotifier();
+			if (notifier instanceof Interface) {
+				Interface interfce = (Interface) notifier;
+				
+				if (notification.getEventType() == Notification.ADD
+						&& notification.getNewValue() instanceof Operation) {
+					
+					Operation operation = (Operation) notification.getNewValue();
+					// checks to be verified only in case the current component
+					// belongs to the functional view
+					if (ViewUtils.isComponentView(ViewUtils.getView(interfce))) {
+						return AddDiagramElement.addOperationCommand1(domain, interfce, operation);
+					}
+				}
+				
+				// Deletion of an operation belonging to an interface
+				if (notification.getEventType() == Notification.REMOVE
+						&& notification.getOldValue() instanceof Operation) {
+					Operation operation = (Operation) notification.getOldValue();
+					if (!ViewUtils.isComponentView(ViewUtils.getView(interfce)))
+						return null;
+						
+					PapyrusMultiDiagramEditor editor = CHESSEditorUtils.getCHESSEditor();
+					if (editor == null) 
+						return null;
+					MessageDialog md = CHESSEditorUtils.showConfirmDialog(editor, "Confirm", "Do you want to propagate the removal of "+operation.getName()+" from all the  related model elements?");
+					// * 0 - OK
+					int result = md.open();
+					
+					
+					// * 0 - OK
+					// * 1 - No
+					// * 2 - Cancel
+					switch (result) {
+					case 0:
+						EList<Component> relationships = UMLUtils.getAllInterfaceComponents(interfce);
+						CompositeCommand cmd = new CompositeCommand("delOpCommand");
+						
+						ArrayList<Operation> opToDel = new ArrayList<Operation>();
+						ArrayList<Behavior> behaviorToDel = new ArrayList<Behavior>();
+
+						
+						//opToDel.add(operation);
+						for (Component cmp : relationships) {
+							for (Operation op : cmp.getOwnedOperations()) {
+								if (UMLUtils.isOperationEquals(op, operation)) {
+									opToDel.add(op);
+									behaviorToDel.addAll(op.getMethods());
+								}
+							}
+						}
+						cmd.add(new EMFtoGMFCommandWrapper(new DeleteCommand(domain, opToDel)));
+						// Remove all <<ChRtSpecification>> with the context
+						// attribute set to the equivalent operation of the
+						// component implementation
+						// <<ChRtSpecification>> are only inside system
+						ArrayList<Comment> commentToDel = new ArrayList<Comment>();
+						for (Notification aNotification : notificationList) {
+							if (aNotification.equals(notification))
+								continue;
+							if (aNotification.getNotifier() instanceof CHRtSpecification
+									&& aNotification.getEventType() == Notification.SET) {
+								if (aNotification.getOldValue() instanceof Operation && aNotification.getOldValue().equals(operation)) {
+									commentToDel.add(((CHRtSpecification) aNotification.getNotifier()).getBase_Comment());
+								}
+							}
+						}
+
+						if (!commentToDel.isEmpty()) {
+							for (Comment comment : commentToDel) {
+								IElementEditService provider = ElementEditServiceUtils.getCommandProvider(comment);
+								if (provider == null)
+									continue;
+								// Retrieve delete command from the Element Edit
+								// service
+								DestroyElementRequest request = new DestroyElementRequest(comment, false);
+								ICommand deleteCommand = provider.getEditCommand(request);
+								cmd.add(deleteCommand);
+							}
+						}
+
+						// remove all the bahavior related to the selected
+						// operation
+						if (!behaviorToDel.isEmpty()) {
+							for (Behavior behavior : behaviorToDel) {
+								IElementEditService provider = ElementEditServiceUtils.getCommandProvider(behavior);
+
+								if (provider == null)
+									continue;
+
+								DestroyElementRequest request = new DestroyElementRequest(behavior, false);
+								ICommand deleteCommand = provider.getEditCommand(request);
+								cmd.add(deleteCommand);
+							}
+						}
+
+						if (!cmd.isEmpty())
+							return new GMFtoEMFCommandWrapper(cmd);
+						break;
+					case 2:
+						CHESSProjectSupport.CHESS_CONSOLE.println(operationAborted.getMessage());
+						throw new RollbackException(operationAborted);
+					}
+				}
+			}
+			return null;
+		}
+	};
+		
+
+	public static IAutomatedAction propagateParameterRemovalAction = new IAutomatedAction() {
+		
+		@Override
+		public Command compile(Notification notification,
+				List<Notification> notificationList,
+				TransactionalEditingDomain domain) throws RollbackException {
+			Object notifier = notification.getNotifier();
+			if (notifier instanceof Operation) {
+				if ((notification.getEventType() == Notification.REMOVE && notification
+						.getOldValue() instanceof Parameter)) {
+					Parameter param = (Parameter) notification.getOldValue();
+					Operation operation = (Operation) notifier;
+					CompositeCommand cmd = new CompositeCommand("delCommand");
+
+					EObject opCont = operation.eContainer();
+					if (!(opCont instanceof Interface) || !ViewUtils.isComponentView(ViewUtils.getView(opCont)))
+						return null;
+
+					EList<Component> relationships = UMLUtils.getAllInterfaceComponents((Interface) opCont);
+					if (relationships == null || relationships.isEmpty())
+						return null;
+					for (Component comp : relationships) {
+						checkOperation:
+						for (Operation op : comp.getOwnedOperations()) {
+							if (!UMLUtils.areOperationsEqual(op, operation, param))
+								continue;
+							for (Parameter p : op.getOwnedParameters()) {
+								if (UMLUtils.areParametersEqual(p, param)) {
+									cmd.add(new DestroyElementCommand(new DestroyElementRequest(p, false)));
+									break checkOperation;
+								}
+							}
+							
+						}
+					
+					}
+
+					if (!cmd.isEmpty())
+						return new GMFtoEMFCommandWrapper(cmd);
+				}
+				//case REMOVE_MANY
+				if ((notification.getEventType() == Notification.REMOVE_MANY && notification
+						.getOldValue() instanceof EList)) {
+
+					@SuppressWarnings("rawtypes")
+					EList paramList = (EList) notification.getOldValue();
+					boolean test = true;
+					for (Object ob : paramList){
+						if ((ob instanceof Parameter)) {
+							Parameter param = (Parameter) ob;
+							Operation operation = (Operation) notifier;
+							CompositeCommand cmd = new CompositeCommand("delCommand");
+							
+							EObject opCont = operation.eContainer();
+							if (!(opCont instanceof Interface) || !ViewUtils.isComponentView(ViewUtils.getView(opCont)))
+								return null;
+							EList<Component> relationships = UMLUtils.getAllInterfaceComponents((Interface) opCont);
+							for (Component comp : relationships) {
+								checkOperation:
+								for (Operation op : comp.getOwnedOperations()) {
+									if (!UMLUtils.areOperationsEqual(op, operation, param))
+										continue;
+									for (Parameter p : op.getOwnedParameters()) {
+										if (UMLUtils.areParametersEqual(p, param)) {
+											cmd.add(new DestroyElementCommand(new DestroyElementRequest(p, false)));
+											break checkOperation;
+										}
+									}
+									
+								}
+							
+							}
+							if (!cmd.isEmpty())
+								return new GMFtoEMFCommandWrapper(cmd);
+						}
+					}
+				}
+				
+				
+				// end case
+				
+				
+				
+			}
+			return null;
+		}
+	};
+	
+	public static IAutomatedAction propagateParameterAdditionAction = new IAutomatedAction() {
+		
+		@Override
+		public Command compile(Notification notification,
+				List<Notification> notificationList,
+				TransactionalEditingDomain domain) throws RollbackException {
+			
+			Object notifier = notification.getNotifier();
+			if (notifier instanceof Operation) {
+				if ((notification.getEventType() == Notification.ADD && notification
+						.getNewValue() instanceof Parameter)) {
+					Parameter param = (Parameter) notification.getNewValue();
+					Operation operation = param.getOperation();
+					
+					EObject opCont = operation.eContainer();
+					if ((opCont instanceof Interface) && ViewUtils.isComponentView(ViewUtils.getView(opCont)))
+						return AddDiagramElement.addParameterCommand((Interface) opCont, param, operation, domain);
+				}
+				
+				if (notification.getEventType() == Notification.ADD_MANY && notification.getNewValue() instanceof EList){
+
+					@SuppressWarnings("rawtypes")
+					EList paramList = (EList) notification.getNewValue();
+					boolean test = true;
+					EObject opCont = null;
+					Operation operation = null;
+					for (Object ob : paramList){
+						if (!(ob instanceof Parameter)) {
+							test = false;
+							break;
+						}else{
+							Parameter par = (Parameter) ob;
+							operation = par.getOperation();
+
+							opCont = operation.eContainer();
+							if (!(opCont instanceof Interface) || !(ViewUtils.isComponentView(ViewUtils.getView(opCont)))){
+								test = false;
+								break;
+							}
+						}
+					}
+					if (test){
+						Parameter param = (Parameter) paramList.get(paramList.size() - 1);
+						return AddDiagramElement.addParameterCommand((Interface) opCont, param, operation, domain);
+					}
+				}				
+			}
+			return null;
+		}
+	};
+	
+	
+	public static IAutomatedAction commentAction = new IAutomatedAction() {
+		
+		@Override
+		public Command compile(Notification notification,
+				List<Notification> notificationList,
+				TransactionalEditingDomain domain) throws RollbackException {
+			if (notification.getNotifier() instanceof Comment) {
+				Comment comment = (Comment) notification.getNotifier();
+				if (notification.getEventType() == PapyrusStereotypeListener.APPLIED_STEREOTYPE) {
+					return AddDiagramElement.addCommentCommand(domain, comment);
+				}
+				if (notification.getEventType() == PapyrusStereotypeListener.UNAPPLIED_STEREOTYPE) {
+					return AddDiagramElement.removeCommentCommand(domain, comment);
+				}
+			}
+			return null;
+		}
+	};
+		
+	public static IAutomatedAction portAdditionAction = new IAutomatedAction() {
+		@Override
+		public Command compile(Notification notification,
+				List<Notification> notificationList,
+				TransactionalEditingDomain domain) throws RollbackException {
+			if (notification.getNotifier() instanceof Port && notification.getEventType()==Notification.SET && notification.getFeature() instanceof EAttribute && ((EAttribute)notification.getFeature()).getName().equals("visibility")){
+				Port port = (Port)notification.getNotifier();
+				Element supplierComp = port.getOwner();
+				if (!(UMLUtils.isClientServerPort(port) && UMLUtils.isComponentType(supplierComp)))
+					return null;
+				
+				CompositeCommand cc = new CompositeCommand("portAndOpCommand");
+				for(Component cImpl: UMLUtils.getComponentImplementations((Component) supplierComp)){
+					Command cmd2 = AddDiagramElement.addPortCommand(domain, (Component) supplierComp, cImpl, port);
+					cc.add(new EMFtoGMFCommandWrapper(cmd2));
+				}
+				
+				if (!cc.isEmpty()) {
+					return new GMFtoEMFCommandWrapper(cc);
+				}
+			}
+			return null;
+		}
+	};
+	
+	
+	public static IAutomatedAction propagatePortModification = new IAutomatedAction() {
+		
+		@Override
+		public Command compile(Notification notification, List<Notification> notificationList,
+				TransactionalEditingDomain domain) throws RollbackException {
+			Object notifier = notification.getNotifier();
+			if (notifier instanceof Port) {
+				// in case of addition
+				if (notification.getEventType() == Notification.SET) {
+					//PAPYRUS BUG: do NOT propagate the name "Port0"
+					if (notification.getFeature() instanceof EAttribute && ((EAttribute)notification.getFeature()).getName().equals("name") && notification.getNewValue().equals("Port0"))
+						return null;
+					
+					
+					Port port = (Port) notifier;
+					EObject container = port.eContainer();
+						
+					if (!(container instanceof Component))
+						return null;
+					if (!ViewUtils.isComponentView(ViewUtils.getView(container)) || !UMLUtils.isComponentType(container)) 
+						return null;
+					
+					
+					
+					EList<Component> relationships = UMLUtils.getComponentImplementations((Component) container);
+					if (relationships == null || relationships.isEmpty()) 
+						return null;
+					
+					CompositeCommand cmd = new CompositeCommand("setCommand");
+					for (Component comp : relationships) {
+							propagateFeature(notification, domain, port, cmd, comp);
+					}
+					if (!cmd.isEmpty())
+						return new GMFtoEMFCommandWrapper(cmd);
+				}
+			}
+			return null;
+		}
+
+		private void propagateFeature(Notification notification,
+				TransactionalEditingDomain domain, Port port,
+				CompositeCommand cmd, Component comp) {
+			String opName = port.getName();
+			if (notification.getFeature() instanceof EAttribute && ((EAttribute)notification.getFeature()).getName().equals("name"))
+				opName = (String) notification.getOldValue();
+			Type portType = port.getType();
+			if (notification.getFeature() instanceof EAttribute && ((EAttribute)notification.getFeature()).getName().equals("type"))
+				portType = (Type) notification.getOldValue();
+			Port portComp = comp.getOwnedPort(opName, portType);
+			if (portComp == null)
+				return;
+			SetCommand setC = new SetCommand(domain, portComp, (EStructuralFeature) notification.getFeature(),
+					notification.getNewValue());
+			cmd.add(new EMFtoGMFCommandWrapper(setC));
+		}
+	};
+	
+	
+	
+	
+	
+	public static IAutomatedAction[] actionList = {portModificationAction,
+			portRemovalAction, componentInterfaceRealizationAction,
+			componentRealizationAction, removeRealizationOperationsAction,
+			propagateOperationModification, propagateInterfaceModification,
+			propagateParameterRemovalAction, propagateParameterAdditionAction,
+			commentAction, portAdditionAction, propagatePortModification};
+}
diff --git a/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/managers/ConstraintsLib.java b/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/managers/ConstraintsLib.java
new file mode 100644
index 000000000..9f37461ef
--- /dev/null
+++ b/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/managers/ConstraintsLib.java
@@ -0,0 +1,812 @@
+/*
+-----------------------------------------------------------------------
+--          			CHESS validator plugin					     --
+--                                                                   --
+--                    Copyright (C) 2011-2012                        --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author: Alessandro Zovi         azovi@math.unipd.it 		         --
+--                                                                   --
+-- All rights reserved. This program and the accompanying materials  --
+-- are made available under the terms of the Eclipse Public License  --
+-- v1.0 which accompanies this distribution, and is available at     --
+-- http://www.eclipse.org/legal/epl-v10.html                         --
+-----------------------------------------------------------------------
+*/
+
+package org.polarsys.chess.validator.managers;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.impl.DynamicEObjectImpl;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.gmf.runtime.notation.Diagram;
+import org.eclipse.papyrus.uml.tools.listeners.PapyrusStereotypeListener;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.InterfaceRealization;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.Package;
+import org.eclipse.uml2.uml.Parameter;
+import org.eclipse.uml2.uml.ProfileApplication;
+import org.eclipse.uml2.uml.Relationship;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.internal.impl.DependencyImpl;
+import org.eclipse.uml2.uml.util.UMLUtil;
+import org.polarsys.chess.core.constraint.DynamicConstraint;
+import org.polarsys.chess.core.constraint.FilterableDynamicConstraint;
+import org.polarsys.chess.core.constraint.IConstraint;
+import org.polarsys.chess.core.util.CHESSProjectSupport;
+import org.polarsys.chess.core.util.NotificationManager;
+import org.polarsys.chess.core.util.uml.ProfileUtils;
+import org.polarsys.chess.core.util.uml.UMLUtils;
+import org.polarsys.chess.core.views.DiagramStatus.DesignView;
+import org.polarsys.chess.core.views.ViewUtils;
+
+
+/*
+ * Framework usage:
+ * 
+ * In a Library of constraints: 
+ * 
+ * public static FilterableDynamicConstraint c1 = new FilterableDynamicConstraint(1, "c1", IConstraint.WARNING, "c1 message") {
+ *   @Override
+ *   public boolean checkConstraint(Notification notification, Package currentView){
+ *      boolean successfullyVerifiedConstraint = false;
+ *      ... //check conditionsEObject
+ *      return successfullyVerifiedConstraint;
+ *   }
+ * }
+ * 
+ * In the listener:
+ *   if (!Library.constraint1.check(notification).isOK()){
+ *     //Library.constraint1.showUserNotification();  // NO
+ *     throw new RollbackException(Library.constraint1.getStatus())
+ *   }
+ * */
+
+
+
+public class ConstraintsLib {
+
+	protected static final String CSPORT = "MARTE::MARTE_DesignModel::GCM::ClientServerPort";
+
+	private static ViewManager viewmgr = ViewManager.loadViewManager();
+
+	static boolean successfullyVerified;
+	static Diagram diagram = null;
+	static Object notifier;
+
+
+	// ResourceListener Constraints:
+	/*
+	 * @FilterableDynamicConstraint R_S_1
+	 * 
+	 */
+	public static FilterableDynamicConstraint R_S_1 = 
+		new FilterableDynamicConstraint("R_S_1", IConstraint.ERROR, "A predefined profile cannot be removed") {
+		@Override
+		public boolean checkConstraint(Notification notification, DesignView currentView) {	
+
+			if ((notification.getEventType() == Notification.SET ||
+					notification.getEventType() == Notification.REMOVE) 
+					&& ProfileUtils.isPredefinedProfile(notification.getOldValue()))
+				successfullyVerified = false;
+			else 
+				successfullyVerified = true;
+
+			return successfullyVerified;
+		}
+	};
+
+	/*
+	 * @FilterableDynamicConstraint V_SR_1
+	 */
+	public static FilterableDynamicConstraint V_SR_1 = 
+		new FilterableDynamicConstraint("V_SR_1", IConstraint.ERROR, "A view cannot be modified or removed") {
+		@Override
+		public boolean checkConstraint(Notification notification, DesignView currentView) {
+			if (ViewUtils.isViewModifiedOrRemoved((ENotificationImpl) notification)){
+				if (!viewmgr.checkViewStereotype(notification)) 
+					return false;
+				}
+			return true;
+		}				
+	};
+
+	// ModelManager Constraints:
+
+	/*
+	 * @FilterableDynamicConstraint S_S_1
+	 * a predefined stereotype cannot be removed
+	 */
+	public static FilterableDynamicConstraint S_S_1 = new FilterableDynamicConstraint("S_S_1",
+			IConstraint.ERROR, "a predefined stereotype cannot be removed") {
+		@Override
+		public boolean checkConstraint(Notification notification, DesignView currentView) {
+			Object notifier = notification.getNotifier();
+			// Check for modifications of the stereotype
+			if (notifier instanceof DynamicEObjectImpl) {
+				DynamicEObjectImpl d = (DynamicEObjectImpl) notifier;
+				Stereotype stereo = UMLUtil.getStereotype(d);
+
+				if (notification.getEventType() == Notification.SET
+						&& notification.getNewValue() == null) {
+					if (ProfileUtils.isPredefinedStereotype(stereo)) {
+						return false;
+					}
+				}
+			}
+			return true;
+		}
+	};
+
+
+
+	/*
+	 * @FilterableDynamicConstraint M_A_1
+	 * cannot apply profiles
+	 */
+	public static FilterableDynamicConstraint M_A_1 = new FilterableDynamicConstraint("M_A_1",
+			IConstraint.ERROR, "Cannot apply further profiles in the model") {
+		@Override
+		public boolean checkConstraint(Notification notification, DesignView currentView) {
+			Object notifier = notification.getNotifier();
+			if (notifier instanceof Model) {
+
+				if (notification.getEventType() == Notification.ADD
+						|| notification.getEventType() == Notification.ADD_MANY)
+					if (notification.getNewValue() instanceof ProfileApplication)
+						return false;
+			}
+			return true;
+		}
+	};
+
+	/*
+	 * @FilterableDynamicConstraint C_A_1
+	 * Interface realization is not allowed because owned operations does not match.
+	 */
+	public static FilterableDynamicConstraint C_A_1 = 
+		new FilterableDynamicConstraint("C_A_1", IConstraint.ERROR, "Interface realization is not allowed because owned operations does not match.") {
+		@Override
+		public boolean checkConstraint(Notification notification, DesignView currentView) {
+			notifier = notification.getNotifier();
+			if (notifier instanceof Component && notification.getEventType() == Notification.REMOVE) 
+			{
+
+				Package view = ViewUtils.getView((Component) notifier);
+				// cheks to be verified only in case the current component
+				// belongs to the functional view
+				if (ViewUtils.isComponentView(view)) {
+					if (notification.getOldValue() instanceof Operation) {
+
+						Component comp = (Component) notifier;
+						Operation operation = (Operation) notification.getOldValue();
+						EList<NamedElement> relationships = null;
+
+						for (Relationship rel : comp.getRelationships()) {
+							if (rel instanceof InterfaceRealization) {
+								InterfaceRealization intRel = (InterfaceRealization) rel;
+								relationships = intRel.getSuppliers();
+							}
+						}
+
+						if (relationships != null) {
+							for (NamedElement item : relationships) {
+								if (item instanceof Classifier) {
+									Classifier class_comp = (Classifier) item;
+									if (UMLUtils.isOperationContained(class_comp, operation)) {
+										return false;
+									}
+								}
+							}
+						}
+
+					}
+				}
+			}
+			return true;
+			/*
+			if (notification.getEventType() == Notification.ADD) {
+
+				Package view = UMLUtils.getView((Component) notifier);
+				// cheks to be verified only in case the current component
+				// belongs to the functional view
+				if (UMLUtils.isFunctionalView(view)) {
+					if (notification.getNewValue() instanceof InterfaceRealization) {
+						InterfaceRealization link = (InterfaceRealization) notification.getNewValue();
+						Interface contract = link.getContract();
+						Component comp = null;
+						// each operation shall match in its signature (name,
+						// parameter order, parameter type,
+						// parameter direction)
+						for (Operation operation : contract.getAllOperations()) {
+							for (NamedElement element : link.getClients()) {
+								if (element instanceof Component) {
+									comp = (Component) element;
+									if (!UMLUtils.isOperationContained(comp,operation)) {
+										successfullyVerified = false;
+									}
+
+								}
+							}
+						}
+					}
+				}
+			}*/
+
+		}
+	};
+
+
+	/*
+	 * FilterableDynamicConstraint O_S_1 
+	 * Interface operations in the Functional View must have public visibility.
+	 */
+	public static FilterableDynamicConstraint O_S_1 = 
+		new FilterableDynamicConstraint("O_S_1", IConstraint.ERROR, "Interface operations in the Functional View must have public visibility.") {
+		@Override
+		public boolean checkConstraint(Notification notification, DesignView currentView) {
+			if (notifier instanceof Operation && notification.getEventType() == Notification.SET) {
+				notifier = notification.getNotifier();
+				Operation op = (Operation) notifier;
+
+				if (op.eContainer() instanceof Interface) {
+					Package view = ViewUtils.getView(op.eContainer());
+					// we must check whether the classifier belongs to the
+					// functional view
+					if (ViewUtils.isComponentView(view)) {
+						// in this case only public visibility is allowed
+						if (!UMLUtils.hasPublicVisibility(op)) {
+							return false;
+						}
+					}
+				}
+
+			}
+			return true;
+		}				
+	};
+
+
+	public static FilterableDynamicConstraint AddRemoveDependency = 
+		new FilterableDynamicConstraint("ADD_REMOVEDependency", IConstraint.ERROR, "Cannot modify dependency for ComponentType") {
+		@Override
+		public boolean checkConstraint(Notification notification, DesignView currentView) {
+			Object value = null;
+			boolean add = false;
+			if (notification.getEventType() == Notification.ADD){
+				value = notification.getNewValue();
+				add = true;
+			}
+			if (notification.getEventType() == Notification.REMOVE)
+				value = notification.getOldValue();
+			
+			if (value != null && (value instanceof InterfaceRealization || value.getClass().equals(DependencyImpl.class))) {
+				Dependency dp = (Dependency) value;
+				Object el = notification.getNotifier();
+				if (el instanceof NamedElement && 
+						UMLUtils.isComponentType((NamedElement) el)) {
+					getStatus().setMessage(dp.getName(), ((NamedElement) el).getName(), add?"add":"remove");
+					return false;
+				}
+			}				
+			
+			return true;
+		}
+	};
+	
+//	/*
+//	 * @FilterableDynamicConstraint S_SA_1
+//	 * Assure the element is edited only in the view it belongs to 
+//	 */
+//	public static FilterableDynamicConstraint S_SA_1 = 
+//		new FilterableDynamicConstraint("S_SA_1", IConstraint.ERROR, "This element does not belong to the current view and cannot be therefore modified.") {
+//		@Override
+//		public boolean checkConstraint(Notification notification, DesignView currentView) {
+//			successfullyVerified = true;
+//			if (notification.getEventType() == Notification.SET || notification.getEventType() == Notification.ADD) {
+//				successfullyVerified = false;
+//			}
+//			return successfullyVerified;
+//		}
+//	};
+
+	/*
+	 * @FilterableDynamicConstraint P_T_1 
+	 * view stereotype cannot be applied
+	 */
+	public static FilterableDynamicConstraint P_T_1 = 
+		new FilterableDynamicConstraint("P_T_1", IConstraint.ERROR, "Appling a view stereotype is forbidden.") {
+		@Override
+		public boolean checkConstraint(Notification notification, DesignView currentView) {
+			if (notifier instanceof Package && notification.getEventType() == PapyrusStereotypeListener.APPLIED_STEREOTYPE) {
+				if (notification.getNewValue() instanceof DynamicEObjectImpl) {
+					DynamicEObjectImpl d = (DynamicEObjectImpl) notification.getNewValue();
+					Stereotype stereo = UMLUtil.getStereotype(d);
+					if (ViewUtils.isViewStereotype(stereo)) {
+						return false;
+					}
+				}
+			}
+			return true;
+		}
+	};
+
+	/*
+	 * @FilterableDynamicConstraint P_A_1 
+	 * an interface can be added only in functionalView or deploymentView
+	 */
+	public static FilterableDynamicConstraint P_A_1 = 
+		new FilterableDynamicConstraint("P_A_1", IConstraint.ERROR, 
+				"Creation of interfaces is only allowed in the Functional View and Deployment View.") {
+		@Override
+		public boolean checkConstraint(Notification notification, DesignView currentView) {
+			notifier = notification.getNotifier();
+			if (notifier instanceof Package && notification.getEventType() == Notification.ADD && notification.getNewValue() instanceof Interface) {
+				Package view = ViewUtils.getView((Package) notifier);
+				if (!ViewUtils.isComponentView(view) && !ViewUtils.isDeploymentView(view)) {
+					return false;
+				}
+			}
+			return true;
+		}
+	};
+	
+	
+	/*
+	 * @FilterableDynamicConstraint C_A_2 
+	 * Cannot create an Activity diagram for the Component. Select an operation instead
+	 * In Papyrus 1.0, Eclipse 4.4 Luna is not possible to create an activity diagram for an operation
+	 */
+//	public static FilterableDynamicConstraint C_A_2 = 
+//		new FilterableDynamicConstraint("C_A_2", IConstraint.ERROR, 
+//				"Cannot create an Activity diagram for the Component. Select an operation instead.") {
+//		@Override
+//		public boolean checkConstraint(Notification notification, DesignView currentView) {
+//			notifier = notification.getNotifier();
+//			if (notifier instanceof Component && notification.getEventType() == Notification.SET && notification.getFeature() instanceof EReference) {
+//				Package view = ViewUtils.getView((Component) notifier);
+//				if (ViewUtils.isComponentView(view)) {
+//					EReference f = (EReference) notification.getFeature();
+//					Object v = notification.getNewValue();
+//					if (f.getName().equals("classifierBehavior") && v != null && v instanceof Activity)
+//						return false;
+//				}
+//			}
+//			return true;
+//		}
+//	};
+	
+	
+	
+
+	/*
+	 * @FilterableDynamicConstraint P_A_2 
+	 * in case of components (with no additional stereotypes) we must check if the package under
+	 * modification belongs to the functional view
+	 */
+	/*public static FilterableDynamicConstraint P_A_2 = 
+		new FilterableDynamicConstraint("P_A_2", IConstraint.ERROR, "Creation of component with no additional stereotypes " +
+				"is only allowed in the Functional View.") {
+		@Override
+		public boolean checkConstraint(Notification notification, Package currentView) {			
+			successfullyVerified = true;
+			if (notification.getNewValue() instanceof Component) {
+				Component comp = (Component) notification.getNewValue();
+				if (comp.getAppliedStereotypes().size() <= 0) {
+					Package view = UMLUtils.getView((Package) notifier);
+					if (!UMLUtils.isFunctionalView(view)) {
+						successfullyVerified = false;
+					}
+				}
+			}
+			return successfullyVerified;
+		}
+	};*/
+
+
+	/*
+	 * @FilterableDynamicConstraint E_S_1 Assure the element is edited only in the
+	 * view it belongs to
+	 */
+	//TODO relax constraint: allow deployment view to perform modifications
+	/*
+	 * Azione con modifica cross-views da permettere:
+	 *   -in un class diagram della deployment view 
+	 *   devo poter creare delle Abstraction (con stereotipo MARTE Allocate) 
+	 *   tra Property contenute nella extra-functional view (cioè istanze di componenti RT) e 
+	 *   Property contenute nella Deployment View (cioè istanze di componenti HW).
+	 */
+//	@Deprecated
+//	public static FilterableDynamicConstraint E_S_1 = 
+//		new FilterableDynamicConstraint("E_S_1", IConstraint.ERROR, 
+//		"This element does not belong to the current view and cannot be therefore modified.") {
+//		@Override
+//		public boolean checkConstraint(Notification notification, DesignView currentView) {
+//			if (notifier instanceof Element && (notification.getEventType() == Notification.SET
+//					|| notification.getEventType() == PapyrusStereotypeListener.APPLIED_STEREOTYPE)){
+//				if (!ViewUtils.isElementWritable((Element)notifier, currentView) 
+//						&& !CrossViewActionLib.crossViewDeploymentAction(notifier, notification, currentView)
+//				) {
+//					return false;
+//				}
+//			}
+//			return true;
+//		}
+//	};
+
+	public static DynamicConstraint E_S_1_NEW = 
+		new DynamicConstraint("E_S_1", IConstraint.ERROR, 
+		"The view \"{0}\" has no write access on the {1} \"{2}\", therefore it cannot be modified.") {
+		@Override
+		public boolean checkConstraint(Notification notification, DesignView currentView) {
+
+			CHESSProjectSupport.printlnToCHESSConsole(NotificationManager.printNotification(notification));
+
+			notifier = notification.getNotifier();
+			if (notifier instanceof Element || notifier instanceof DynamicEObjectImpl || notifier instanceof EObject){
+				if (notification.getEventType() == Notification.ADD
+						|| notification.getEventType() == Notification.ADD_MANY
+						|| notification.getEventType() == Notification.REMOVE
+						|| notification.getEventType() == Notification.REMOVE_MANY
+						|| (notification.getEventType() == Notification.SET && notification.getOldValue() != null && notification.getNewValue() == null)
+						|| isBaseElementModification(notification)){
+					if (!ViewUtils.isElementInstantiable((EObject)notifier, notification.getFeature(),currentView)) {
+						getStatus().setMessage(currentView.getName(), "element", ((EObject)notifier).eClass().getName());
+						return false;
+					}
+				} else
+				if (notification.getEventType() == Notification.SET) {
+					if (!ViewUtils.isElementWritable_((EObject)notifier, notification.getFeature(),currentView)) {
+						getStatus().setMessage(currentView.getName(), "element", ((EObject)notifier).eClass().getName());
+						return false;
+					}
+				} else
+				if (notification.getEventType() == PapyrusStereotypeListener.APPLIED_STEREOTYPE 
+						|| notification.getEventType() == PapyrusStereotypeListener.UNAPPLIED_STEREOTYPE){
+					if (!ViewUtils.isStereotypeInstantiable((EObject)notifier, notification.getFeature(), notification.getNewValue(), currentView)) {
+						getStatus().setMessage(currentView.getName(), "stereotype", ((EObject)notification.getNewValue()).eClass().getName());
+						return false;
+					}
+				} 
+				//REMOVED Misleading
+//				else if (notification.getEventType() == PapyrusStereotypeListener.MODIFIED_STEREOTYPE){
+//					if (!ViewUtils.isStereotypeWritable((EObject)notifier, notification.getFeature(), notification.getNewValue(), currentView)) {
+//						getStatus().setMessage(currentView.getName(), "stereotype", ((EObject)notification.getNewValue()).eClass().getName());
+//						return false;
+//					}
+//				}
+
+			}
+			return true;
+		}
+
+		private boolean isBaseElementModification(Notification notification) {
+			if (notifier instanceof DynamicEObjectImpl && notification.getFeature() instanceof EReference){
+				String name = ((EReference)notification.getFeature()).getName();
+				return name.startsWith("base_");
+			}
+			return false;
+		}
+	};
+
+	
+		public static FilterableDynamicConstraint checkModifiedOperation = 
+			new FilterableDynamicConstraint("ModifiedOperation", IConstraint.WARNING, 
+			"Cannot modify inherited operations.") {
+			
+		@Override
+			public boolean checkConstraint(Notification notification, DesignView currentView) {
+			
+			if (notifier instanceof Operation) {
+				// in case of addition
+				boolean b = (notification.getEventType() == Notification.SET)
+						|| (notification.getEventType() == Notification.REMOVE && notification.getOldValue() instanceof Parameter)
+						|| (notification.getEventType() == Notification.ADD && notification.getNewValue() instanceof Parameter);
+				if (b) {
+					return !checkModifiedOperation(notification);
+				}
+			}
+			return true;
+		}
+		
+		private boolean checkModifiedOperation(Notification notification) {
+			if (!(notification.getNotifier() instanceof Operation))
+				return false;
+			Operation op = (Operation) notification.getNotifier();
+			EObject opCont = op.eContainer();
+			if (opCont instanceof Component) {
+				Package view = ViewUtils.getView(opCont);
+				// we must check whether the classifier belongs to the
+				// functional view
+				if (ViewUtils.isComponentView(view)) {
+					if (isOperationContained(op, notification)) {
+						return true;
+					}
+				}
+			}
+			return false;
+		}
+		
+		private String getNotifiedOperationName(Operation op, Notification notification){
+			String opName = op.getName();
+			if (((EStructuralFeature) notification.getFeature()).getName().equalsIgnoreCase("name")) {
+				if (notification.getOldStringValue() != null)
+					opName = notification.getOldStringValue();
+			}
+			return opName;
+		}
+		
+		private EList<Classifier> collectSuppliers(Classifier container){
+			EList<Classifier> relationships = new BasicEList<Classifier>();
+			for (Relationship rel : container.getRelationships()) {
+				if (rel instanceof InterfaceRealization) {
+					InterfaceRealization r = (InterfaceRealization) rel;
+					relationships.addAll(collectClassifiers(r.getSuppliers()));
+				}
+			}
+			return relationships;
+		}
+		
+		private EList<Classifier> collectClassifiers(EList<NamedElement> eList){
+			EList<Classifier> classifiers = new BasicEList<Classifier>();
+			for (NamedElement namedElement : classifiers) {
+				if (namedElement instanceof Classifier) {
+					Classifier e = (Classifier) namedElement;
+					if (ViewUtils.isComponentView(ViewUtils.getView(e))){
+						classifiers.add(e);
+					}
+				}
+			}
+			return classifiers;
+		}
+		
+		private boolean isOperationContained(Operation op, Notification notification) {
+			// if nothing is changed
+			EStructuralFeature feature = (EStructuralFeature) notification.getFeature();
+			if (op.eGet(feature).equals(notification.getOldValue()))
+				return false;
+			
+			// this case cannot happen
+			if (feature.getName().equalsIgnoreCase("name") && notification.getOldStringValue() == null)
+				return false;
+			
+			String opName = getNotifiedOperationName(op, notification);
+			
+			EList<Classifier> relationships = collectSuppliers((Classifier) op.eContainer());
+
+			for (Classifier comp : relationships) {
+				// for each operation belonging to the supplier
+				// interface
+				for (Operation cOp : comp.getOperations()) {
+					
+					// check the name
+					boolean isEqual = cOp.getName().equals(opName) && 
+							o(feature, notification, op, cOp);
+
+					if (isEqual) {
+						return true;
+					}
+				}
+			}
+			return false;
+		}
+		
+		private boolean o(EStructuralFeature feature, Notification notification, Operation op ,Operation cOp ){
+			
+			String f = feature.getName().toLowerCase();
+			//if the modification regards the parameter
+			if (f.equals("ownedParameter")) {
+				int cOpS = cOp.getOwnedParameters().size();
+				int opS = op.getOwnedParameters().size();
+				// user is trying to adding a parameter
+				if (notification.getOldValue() == null) {
+					if (cOpS != opS - 1)
+						return false;
+				} else if (cOpS != opS + 1)
+					return false;
+			} 
+			
+			if (cOp.getOwnedParameters().size() != op
+					.getOwnedParameters().size())
+				return false;
+
+			if (f.equals("visibility")) {
+				if (!cOp.getVisibility().equals(
+						notification.getOldValue()))
+					return false;
+			} 
+			
+			if (cOp.getVisibility().getValue() != op
+					.getVisibility().getValue())
+				return false;
+
+			if (f.equals("isAbstract")) {
+				if (cOp.isAbstract() != notification
+						.getOldBooleanValue())
+					return false;
+			}
+			
+			if (cOp.isAbstract() != op.isAbstract())
+				return false;
+
+			if (f.equals("isQuery")) {
+				if (cOp.isQuery() != notification
+						.getOldBooleanValue())
+					return false;
+			} else if (cOp.isQuery() != op.isQuery())
+				return false;
+
+			if (f.equals("isLeaf")) {
+				if (cOp.isLeaf() != notification
+						.getOldBooleanValue())
+					return false;
+			}
+			
+			if (cOp.isLeaf() != op.isLeaf())
+				return false;
+
+			if (f.equals("isStatic")) {
+				if (cOp.isStatic() != notification
+						.getOldBooleanValue())
+					return false;
+			} 
+			
+			if (cOp.isStatic() != op.isStatic())
+				return false;
+
+			if (f.equals("concurrency")) {
+				if (!cOp.getConcurrency().equals(
+						notification.getOldValue()))
+					return false;
+			}
+			
+			if (cOp.getConcurrency().getValue() != op
+					.getConcurrency().getValue())
+				return false;
+			
+			return true;
+		}
+		
+		private boolean isOperationContainedOLD(Operation op, Notification notification) {
+			
+			// if nothing is changed
+			if (op.eGet((EStructuralFeature) notification.getFeature()).equals(notification.getOldValue()))
+				return false;
+			
+			if (notification.getOldStringValue() == null)
+				return false;
+			
+			String opName = op.getName();
+			if (((EStructuralFeature) notification.getFeature()).getName().equalsIgnoreCase("name")) {
+				if (notification.getOldStringValue() != null)
+					opName = notification.getOldStringValue();
+				else
+					return false;
+			}
+			EList<NamedElement> relationships = new BasicEList<NamedElement>();
+
+			for (Relationship rel : ((Classifier) op.eContainer()).getRelationships()) {
+				if (rel instanceof InterfaceRealization) {
+					relationships.addAll(((InterfaceRealization) rel).getSuppliers());
+				}
+			}
+
+			if (relationships != null && !relationships.isEmpty()) {
+				for (NamedElement item : relationships) {
+					if (!(item instanceof Classifier))
+						continue;
+					Classifier comp = (Classifier) item;
+					if (!ViewUtils.isComponentView(ViewUtils.getView(comp))) 
+						continue;
+					
+					boolean isContained = false;
+					// for each operation belonging to the supplier
+					// interface
+					for (Operation cOp : comp.getOperations()) {
+						boolean isEqual = true;
+						// check the name
+						if (cOp.getName().equals(opName)) {
+							// if the modification regards the parameter
+							if (((EStructuralFeature) notification
+									.getFeature()).getName()
+									.equalsIgnoreCase("ownedParameter")) {
+								// user is trying to adding a parameter
+								if (notification.getOldValue() == null) {
+									if (cOp.getOwnedParameters().size() != op
+											.getOwnedParameters().size() - 1)
+										isEqual = false;
+								} else if (cOp.getOwnedParameters().size() != op
+										.getOwnedParameters().size() + 1)
+									isEqual = false;
+							} else if (cOp.getOwnedParameters().size() != op
+									.getOwnedParameters().size())
+								isEqual = false;
+
+							if (((EStructuralFeature) notification
+									.getFeature()).getName()
+									.equalsIgnoreCase("visibility")) {
+								if (!cOp.getVisibility().equals(
+										notification.getOldValue()))
+									isEqual = false;
+							} else if (cOp.getVisibility().getValue() != op
+									.getVisibility().getValue())
+								isEqual = false;
+
+							if (((EStructuralFeature) notification
+									.getFeature()).getName()
+									.equalsIgnoreCase("isAbstract")) {
+								if (cOp.isAbstract() != notification
+										.getOldBooleanValue())
+									isEqual = false;
+							} else if (cOp.isAbstract() != op.isAbstract())
+								isEqual = false;
+
+							if (((EStructuralFeature) notification
+									.getFeature()).getName()
+									.equalsIgnoreCase("isQuery")) {
+								if (cOp.isQuery() != notification
+										.getOldBooleanValue())
+									isEqual = false;
+							} else if (cOp.isQuery() != op.isQuery())
+								isEqual = false;
+
+							if (((EStructuralFeature) notification
+									.getFeature()).getName()
+									.equalsIgnoreCase("isLeaf")) {
+								if (cOp.isLeaf() != notification
+										.getOldBooleanValue())
+									isEqual = false;
+							} else if (cOp.isLeaf() != op.isLeaf())
+								isEqual = false;
+
+							if (((EStructuralFeature) notification
+									.getFeature()).getName()
+									.equalsIgnoreCase("isStatic")) {
+								if (cOp.isStatic() != notification
+										.getOldBooleanValue())
+									isEqual = false;
+							} else if (cOp.isStatic() != op.isStatic())
+								isEqual = false;
+
+							if (((EStructuralFeature) notification
+									.getFeature()).getName()
+									.equalsIgnoreCase("concurrency")) {
+								if (!cOp.getConcurrency().equals(
+										notification.getOldValue()))
+									isEqual = false;
+							} else if (cOp.getConcurrency().getValue() != op
+									.getConcurrency().getValue())
+								isEqual = false;
+
+						} else
+							isEqual = false;
+
+						if (isEqual) {
+							isContained = true;
+							break;
+						}
+					}
+
+					if (isContained) {
+						return true;
+					}
+				}
+			}
+			return false;
+		}
+	};
+	
+	
+}
\ No newline at end of file
diff --git a/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/managers/CrossViewActionLib.java b/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/managers/CrossViewActionLib.java
new file mode 100644
index 000000000..b79d97e77
--- /dev/null
+++ b/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/managers/CrossViewActionLib.java
@@ -0,0 +1,89 @@
+/*
+-----------------------------------------------------------------------
+--          			CHESS validator plugin					     --
+--                                                                   --
+--                    Copyright (C) 2011-2012                        --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author: Alessandro Zovi         azovi@math.unipd.it 		         --
+--                                                                   --
+-- All rights reserved. This program and the accompanying materials  --
+-- are made available under the terms of the Eclipse Public License  --
+-- v1.0 which accompanies this distribution, and is available at     --
+-- http://www.eclipse.org/legal/epl-v10.html                         --
+-----------------------------------------------------------------------
+ */
+
+package org.polarsys.chess.validator.managers;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.impl.DynamicEObjectImpl;
+import org.eclipse.gmf.runtime.notation.Diagram;
+import org.eclipse.papyrus.editor.PapyrusMultiDiagramEditor;
+import org.eclipse.papyrus.infra.core.sasheditor.editor.IPage;
+import org.eclipse.papyrus.infra.core.sashwindows.di.PageRef;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.uml2.uml.Abstraction;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.Package;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.util.UMLUtil;
+import org.polarsys.chess.core.views.ViewUtils;
+import org.polarsys.chess.core.views.DiagramStatus.DesignView;
+
+public class CrossViewActionLib {
+	public static boolean crossViewDeploymentAction(Object notifier,
+			Notification notification, Package currentView) {
+		PapyrusMultiDiagramEditor editor = (PapyrusMultiDiagramEditor) PlatformUI
+				.getWorkbench().getActiveWorkbenchWindow().getActivePage()
+				.getActiveEditor();
+		IPage currentPage = editor.getISashWindowsContainer()
+				.getActiveSashWindowsPage();
+		Diagram currentDiagram = ((Diagram) ((PageRef) currentPage
+				.getRawModel()).getEmfPageIdentifier());
+		if (currentDiagram.getType().equals(ViewManager.classDiagramKind)
+				&& ViewUtils.isDeploymentView(currentView)) {
+			if (notifier instanceof Abstraction)
+				return true;
+			if (notifier instanceof DynamicEObjectImpl) {
+				DynamicEObjectImpl d = (DynamicEObjectImpl) notifier;
+				Stereotype stereo = UMLUtil.getStereotype(d);
+				if (stereo.getName().equals("Allocate"))
+					return true;
+			}
+			// deals with strange set operation
+			if (notifier instanceof Property
+					&& ((Property) notifier).eContainer() instanceof Component)
+				return true;
+		}
+		return false;
+	}
+
+	public static boolean crossViewDeploymentAction(Object notifier,
+			Notification notification, DesignView currentView) {
+		PapyrusMultiDiagramEditor editor = (PapyrusMultiDiagramEditor) PlatformUI
+				.getWorkbench().getActiveWorkbenchWindow().getActivePage()
+				.getActiveEditor();
+		IPage currentPage = editor.getISashWindowsContainer()
+				.getActiveSashWindowsPage();
+		Diagram currentDiagram = ((Diagram) ((PageRef) currentPage
+				.getRawModel()).getEmfPageIdentifier());
+		if (currentDiagram.getType().equals(ViewManager.classDiagramKind)
+				&& ViewUtils.isDeploymentView(currentView)) {
+			if (notifier instanceof Abstraction)
+				return true;
+			if (notifier instanceof DynamicEObjectImpl) {
+				DynamicEObjectImpl d = (DynamicEObjectImpl) notifier;
+				Stereotype stereo = UMLUtil.getStereotype(d);
+				if (stereo.getName().equals("Allocate"))
+					return true;
+			}
+			// deals with strange set operation
+			if (notifier instanceof Property
+					&& ((Property) notifier).eContainer() instanceof Component)
+				return true;
+		}
+		return false;
+	}
+}
diff --git a/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/managers/Messages.java b/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/managers/Messages.java
new file mode 100644
index 000000000..acdeb8bfe
--- /dev/null
+++ b/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/managers/Messages.java
@@ -0,0 +1,45 @@
+/*
+-----------------------------------------------------------------------
+--          			CHESS validator plugin					     --
+--                                                                   --
+--                    Copyright (C) 2011-2012                        --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author: Alessandro Zovi         azovi@math.unipd.it 		         --
+--                                                                   --
+-- All rights reserved. This program and the accompanying materials  --
+-- are made available under the terms of the Eclipse Public License  --
+-- v1.0 which accompanies this distribution, and is available at     --
+-- http://www.eclipse.org/legal/epl-v10.html                         --
+-----------------------------------------------------------------------
+*/
+
+package org.polarsys.chess.validator.managers;
+
+import org.eclipse.osgi.util.NLS;
+
+public class Messages extends NLS {
+	private static final String BUNDLE_NAME = "org.polarsys.chess.validator.managers.messages"; //$NON-NLS-1$
+	public static String error_diagramInView;
+	public static String error_diagramCurrentView;
+	public static String NullViewMsg;
+	public static String ModelManager_1;	
+	public static String ModelManager_2;
+	public static String ModelManager_3;
+	public static String ModelManager_4;
+	public static String ModelManager_5;
+	public static String ModelManager_6;
+	public static String ModelManager_7;
+	public static String ModelManager_8;
+	public static String ModelManager_9;
+	public static String ViewDeletionMsg;
+	public static String operationAborted;
+	
+	static {
+		// initialize resource bundle
+		NLS.initializeMessages(BUNDLE_NAME, Messages.class);
+	}
+
+	private Messages() {
+	}
+}
diff --git a/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/managers/ModelManager.java b/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/managers/ModelManager.java
new file mode 100644
index 000000000..02df861db
--- /dev/null
+++ b/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/managers/ModelManager.java
@@ -0,0 +1,131 @@
+/*
+-----------------------------------------------------------------------
+--          			CHESS validator plugin					     --
+--                                                                   --
+--                    Copyright (C) 2011-2012                        --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author: Alessandro Zovi         azovi@math.unipd.it 		         --
+--                                                                   --
+-- All rights reserved. This program and the accompanying materials  --
+-- are made available under the terms of the Eclipse Public License  --
+-- v1.0 which accompanies this distribution, and is available at     --
+-- http://www.eclipse.org/legal/epl-v10.html                         --
+-----------------------------------------------------------------------
+*/
+
+package org.polarsys.chess.validator.managers;
+
+import java.util.List;
+
+import org.eclipse.emf.common.command.Command;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.edit.command.SetCommand;
+import org.eclipse.emf.transaction.RollbackException;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.gmf.runtime.common.core.command.CompositeCommand;
+import org.eclipse.papyrus.commands.wrappers.EMFtoGMFCommandWrapper;
+import org.eclipse.papyrus.commands.wrappers.GMFtoEMFCommandWrapper;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.Package;
+import org.eclipse.uml2.uml.Parameter;
+import org.eclipse.uml2.uml.Type;
+import org.polarsys.chess.core.automatedActions.IAutomatedAction;
+import org.polarsys.chess.core.util.uml.UMLUtils;
+import org.polarsys.chess.core.views.DiagramStatus;
+import org.polarsys.chess.core.views.ViewUtils;
+
+public class ModelManager {
+
+	private static ModelManager instance = new ModelManager();
+
+
+	private ModelManager() {
+	}
+
+	public static ModelManager loadModelManager() {
+		return instance;
+	}
+
+	public Command check(List<Notification> notificationList, Notification notification,
+			Object _notifier, StringBuffer s, DiagramStatus diagramStatus,
+			TransactionalEditingDomain domain) throws RollbackException {
+
+		Command command = null;
+		
+		Object notifier = notification.getNotifier();
+
+		for (IAutomatedAction act : ActionsLib.actionList) {
+			command = act.compile(notification, notificationList, domain);
+			if (command != null)
+				return command;
+		}
+				
+		
+		/*
+		 * @dynamicConstraint T_S_1 this code is used to catch modification that
+		 * occurs on interfaces such that in case the latter are realized by
+		 * some component: we need to perform checks in order to assure that the
+		 * contract of the interface itself is fulfilled
+		 */
+		if (notifier instanceof Parameter) {
+			if (notification.getEventType() == Notification.SET && ((Parameter) notifier).eContainer() instanceof Operation) {
+				Parameter param = (Parameter) notifier;
+				Operation op = (Operation) param.eContainer();
+				if (op != null && op.eContainer() instanceof Interface) {
+					Package view = ViewUtils.getView(op.eContainer());
+					// we must check whether the classifier belongs to the
+					// functional view
+					if (ViewUtils.isComponentView(view)) {
+
+						final Interface intFace = (Interface) op.eContainer();
+						EList<NamedElement> relationships = UMLUtils.getInterfaceClients(intFace);
+						CompositeCommand cmd = new CompositeCommand("setCommand");
+						if (relationships != null) {
+							for (int i = 0; i < relationships.size(); i++) {
+								if (relationships.get(i) instanceof Component) {
+									Component comp = (Component) relationships.get(i);
+									relationships.addAll(UMLUtils.getComponentImplementations(comp));
+
+									for (Operation cOperation : comp.getOwnedOperations()) {
+										if (cOperation.getName().equalsIgnoreCase(op.getName())) {
+											if (notification.getNewValue() instanceof String) {
+												if (UMLUtils.areParametersEquals(cOperation, op, param)) {
+													Parameter p = cOperation.getOwnedParameter((String) notification.getOldValue(), param.getType());
+													SetCommand setC = new SetCommand(domain, p, (EStructuralFeature) notification.getFeature(), notification.getNewValue());
+													cmd.add(new EMFtoGMFCommandWrapper(setC));
+												}
+											} else if (UMLUtils.areParametersEquals(cOperation, op, param)) {
+												Type type = null;
+												if (notification.getNewValue() instanceof Type)
+													type = (Type) notification.getOldValue();
+												else
+													type = param.getType();
+
+												Parameter p = cOperation.getOwnedParameter(param.getName(), type);
+												SetCommand setC = new SetCommand(domain, p, (EStructuralFeature) notification.getFeature(), notification.getNewValue());
+												cmd.add(new EMFtoGMFCommandWrapper(setC));
+											}
+										}
+									}
+								}
+							}
+						}
+						if (cmd.size() > 0)
+							return new GMFtoEMFCommandWrapper(cmd);
+					}
+				} 
+				
+			}
+		}
+
+
+
+		return command;
+	}
+}
diff --git a/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/managers/ModelParser.java b/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/managers/ModelParser.java
new file mode 100644
index 000000000..7828f4c11
--- /dev/null
+++ b/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/managers/ModelParser.java
@@ -0,0 +1,154 @@
+/*
+-----------------------------------------------------------------------
+--          			CHESS validator plugin					     --
+--                                                                   --
+--                    Copyright (C) 2011-2012                        --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author: Alessandro Zovi         azovi@math.unipd.it 		         --
+--                                                                   --
+-- All rights reserved. This program and the accompanying materials  --
+-- are made available under the terms of the Eclipse Public License  --
+-- v1.0 which accompanies this distribution, and is available at     --
+-- http://www.eclipse.org/legal/epl-v10.html                         --
+-----------------------------------------------------------------------
+*/
+
+package org.polarsys.chess.validator.managers;
+
+import java.util.List;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.emf.common.command.Command;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.transaction.RollbackException;
+import org.eclipse.jface.preference.IPreferencePage;
+import org.eclipse.jface.preference.PreferenceManager;
+import org.eclipse.jface.preference.PreferenceNode;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.uml2.uml.Model;
+import org.polarsys.chess.core.constraint.ConstraintList;
+import org.polarsys.chess.core.constraint.DynamicConstraint;
+import org.polarsys.chess.core.preferences.FilterableConstraint;
+import org.polarsys.chess.core.util.CHESSProjectSupport;
+import org.polarsys.chess.core.views.DiagramStatus.DesignView;
+import org.polarsys.chess.validator.Activator;
+
+public class ModelParser {
+
+	private IStatus modelOutsideView = new Status(IStatus.ERROR,
+			Activator.PLUGIN_ID, Messages.NullViewMsg);
+
+	
+	
+	public IPreferencePage getId(String id) {
+	    PreferenceManager pm = PlatformUI.getWorkbench().getPreferenceManager();
+	    List list = pm.getElements(PreferenceManager.PRE_ORDER);
+	 
+	    for (int i = 0; i < list.size(); i++) {
+	        PreferenceNode node = (PreferenceNode) list.get(i);
+	        IPreferencePage p = node.getPage();
+	 
+	        if (p != null && node.getId().equals(id)) {
+	            return p;
+	        }
+	    }
+	    return null;
+	}
+
+	public ModelParser() {
+		
+		
+		PreferenceManager mgr = PlatformUI.getWorkbench().getPreferenceManager();
+		
+		
+		ConstraintsLib a = new ConstraintsLib();
+		//IPreferencePage pp = getId("org.polarsys.chess.preferences.constraints");
+		
+		
+//		PreferenceDialog dialog = PreferencesUtil.createPreferenceDialogOn(
+//			       null,
+//			      "org.polarsys.chess.preferences.constraints",
+//			       new String[] {}, null);
+//			PreferencePage selectedPage =
+//			      (PreferencePage) dialog.getSelectedPage();
+//			((ConstraintPreferencePage)selectedPage).refresh();
+//		dialog.close();
+		
+//		for (Object o : mgr.getElements(PreferenceManager.PRE_ORDER)) {
+//			if (o instanceof IPreferenceNode) {
+//				IPreferenceNode n = (IPreferenceNode) o;
+//				if (n.getId().equals("org.polarsys.chess.preferences.constraints")){
+//					if (n.getPage() == null)
+//						n.createPage();
+//					ConstraintPreferencePage p = (ConstraintPreferencePage)n.getPage();
+//					p.refresh();
+//					break;
+//				}
+//			}
+//		}
+//		List<IPreferenceNode> preferencePageList = castList(IPreferenceNode.class, mgr.getElements(PreferenceManager.PRE_ORDER));
+//		IPreferenceNode[] rootSubNodes = mgr.getRootSubNodes();
+//			
+//		IPreferenceNode anode = rootSubNodes[7];
+//					
+//		IPreferenceNode[] installUpadteSubNode = anode.getSubNodes();
+//		//anode.remove(installUpadteSubNode[0]);
+//		PreferenceNode installNode = (PreferenceNode)installUpadteSubNode[0];
+//		IPreferencePage page = installNode.getPage();
+	}
+
+//	//TODO manage the constraints with a priority list!
+//	static DynamicConstraint[] constraintList = {
+//		ConstraintsLib.M_A_1, 
+//		ConstraintsLib.S_S_1, 
+//		ConstraintsLib.C_A_1,
+//		ConstraintsLib.P_T_1, 
+//		ConstraintsLib.P_A_1, 
+//		ConstraintsLib.O_S_1,
+//		ConstraintsLib.AddRemoveDependency,
+//		ConstraintsLib.checkModifiedOperation};
+	
+	public Command check(Notification notification, Object _notifier, DesignView currentView, boolean superuser) throws RollbackException {
+		Object notifier = notification.getNotifier();
+		Command command = null;
+		if (currentView == null) {
+			if (notifier instanceof Model && notification.getFeature() instanceof EAttribute && ((EAttribute)notification.getFeature()).getName().equals("name"))
+				return command;
+			CHESSProjectSupport.printlnToCHESSConsole(modelOutsideView.getMessage());
+			//throw new RollbackException(modelOutsideView); //TODO this Rollback can bring serious problems with Papyrus (loss of data in the model), for the moment we just comment it
+			return command;
+		}
+
+		if (!superuser && !ConstraintsLib.E_S_1_NEW.check(notification, currentView).isOK()){
+			CHESSProjectSupport.printlnToCHESSConsole(ConstraintsLib.E_S_1_NEW.getMessage());
+			throw new RollbackException(ConstraintsLib.E_S_1_NEW.getStatus());
+		}
+		
+		
+//		for (FilterableConstraint f: ConstraintList.getList()){
+//			System.out.println(f.getConstraint().getName()+" "+f.isActive());
+//		}
+		
+		for (FilterableConstraint fC: ConstraintList.getList()){
+			if (!fC.isActive())
+				continue;
+			DynamicConstraint constr = (DynamicConstraint) fC.getConstraint();
+			if (!constr.check(notification, currentView).isOK()){
+				CHESSProjectSupport.printlnToCHESSConsole(constr.getMessage());
+				throw new RollbackException(constr.getStatus());
+			}
+		}
+		
+//		for (DynamicConstraint constr : constraintList) {
+//			if (!constr.check(notification, currentView).isOK()){
+//				CHESSProjectSupport.printlnToCHESSConsole(constr.getMessage());
+//				throw new RollbackException(constr.getStatus());
+//			}
+//		}		
+		
+		return command;
+	}
+}
diff --git a/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/managers/ViewManager.java b/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/managers/ViewManager.java
new file mode 100644
index 000000000..4495e06ef
--- /dev/null
+++ b/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/managers/ViewManager.java
@@ -0,0 +1,169 @@
+/*
+-----------------------------------------------------------------------
+--          			CHESS validator plugin					     --
+--                                                                   --
+--                    Copyright (C) 2011-2012                        --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author: Alessandro Zovi         azovi@math.unipd.it 		         --
+--                                                                   --
+-- All rights reserved. This program and the accompanying materials  --
+-- are made available under the terms of the Eclipse Public License  --
+-- v1.0 which accompanies this distribution, and is available at     --
+-- http://www.eclipse.org/legal/epl-v10.html                         --
+-----------------------------------------------------------------------
+*/
+
+package org.polarsys.chess.validator.managers;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.transaction.RollbackException;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.gmf.runtime.notation.Diagram;
+import org.eclipse.papyrus.editor.PapyrusMultiDiagramEditor;
+import org.eclipse.papyrus.infra.core.sashwindows.di.PageRef;
+import org.eclipse.papyrus.uml.tools.listeners.PapyrusStereotypeListener;
+import org.eclipse.uml2.uml.Model;
+import org.polarsys.chess.core.profiles.CHESSProfileManager;
+import org.polarsys.chess.core.util.CHESSProjectSupport;
+import org.polarsys.chess.core.views.DiagramStatus;
+import org.polarsys.chess.core.views.DiagramStatus.DesignView;
+import org.polarsys.chess.service.utils.CHESSEditorUtils;
+import org.polarsys.chess.validator.Activator;
+
+/**
+ * ViewManager is a singleton class which provides the data structure which contains the 
+ * view-diagram association.
+ * Each CHESS view owns a list of types of diagram that view is allowed to expose and modify.   
+ */
+public class ViewManager {
+	
+	public static String classDiagramKind = "PapyrusUMLClassDiagram";
+
+	private static ViewManager instance = new ViewManager();
+
+	public static ViewManager loadViewManager() {
+		return instance;
+	}
+
+//	public boolean isDiagramAllowed(String view, String diagram) {
+//		if (view != null) {
+//			HashSet<String> diagrams = viewDiagramsAssociation.get(view);
+//			return diagrams.contains(diagram);
+//		}
+//		return false;
+//	}
+
+	
+	/**
+	 * Check constraints concerning view ownership of diagrams. 
+	 * A diagram must be created as a child of a view which allows its creation
+	 * @param domain 
+	 * @param currentView 
+	 */
+	public void check(Object notifier, StringBuffer s, DesignView currentView, TransactionalEditingDomain domain)
+			throws RollbackException {
+		if (notifier instanceof PageRef) {
+			PageRef ref = (PageRef) notifier;
+			Diagram diagram = null;
+
+			// check if we are working on a real diagram
+			if (ref.getEmfPageIdentifier() instanceof Diagram)
+				diagram = (Diagram) ref.getEmfPageIdentifier();
+			else
+				return;
+			
+			check(diagram, s, currentView, domain);
+
+		}
+	}
+	
+	
+	/**
+	 * Check constraints concerning view ownership of diagrams. 
+	 * A diagram must be created as a child of a view which allows its creation
+	 * @param domain 
+	 * @param currentView 
+	 */
+	public void check(Diagram diagram, StringBuffer s, DesignView currentView, TransactionalEditingDomain domain)
+			throws RollbackException {
+		
+			/*
+			 * @dynamicConstraint D_1
+			 * if the diagram is created in the root of the model
+			 */
+			if (diagram.getElement() instanceof Model) {
+				s.append(Messages.error_diagramInView);
+//				ResourceNotification.showError(Messages.error_diagramInView);
+				throw new RollbackException(new Status(IStatus.ERROR,
+						Activator.PLUGIN_ID, Messages.error_diagramInView));
+			} else {
+				/*
+				 * dynamicConstraint D_2
+				 * A diagram must be created as a child of a view which allows its creation
+				 */
+				if (!currentView.isDiagramAllowed(diagram)){
+					CHESSProjectSupport.printlnToCHESSConsole(s.toString());
+					throw new RollbackException(new Status(IStatus.ERROR,
+							Activator.PLUGIN_ID, Messages.error_diagramCurrentView)); //$NON-NLS-1$
+				}
+//				
+			}
+		
+	}
+
+//	/*
+//	 * dynamicConstraint D_2
+//	 * A diagram must be created as a child of a view which allows its creation
+//	 */
+//	private boolean isDiagramAllowed(Package containingView, Diagram diagram) {
+//		Stereotype view = ViewUtils.getViewStereotypeApplied(containingView);
+//		if (view != null) {
+//			HashSet<String> diagrams = viewDiagramsAssociation.get(view
+//					.getName());
+//			return diagrams.contains(diagram.getType());
+//		}
+//		return false;
+//	}
+
+//	public void checkViewPackage(Notification notification)
+//			throws RollbackException {
+//		if (notification.getEventType() == Notification.REMOVE) {
+//			throw new RollbackException(new Status(IStatus.ERROR,
+//					Activator.PLUGIN_ID, "Can't delete a view!"));
+//		}
+//	}
+
+	
+	/**
+	 * Check if a stereotype representing a CHESS view has been modified.
+	 * A stereotype representing a CHESS must not be modified or removed.
+	 */
+	public boolean checkViewStereotype(Notification notification) {
+		
+		//it should be allowed to modify the deployment view in order to add/remove assignment references
+		PapyrusMultiDiagramEditor editor = CHESSEditorUtils.getCHESSEditor();
+		DiagramStatus ds = CHESSEditorUtils.getDiagramStatus(editor);
+		if(ds == null)
+			return true;
+		
+		DesignView dview = 
+				ds.getCurrentView();
+		if(notification.getEventType() == PapyrusStereotypeListener.MODIFIED_STEREOTYPE &&
+				dview.getName().equals(CHESSProfileManager.DEPLOYMENT_VIEW)){
+			return true;
+		}
+		
+		else if (notification.getEventType() == Notification.SET ||
+			notification.getEventType() == Notification.REMOVE ||
+			notification.getEventType() == PapyrusStereotypeListener.APPLIED_STEREOTYPE || 
+			notification.getEventType() == PapyrusStereotypeListener.UNAPPLIED_STEREOTYPE ||
+			notification.getEventType() == PapyrusStereotypeListener.MODIFIED_STEREOTYPE	
+			) {
+			return false;
+		}
+		return true;
+	}
+};
\ No newline at end of file
diff --git a/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/managers/messages.properties b/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/managers/messages.properties
new file mode 100644
index 000000000..c18d51e82
--- /dev/null
+++ b/plugins/org.polarsys.chess.validator/src/org/polarsys/chess/validator/managers/messages.properties
@@ -0,0 +1,14 @@
+error_diagramInView=Diagrams must be created inside the views
+error_diagramCurrentView=This diagram is not allowed in the current view
+NullViewMsg=Can't modify the model outside the views
+ModelManager_1=Deleting a view is forbidden.
+ViewDeletionMsg=Can't delete view from the model\!
+ModelManager_2=Model root must contains only the views.
+ModelManager_3=Appling a view stereotype is forbidden.
+ModelManager_4=Creation of interfaces is only allowed in the Functional View.
+ModelManager_5=Creation of component with no additional stereotypes is only allowed in the Functional View.
+ModelManager_6=Operations in the Functional View must have public visibility.
+ModelManager_7=Interface realization is not allowed because owned operations does not match.
+ModelManager_8=This element does not belong to the current view and cannot be therefore modified.
+ModelManager_9=A predefined stereotype cannot be removed.
+operationAborted=Operation aborted by the user
diff --git a/plugins/org.polarsys.chess.wizards/.classpath b/plugins/org.polarsys.chess.wizards/.classpath
new file mode 100644
index 000000000..2d1a4302f
--- /dev/null
+++ b/plugins/org.polarsys.chess.wizards/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/plugins/org.polarsys.chess.wizards/.gitignore b/plugins/org.polarsys.chess.wizards/.gitignore
new file mode 100644
index 000000000..ae3c17260
--- /dev/null
+++ b/plugins/org.polarsys.chess.wizards/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/plugins/org.polarsys.chess.wizards/.project b/plugins/org.polarsys.chess.wizards/.project
new file mode 100644
index 000000000..28743f66c
--- /dev/null
+++ b/plugins/org.polarsys.chess.wizards/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.polarsys.chess.wizards</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
diff --git a/plugins/org.polarsys.chess.wizards/.settings/org.eclipse.jdt.core.prefs b/plugins/org.polarsys.chess.wizards/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 000000000..9cd5e8b61
--- /dev/null
+++ b/plugins/org.polarsys.chess.wizards/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,12 @@
+#Wed May 25 16:49:25 CEST 2011
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.5
diff --git a/plugins/org.polarsys.chess.wizards/META-INF/MANIFEST.MF b/plugins/org.polarsys.chess.wizards/META-INF/MANIFEST.MF
new file mode 100644
index 000000000..35d10ef07
--- /dev/null
+++ b/plugins/org.polarsys.chess.wizards/META-INF/MANIFEST.MF
@@ -0,0 +1,33 @@
+Manifest-Version: 1.0
+Require-Bundle: org.eclipse.papyrus.infra.core;bundle-version="1.0.0",
+ org.eclipse.emf.edit.ui;bundle-version="2.4.0",
+ org.eclipse.emf.ecore.edit;bundle-version="2.4.0",
+ org.eclipse.ui.intro;bundle-version="3.4.0",
+ org.eclipse.core.runtime;bundle-version="3.7.0",
+ org.eclipse.gmf.runtime.notation;bundle-version="1.5.0",
+ org.eclipse.emf.transaction;bundle-version="1.4.0";visibility:=reexport,
+ org.eclipse.papyrus.infra.widgets.toolbox;bundle-version="1.0.0",
+ org.eclipse.papyrus.infra.core.sasheditor;bundle-version="1.0.0",
+ org.eclipse.ui.ide;bundle-version="3.8.0",
+ org.eclipse.papyrus.infra.core.sasheditor.di;bundle-version="1.0.0",
+ org.eclipse.papyrus.infra.core.log;bundle-version="1.0.0",
+ org.eclipse.papyrus.infra.gmfdiag.commands;bundle-version="1.0.0",
+ org.eclipse.papyrus.uml.tools;bundle-version="1.0.0",
+ org.eclipse.papyrus.infra.gmfdiag.common;bundle-version="1.0.0",
+ org.eclipse.core.expressions;bundle-version="3.4.0",
+ org.polarsys.chess.core,
+ org.eclipse.papyrus.uml.diagram.common;bundle-version="1.0.0",
+ org.eclipse.papyrus.uml.diagram.wizards;bundle-version="1.0.0",
+ org.eclipse.papyrus.infra.emf,
+ org.eclipse.papyrus.editor
+Export-Package: org.polarsys.chess.wizards
+Bundle-Vendor: %pluginProvider
+Bundle-ActivationPolicy: lazy
+Bundle-Version: 1.0.0.qualifier
+Bundle-Localization: plugin
+Bundle-Name: %pluginName
+Bundle-ManifestVersion: 2
+Bundle-Activator: org.polarsys.chess.wizards.Activator
+Bundle-SymbolicName: org.polarsys.chess.wizards;singleton:=true
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+
diff --git a/plugins/org.polarsys.chess.wizards/about.html b/plugins/org.polarsys.chess.wizards/about.html
new file mode 100644
index 000000000..209103075
--- /dev/null
+++ b/plugins/org.polarsys.chess.wizards/about.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+ 
+<p>November 14, 2008</p>	
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
+being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content.  Check the Redistributor's license that was 
+provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
+
+</body>
+</html>
\ No newline at end of file
diff --git a/plugins/org.polarsys.chess.wizards/build.properties b/plugins/org.polarsys.chess.wizards/build.properties
new file mode 100644
index 000000000..7e7121f11
--- /dev/null
+++ b/plugins/org.polarsys.chess.wizards/build.properties
@@ -0,0 +1,15 @@
+#
+#Mon Sep 12 09:30:25 CEST 2011
+bin.includes = META-INF/,\
+               .,\
+               icons/,\
+               plugin.xml,\
+               schema/,\
+               plugin.properties,\
+               about.html,\
+               messages.properties,\
+               resources/
+output..=bin/
+src.includes = about.html
+source..=src/
+bin..=bin/
diff --git a/plugins/org.polarsys.chess.wizards/plugin.properties b/plugins/org.polarsys.chess.wizards/plugin.properties
new file mode 100644
index 000000000..56b077e65
--- /dev/null
+++ b/plugins/org.polarsys.chess.wizards/plugin.properties
@@ -0,0 +1,13 @@
+###############################################################################
+# Copyright (c) 2008 Obeo.
+# All rights reserved. This program and the accompanying materials 
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+# 
+# Contributors:
+#     Obeo - initial API and implementation
+###############################################################################
+pluginName=Papyrus Wizards (Incubation)
+pluginProvider=Eclipse Modeling Project
+NewWizards.project.description=Create a project for a new Papyrus model (UML or SysML)
diff --git a/plugins/org.polarsys.chess.wizards/plugin.xml b/plugins/org.polarsys.chess.wizards/plugin.xml
new file mode 100644
index 000000000..057723def
--- /dev/null
+++ b/plugins/org.polarsys.chess.wizards/plugin.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<plugin>
+
+<extension point="org.eclipse.ui.newWizards">
+	<category 
+		id="it.unipd.chess.wizards.category"
+    	name="CHESS">
+	</category>
+	<wizard
+         category="it.unipd.chess.wizards.category"
+         class="org.polarsys.chess.wizards.CHESSNewProjectWizard"
+         finalPerspective="org.eclipse.papyrus.infra.core.perspective"         
+         icon="resources/CHESSicon.gif"
+         id="it.unipd.chess.wizards.createproject"
+         name="CHESS Project"
+         project="true">
+      <description>
+         %NewWizards.project.description
+      </description>
+	</wizard>
+    <wizard
+         category="it.unipd.chess.wizards.category"
+         class="org.polarsys.chess.wizards.InitModelWizard"
+         finalPerspective="org.eclipse.papyrus.infra.core.perspective"
+         icon="resources/CHESSicon.gif"
+         id="it.unipd.chess.wizards.createmodel"
+         name="CHESS Model">
+   </wizard>
+</extension>
+
+
+</plugin>
diff --git a/plugins/org.polarsys.chess.wizards/resources/CHESSicon.gif b/plugins/org.polarsys.chess.wizards/resources/CHESSicon.gif
new file mode 100644
index 0000000000000000000000000000000000000000..1659c3fec7f988789d2ce4d6a6c770eab90089bf
GIT binary patch
literal 612
zcmZ?wbhEHb6krfwI9AHQ!_LXa#Vx?YE6Bquz{@AZ$1lP!ASNU%AtEXzCN3>5AtNCv
zD=8%>C9NPUrz9t@sj8-}uBok|VW6XHq^ECeU}$P&WMOJ*X=d){?GqXl6dDwq5Eqx7
znfcyV`n|twVSav5enC+|;fG+Q4<RZgg+(7iR6m5Oeh5?h5T^biOyfhi`iF4M@{-bz
z5gH#OG%L%?KSt|)j5qq2X!<eP@?(l+V}1R{RO_~umXEovpYq&3<$H8>bar=j_4oEo
zoG@Y1goz6mELgH=@$#k1RxV$$Vcoh7>(+1Duwm22O`A7u`o5%l>y|Cswr>5ta?;Kn
zJASU7ylwa1-|MFDK6v=xfdfCbFZr<ph?X8de(dD&6F>K?{<&|>&wXppojv#K<nCYR
z4&J(X^Uj?+_wV0-{OHk(7cahi{`~FRx9{J-|M>Ca=g*)2etiG)`}e=!zy1Kh-+zCB
z;2#A1|MUO<-~a#r{U;0*f3h%gG1N2YFaQB4P8iq^Hk39s7qm9Fca&xnl%{ny^#pS<
z+gmX4g_rg;do(2&G^r*xxi_VYGD!Havna|kar%icif8pCHAR>;>BclA&N}GoDJkS&
zD<JLdb}+?BfS1#*G%qj5hJ#noCAHL1n1`QLrb&v8pIgj%LTP}~f#!IHpo2ZJR)NL&
zt+~bi)^R3F7k+%`$|dUi<V;{v(ot@H%WD@_2DcvN6xR%x;qkD^g-5qkjcv11^O0_G
b<*XdewhqCmlIEK>)P$(>S-UhcFjxZs;b|(N

literal 0
HcmV?d00001

diff --git a/plugins/org.polarsys.chess.wizards/src/org/polarsys/chess/wizards/Activator.java b/plugins/org.polarsys.chess.wizards/src/org/polarsys/chess/wizards/Activator.java
new file mode 100644
index 000000000..91fbab772
--- /dev/null
+++ b/plugins/org.polarsys.chess.wizards/src/org/polarsys/chess/wizards/Activator.java
@@ -0,0 +1,49 @@
+/*
+-----------------------------------------------------------------------
+--          			CHESS core plugin							 --
+--                                                                   --
+--                    Copyright (C) 2011-2012                        --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author: Alessandro Zovi         azovi@math.unipd.it 		         --
+--                                                                   --
+-- All rights reserved. This program and the accompanying materials  --
+-- are made available under the terms of the Eclipse Public License  --
+-- v1.0 which accompanies this distribution, and is available at     --
+-- http://www.eclipse.org/legal/epl-v10.html                         --
+-----------------------------------------------------------------------
+*/package org.polarsys.chess.wizards;
+
+import org.eclipse.papyrus.infra.core.log.LogHelper;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+import org.osgi.framework.BundleContext;
+
+public class Activator extends AbstractUIPlugin {
+
+	public static final String PLUGIN_ID = "org.eclipse.papyrus.uml.diagram.wizards"; //$NON-NLS-1$
+
+	private static Activator plugin;
+
+	public static LogHelper log;
+
+	public Activator() {
+	}
+
+	@Override
+	public void start(BundleContext context) throws Exception {
+		super.start(context);
+		plugin = this;
+		log = new LogHelper(plugin);
+	}
+
+	@Override
+	public void stop(BundleContext context) throws Exception {
+		plugin = null;
+		super.stop(context);
+	}
+
+	public static Activator getDefault() {
+		return plugin;
+	}
+
+}
diff --git a/plugins/org.polarsys.chess.wizards/src/org/polarsys/chess/wizards/CHESSNewProjectWizard.java b/plugins/org.polarsys.chess.wizards/src/org/polarsys/chess/wizards/CHESSNewProjectWizard.java
new file mode 100644
index 000000000..c90fd0c62
--- /dev/null
+++ b/plugins/org.polarsys.chess.wizards/src/org/polarsys/chess/wizards/CHESSNewProjectWizard.java
@@ -0,0 +1,79 @@
+/*
+-----------------------------------------------------------------------
+--          			CHESS core plugin							 --
+--                                                                   --
+--                    Copyright (C) 2011-2012                        --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author: Alessandro Zovi         azovi@math.unipd.it 		         --
+--                                                                   --
+-- All rights reserved. This program and the accompanying materials  --
+-- are made available under the terms of the Eclipse Public License  --
+-- v1.0 which accompanies this distribution, and is available at     --
+-- http://www.eclipse.org/legal/epl-v10.html                         --
+-----------------------------------------------------------------------
+*/
+
+package org.polarsys.chess.wizards;
+
+import java.net.URI;
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IConfigurationElement;
+import org.eclipse.core.runtime.IExecutableExtension;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.wizard.Wizard;
+import org.eclipse.ui.INewWizard;
+import org.eclipse.ui.IWorkbench;
+import org.eclipse.ui.dialogs.WizardNewProjectCreationPage;
+import org.eclipse.ui.wizards.newresource.BasicNewProjectResourceWizard;
+import org.polarsys.chess.core.util.CHESSProjectSupport;
+
+public class CHESSNewProjectWizard extends Wizard implements INewWizard, IExecutableExtension {
+
+	private static final String WIZARD_NAME = "CHESS";
+	private WizardNewProjectCreationPage pageOne;
+	private IConfigurationElement configurationElement;
+	
+	public CHESSNewProjectWizard() {
+		setWindowTitle(WIZARD_NAME);
+	}
+	
+	@Override
+	public void addPages() {
+		// TODO Auto-generated method stub
+		super.addPages();
+		pageOne = new WizardNewProjectCreationPage("CHESS Project Wizard");
+		
+		pageOne.setTitle("New CHESS Project");
+		pageOne.setDescription("Create a new CHESS Project");
+			 
+		addPage(pageOne);
+	}
+
+	@Override
+	public boolean performFinish() {
+		String name = pageOne.getProjectName();
+		URI location = null;
+		if (!pageOne.useDefaults()){
+			location = pageOne.getLocationURI();
+			System.err.println("location: " + location.toString());//$NON-NLS-1$
+		}
+		CHESSProjectSupport.createProject(name, location);
+		BasicNewProjectResourceWizard.updatePerspective(configurationElement);
+		return true;
+	}
+
+	public void init(IWorkbench workbench, IStructuredSelection selection) {
+		// TODO Auto-generated method stub
+
+	}
+	
+	public void setInitializationData(IConfigurationElement config,
+			String propertyName, Object data) throws CoreException {
+		configurationElement = config;
+	}
+	
+	
+
+}
diff --git a/plugins/org.polarsys.chess.wizards/src/org/polarsys/chess/wizards/CreateCHESSModelWizard.java b/plugins/org.polarsys.chess.wizards/src/org/polarsys/chess/wizards/CreateCHESSModelWizard.java
new file mode 100644
index 000000000..1e7376c43
--- /dev/null
+++ b/plugins/org.polarsys.chess.wizards/src/org/polarsys/chess/wizards/CreateCHESSModelWizard.java
@@ -0,0 +1,467 @@
+/*
+-----------------------------------------------------------------------
+--          			CHESS core plugin							 --
+--                                                                   --
+--                    Copyright (C) 2011-2012                        --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author: Alessandro Zovi         azovi@math.unipd.it 		         --
+--                                                                   --
+-- All rights reserved. This program and the accompanying materials  --
+-- are made available under the terms of the Eclipse Public License  --
+-- v1.0 which accompanies this distribution, and is available at     --
+-- http://www.eclipse.org/legal/epl-v10.html                         --
+-----------------------------------------------------------------------
+
+*/
+
+
+
+package org.polarsys.chess.wizards;
+
+import static org.polarsys.chess.wizards.Activator.log;
+
+import java.io.IOException;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.emf.common.command.CommandStack;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.transaction.RecordingCommand;
+import org.eclipse.jface.dialogs.IDialogSettings;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.wizard.IWizardPage;
+import org.eclipse.jface.wizard.Wizard;
+import org.eclipse.papyrus.commands.ICreationCommand;
+import org.eclipse.papyrus.editor.PapyrusMultiDiagramEditor;
+import org.eclipse.papyrus.infra.core.editor.BackboneException;
+import org.eclipse.papyrus.infra.core.extension.commands.IModelCreationCommand;
+import org.eclipse.papyrus.infra.core.resource.ModelSet;
+import org.eclipse.papyrus.infra.core.resource.sasheditor.DiModelUtils;
+import org.eclipse.papyrus.infra.core.sasheditor.contentprovider.IPageManager;
+import org.eclipse.papyrus.infra.core.services.ExtensionServicesRegistry;
+import org.eclipse.papyrus.infra.core.services.ServiceException;
+import org.eclipse.papyrus.infra.core.services.ServicesRegistry;
+import org.eclipse.papyrus.infra.core.utils.EditorUtils;
+import org.eclipse.papyrus.infra.emf.utils.ServiceUtilsForResource;
+import org.eclipse.papyrus.uml.diagram.wizards.SettingsHelper;
+import org.eclipse.papyrus.uml.diagram.wizards.category.DiagramCategoryDescriptor;
+import org.eclipse.papyrus.uml.diagram.wizards.category.DiagramCategoryRegistry;
+import org.eclipse.papyrus.uml.diagram.wizards.category.NewPapyrusModelCommand;
+import org.eclipse.papyrus.uml.diagram.wizards.pages.NewModelFilePage;
+import org.eclipse.papyrus.uml.tools.listeners.PapyrusStereotypeListener;
+import org.eclipse.ui.IEditorInput;
+import org.eclipse.ui.INewWizard;
+import org.eclipse.ui.IWorkbench;
+import org.eclipse.ui.IWorkbenchPage;
+import org.eclipse.ui.PartInitException;
+import org.eclipse.ui.ide.IDE;
+import org.polarsys.chess.core.util.commands.InitCHESSModelCommand;
+
+
+public class CreateCHESSModelWizard extends Wizard implements INewWizard {
+
+	public static final String WIZARD_ID = "org.eclipse.papyrus.uml.diagram.wizards.createmodel"; //$NON-NLS-1$
+
+	public static final String NEW_MODEL_SETTINGS = "NewModelWizard"; //$NON-NLS-1$
+
+	private IWorkbench workbench;
+
+	private WorkspaceNewModelStorageProvider selectedStorageProvider; 
+	
+	private Map<WorkspaceNewModelStorageProvider, List<IWizardPage>> providerPages = new java.util.HashMap<WorkspaceNewModelStorageProvider, List<IWizardPage>>();
+	private Map<IWizardPage, WorkspaceNewModelStorageProvider> providersByPage = new java.util.HashMap<IWizardPage, WorkspaceNewModelStorageProvider>();
+	private int startProviderPageIndex;
+	private int endProviderPageIndex; 
+	
+	public CreateCHESSModelWizard() {
+		super();
+		setWindowTitle("New CHESS Model");
+	}
+
+	@Override
+	public void addPages() {
+		startProviderPageIndex = getPageCount() - 1;
+			List<IWizardPage> pageList = new java.util.ArrayList<IWizardPage>(3);
+			for (IWizardPage page : selectedStorageProvider.createPages()) {
+				if (page != null)  {
+					pageList.add(page);
+					providersByPage.put(page, selectedStorageProvider);
+					addPage(page);
+				}
+			}
+			providerPages.put(selectedStorageProvider, pageList);
+		endProviderPageIndex = getPageCount();
+	}
+
+	protected final void addPageIfNotNull(IWizardPage page) {
+		if(page != null) {
+			addPage(page);
+		}
+	}
+
+	public boolean isInitModelWizard() {
+		return false;
+	}
+	
+	public boolean isCreateProjectWizard() {
+		return false;
+	}
+	
+	public boolean isCreateMultipleModelsWizard() {
+		return false;
+	}
+	
+	public void init(IWorkbench workbench, IStructuredSelection selection) {
+		this.workbench = workbench;
+
+		initStorageProvider(workbench, selection);
+		
+		IDialogSettings workbenchSettings = Activator.getDefault()
+			.getDialogSettings();
+		IDialogSettings section = workbenchSettings
+			.getSection(NEW_MODEL_SETTINGS);
+		if (section == null) {
+			section = workbenchSettings.addNewSection(NEW_MODEL_SETTINGS);
+		}
+		setDialogSettings(section);
+
+		
+		selectedStorageProvider.init(this, selection);
+	}
+
+	@Override
+	public boolean performFinish() {
+		String[] diagramCategoryIds = getDiagramCategoryIds();
+		if (diagramCategoryIds.length == 0) {
+			return false;
+		}
+		String diagramCategoryId = diagramCategoryIds[0];
+		final URI newURI = createNewModelURI(diagramCategoryId);
+
+		createAndOpenCHESSModel(newURI, diagramCategoryId);
+
+		return true;
+	}
+
+	protected URI createNewModelURI(String diagramCategoryID) {
+		return selectedStorageProvider.createNewModelURI(diagramCategoryID);
+	}
+	
+	protected boolean createAndOpenCHESSModel(URI newURI, String diagramCategoryId) {
+		
+		if (newURI == null) {
+			return false;
+		}
+		
+		ServicesRegistry registry = createServicesRegistry();
+		if (registry == null) {
+			return false;
+		}
+
+		try {
+			ModelSet modelSet = registry.getService(ModelSet.class);
+			
+			createPapyrusModels(modelSet, newURI);
+	
+			initServicesRegistry(registry);
+			
+			initDomainModel(modelSet, newURI, diagramCategoryId);
+	
+			initDiagramModel(modelSet, diagramCategoryId);
+	
+			openDiagram(newURI);
+		} catch (ServiceException e) {
+			Activator.log.error(e);
+			return false;
+		} finally {
+			try {
+				registry.disposeRegistry();
+			} catch (ServiceException ex) {
+				// Ignore
+			}
+		}
+		
+		return true;
+	}
+
+	protected ServicesRegistry createServicesRegistry() {
+		ServicesRegistry result = null;
+		
+		try {
+			result = new ExtensionServicesRegistry(org.eclipse.papyrus.infra.core.Activator.PLUGIN_ID);
+		} catch (ServiceException e) {
+			// couldn't create the registry? Fatal problem
+			Activator.log.error(e);
+		}
+		
+		try {
+			// have to create the model set and populate it with the DI model
+			// before initializing other services that actually need the DI
+			// model, such as the SashModel Manager service
+			result.startServicesByClassKeys(ModelSet.class);
+		} catch (ServiceException ex) {
+			// Ignore this exception: some services may not have been loaded,
+			// which is probably normal at this point
+		}
+		
+		return result;
+	}
+	
+	protected void initServicesRegistry(ServicesRegistry registry)
+			throws ServiceException {
+		try {
+			registry.startRegistry();
+		} catch (ServiceException ex) {
+			// Ignore this exception: some services may not have been loaded,
+			// which is probably normal at this point
+		}
+
+		registry.getService(IPageManager.class);
+	}
+
+	protected String[] getDiagramCategoryIds() {
+		return new String[]{"uml"};
+	}
+
+	public String getDiagramFileExtension(String diagramCategoryId) {
+		return getDiagramFileExtension(diagramCategoryId, NewModelFilePage.DEFAULT_DIAGRAM_EXTENSION);
+	}
+
+	public String getDiagramFileExtension(String categoryId, String defaultExtension) {
+		DiagramCategoryDescriptor diagramCategory = getDiagramCategoryMap().get(categoryId);
+		String extensionPrefix = diagramCategory != null ? diagramCategory.getExtensionPrefix() : null;
+		return (extensionPrefix != null) ? extensionPrefix + "." + defaultExtension : defaultExtension; //$NON-NLS-1$
+	}
+
+	protected void initDomainModel(ModelSet modelSet, final URI newURI,
+			String diagramCategoryId) {
+		
+		boolean isToInitFromTemplate = false;//TODO use CHESS model template
+		if (isToInitFromTemplate) {
+			initDomainModelFromTemplate(modelSet);
+		} else {
+			createEmptyDomainModel(modelSet, diagramCategoryId);
+			getCommandStack(modelSet).execute(null);
+			getCommandStack(modelSet).execute(new InitCHESSModelCommand(modelSet.getTransactionalEditingDomain(), modelSet));
+		}
+	}
+
+	protected void initDomainModelFromTemplate(ModelSet modelSet) {
+		//TODO Use a template for the CHESS model as an alternative
+	}
+
+	protected void createEmptyDomainModel(ModelSet modelSet, String diagramCategoryId) {
+		try {
+			IModelCreationCommand creationCommand = getDiagramCategoryMap().get(diagramCategoryId).getCommand();
+			creationCommand.createModel(modelSet);
+		} catch (BackboneException e) {
+			log.error(e);
+		}
+	}
+
+	protected void createPapyrusModels(ModelSet modelSet, URI newURI) {
+		RecordingCommand command = new NewPapyrusModelCommand(modelSet, newURI);
+		getCommandStack(modelSet).execute(command);
+	}
+
+	protected void saveDiagramCategorySettings() {
+		IDialogSettings settings = getDialogSettings();
+		if(settings != null) {
+			SettingsHelper settingsHelper = new SettingsHelper(settings);
+			settingsHelper.saveDefaultDiagramCategory(getDiagramCategoryIds());
+		}
+	}
+
+	protected void openDiagram(final URI newURI) {
+		IWorkbenchPage page = workbench.getActiveWorkbenchWindow()
+			.getActivePage();
+		if (page != null) {
+			try {
+				IEditorInput editorInput = createEditorInput(newURI);
+				IDE.openEditor(page, editorInput, PapyrusMultiDiagramEditor.EDITOR_ID, true);
+			} catch (PartInitException e) {
+				log.error(e);
+			}
+		}
+	}
+
+	protected IEditorInput createEditorInput(URI uri) {
+		return selectedStorageProvider.createEditorInput(uri);
+	}
+
+	protected void initDiagramModel(ModelSet modelSet, String categoryId) {
+		initDiagrams(modelSet, categoryId);
+		saveDiagram(modelSet);
+	}
+
+	private void saveDiagram(ModelSet modelSet) {
+		try {
+			modelSet.save(new NullProgressMonitor());
+		} catch (IOException e) {
+			log.error(e);
+		}
+	}
+
+	protected void initDiagrams(ModelSet modelSet, String categoryId) {
+		initDiagrams(modelSet, null, categoryId);
+	}
+
+	protected void initDiagrams(ModelSet resourceSet, EObject root, String categoryId) {
+		List<ICreationCommand> creationCommands = Collections.emptyList();//getDiagramKindsFor(categoryId);
+		String diagramName = "diagram";//selectDiagramKindPage.getDiagramName();
+		if(creationCommands.isEmpty()) {
+			createEmptyDiagramEditor(resourceSet);
+		} else {
+			for(int i = 0; i < creationCommands.size(); i++) {
+				creationCommands.get(i).createDiagram(resourceSet, root, diagramName);
+			}
+		}
+	}
+
+
+	private void createEmptyDiagramEditor(ModelSet modelSet) {
+		// Create an empty editor (no diagrams opened)
+		// Geting an IPageMngr is enough to initialize the
+		// SashSystem.
+		
+		
+		EditorUtils.getIPageMngr(DiModelUtils.getDiResource(modelSet));
+		/*try {
+			ServiceUtilsForResource.getInstance().getServiceRegistry(DiModelUtils.getDiResource(modelSet));
+		} catch (ServiceException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+		}*/
+	}
+
+	protected final CommandStack getCommandStack(ModelSet modelSet) {
+		return modelSet.getTransactionalEditingDomain().getCommandStack();
+	}
+
+	protected Map<String, DiagramCategoryDescriptor> getDiagramCategoryMap() {
+		return DiagramCategoryRegistry.getInstance().getDiagramCategoryMap();
+	}
+
+	public IStatus diagramCategoryChanged(String... newCategories) {
+		return selectedStorageProvider.validateDiagramCategories(
+			newCategories);
+	}
+	
+	protected void initStorageProvider(IWorkbench workbench,
+			IStructuredSelection selection) {
+		selectedStorageProvider = new WorkspaceNewModelStorageProvider();
+	}
+
+	
+	@Override
+	public IWizardPage getNextPage(IWizardPage page) {
+		final List<IWizardPage> allPages = Arrays.asList(getPages());
+		IWizardPage result = null;
+
+		 WorkspaceNewModelStorageProvider provider = providersByPage.get(page);
+		if (provider != null) {
+			// it's contributed by a provider. Get the next in the list
+			List<IWizardPage> pages = providerPages.get(provider);
+			int index = pages.indexOf(page);
+			if ((index >= 0) && (index < (pages.size() - 1))) {
+				result = pages.get(index + 1);
+			} else {
+				// get the first page after the provider pages
+				if (endProviderPageIndex < allPages.size()) {
+					result = allPages.get(endProviderPageIndex);
+				}
+			}
+		} else if (allPages.indexOf(page) == startProviderPageIndex) {
+			// get the first page of the selected provider
+			List<IWizardPage> pages = providerPages.get(selectedStorageProvider);
+			if (!pages.isEmpty()) {
+				result = pages.get(0);
+			} else {
+				// get the first page after the provider pages
+				if (endProviderPageIndex < allPages.size()) {
+					result = allPages.get(endProviderPageIndex);
+				}
+			}
+		} else {
+			// somewhere away from the boundary of the provider pages
+			result = super.getNextPage(page);
+		}
+		return result;
+	}
+	
+	@Override
+	public IWizardPage getPreviousPage(IWizardPage page) {
+		final List<IWizardPage> allPages = Arrays.asList(getPages());
+		IWizardPage result = null;
+
+		WorkspaceNewModelStorageProvider provider = providersByPage.get(page);
+		if (provider != null) {
+			// it's contributed by a provider. Get the previous in the list
+			List<IWizardPage> pages = providerPages.get(provider);
+			int index = pages.indexOf(page);
+			if (index > 0) {
+				result = pages.get(index - 1);
+			} else {
+				// get the last page before the provider pages
+				if (startProviderPageIndex >= 0) {
+					result = allPages.get(startProviderPageIndex);
+				}
+			}
+		} else if (allPages.indexOf(page) == endProviderPageIndex) {
+			// get the last page of the selected provider
+			List<IWizardPage> pages = providerPages.get(selectedStorageProvider);
+			if (!pages.isEmpty()) {
+				result = pages.get(pages.size() - 1);
+			} else {
+				// get the last page before the provider pages
+				if (startProviderPageIndex >= 0) {
+					result = allPages.get(startProviderPageIndex);
+				}
+			}
+		} else {
+			// somewhere away from the boundary of the provider pages
+			result = super.getPreviousPage(page);
+		}
+		
+		return result;
+	}
+	
+	@Override
+	public boolean canFinish() {
+		boolean result = true;
+		final IWizardPage[] allPages = getPages();
+
+		// only look at the universal pages and those contributed by the current
+		// storage provider
+
+		for (int i = 0; result && (i <= startProviderPageIndex); i++) {
+			result = allPages[i].isPageComplete();
+		}
+		
+		if (result) {
+			for (IWizardPage next : providerPages.get(selectedStorageProvider)) {
+				if (!next.isPageComplete()) {
+					result = false;
+					break;
+				}
+			}
+		}
+		
+		for (int i = endProviderPageIndex; result && (i < allPages.length); i++) {
+			result = allPages[i].isPageComplete();
+		}
+
+		return result;
+	}
+
+	public String getModelKindName() {
+		return "Papyrus";
+	}
+
+}
diff --git a/plugins/org.polarsys.chess.wizards/src/org/polarsys/chess/wizards/InitModelWizard.java b/plugins/org.polarsys.chess.wizards/src/org/polarsys/chess/wizards/InitModelWizard.java
new file mode 100644
index 000000000..7f0920bb1
--- /dev/null
+++ b/plugins/org.polarsys.chess.wizards/src/org/polarsys/chess/wizards/InitModelWizard.java
@@ -0,0 +1,115 @@
+/*
+-----------------------------------------------------------------------
+--          			CHESS core plugin							 --
+--                                                                   --
+--                    Copyright (C) 2011-2012                        --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author: Alessandro Zovi         azovi@math.unipd.it 		         --
+--                                                                   --
+-- All rights reserved. This program and the accompanying materials  --
+-- are made available under the terms of the Eclipse Public License  --
+-- v1.0 which accompanies this distribution, and is available at     --
+-- http://www.eclipse.org/legal/epl-v10.html                         --
+-----------------------------------------------------------------------
+
+*/
+
+package org.polarsys.chess.wizards;
+
+import static org.eclipse.papyrus.uml.diagram.wizards.utils.WizardsHelper.getSelectedResourceURI;
+import org.eclipse.papyrus.uml.diagram.wizards.pages.NewModelFilePage;
+import org.eclipse.papyrus.uml.diagram.wizards.pages.SelectRootElementPage;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.papyrus.infra.core.resource.ModelSet;
+import org.eclipse.ui.IWorkbench;
+
+public class InitModelWizard extends CreateCHESSModelWizard {
+
+	private SelectRootElementPage selectRootElementPage;
+
+	@Override
+	public boolean isInitModelWizard() {
+		return true;
+	}
+	
+	@Override
+	public void init(IWorkbench workbench, IStructuredSelection selection) {
+		//URI uri = getSelectedResourceURI(selection);
+		super.init(workbench, selection);
+		selectRootElementPage = createSelectRootElementPage(selection);
+	}
+
+	protected SelectRootElementPage createSelectRootElementPage(IStructuredSelection selection) {
+		return null;
+	}
+
+
+	@Override
+	public void addPages() {
+		super.addPages();
+		addPageIfNotNull(selectRootElementPage);
+	};
+
+	@Override
+	protected void createPapyrusModels(ModelSet modelSet, URI newURI) {
+		super.createPapyrusModels(modelSet, newURI);
+	}
+
+	@Override
+	protected void initDomainModel(ModelSet modelSet, final URI newURI, String diagramCategoryId) {
+		super.initDomainModel(modelSet, newURI, diagramCategoryId);
+	}
+
+	@Override
+	protected void initDiagrams(ModelSet modelSet, String categoryId) {
+		initDiagrams(modelSet, getRoot(), categoryId);
+	}
+
+	@Override
+	public String getDiagramFileExtension(String diagramCategoryId) {
+		return super.getDiagramFileExtension(diagramCategoryId);
+	}
+
+	private EObject getRoot() {
+		if(selectRootElementPage != null) {
+			return selectRootElementPage.getModelElement();
+		}
+		return null;
+	}
+
+	protected static class NewDiagramForExistingModelPage extends NewModelFilePage {
+
+		private String myDiagramFileName;
+
+		public NewDiagramForExistingModelPage(IStructuredSelection selection,
+				String modelKindName, String defaultFileName,
+				String diagramExtension) {
+			
+			super(selection, modelKindName);
+			
+			myDiagramFileName = defaultFileName;
+			setFileName(defaultFileName);
+			setFileExtension(diagramExtension);
+			setTitle("Init a new CHESS model");
+			setDescription("Init a new CHESS model from the existing domain model");
+		}
+
+		@Override
+		protected boolean validatePage() {
+			if(!super.validatePage()) {
+				return false;
+			}
+			if(!myDiagramFileName.equals(getFileName())) {
+				setErrorMessage("Diagram file name should be the same as domain model file name ("+myDiagramFileName+")" );
+				return false;
+			}
+			return true;
+		};
+
+	}
+
+}
diff --git a/plugins/org.polarsys.chess.wizards/src/org/polarsys/chess/wizards/WorkspaceNewModelStorageProvider.java b/plugins/org.polarsys.chess.wizards/src/org/polarsys/chess/wizards/WorkspaceNewModelStorageProvider.java
new file mode 100644
index 000000000..953ce3d3a
--- /dev/null
+++ b/plugins/org.polarsys.chess.wizards/src/org/polarsys/chess/wizards/WorkspaceNewModelStorageProvider.java
@@ -0,0 +1,112 @@
+package org.polarsys.chess.wizards;
+
+import static org.eclipse.papyrus.uml.diagram.wizards.utils.WizardsHelper.adapt;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.emf.common.ui.URIEditorInput;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.wizard.IWizardPage;
+import org.eclipse.papyrus.uml.diagram.wizards.pages.NewModelFilePage;
+import org.eclipse.papyrus.uml.diagram.wizards.utils.WizardsHelper;
+import org.eclipse.ui.IEditorInput;
+import org.eclipse.ui.part.FileEditorInput;
+import org.polarsys.chess.wizards.InitModelWizard.NewDiagramForExistingModelPage;
+
+public class WorkspaceNewModelStorageProvider {
+
+	private CreateCHESSModelWizard wizard;
+
+	private NewModelFilePage newModelFilePage;
+
+	public WorkspaceNewModelStorageProvider() {
+		super();
+	}
+
+	public boolean canHandle(IStructuredSelection initialSelection) {
+		boolean result = false;
+
+		for(Object next : initialSelection.toList()) {
+			if(adapt(next, IResource.class) != null) {
+				result = true;
+				break;
+			}
+		}
+
+		return result;
+	}
+
+	public void init(CreateCHESSModelWizard wizard, IStructuredSelection selection) {
+		this.wizard = wizard;
+		newModelFilePage = createNewModelFilePage(selection);
+	}
+
+	public List<? extends IWizardPage> createPages() {
+		if(newModelFilePage == null) {
+			return Collections.emptyList();
+		}
+
+		return Arrays.asList(newModelFilePage);
+	}
+
+	public IStatus validateDiagramCategories(String... newCategories) {
+		if(newModelFilePage != null) {
+			String firstCategory = newCategories.length > 0 ? newCategories[0] : null;
+			if(newCategories.length > 0) {
+				return newModelFilePage.diagramExtensionChanged(wizard.getDiagramFileExtension(firstCategory));
+			}
+		}
+
+		return Status.OK_STATUS;
+	}
+
+
+	protected NewModelFilePage createNewModelFilePage(IStructuredSelection selection) {
+
+		if(wizard.isCreateProjectWizard() || wizard.isCreateMultipleModelsWizard()) {
+
+			return null;
+		}
+
+		//		IFile selectedFile = getSelectedFile(selection);
+		URI selectedResourceURI = WizardsHelper.getSelectedResourceURI(selection);
+
+		if(isCreateFromExistingDomainModel() && selectedResourceURI != null) {
+			return new NewDiagramForExistingModelPage(selection, wizard.getModelKindName(), getDiagramFileName(selectedResourceURI) + "." + wizard.getDiagramFileExtension(null), wizard.getDiagramFileExtension(null)); //$NON-NLS-1$
+		}
+
+		return new NewModelFilePage(selection, wizard.getModelKindName());
+	}
+
+	protected String getDiagramFileName(URI domainModelURI) {
+		return domainModelURI.trimFileExtension().lastSegment();
+	}
+
+	protected boolean isCreateFromExistingDomainModel() {
+		return false;
+	}
+
+	public URI createNewModelURI(String categoryId) {
+		IFile newFile = newModelFilePage.createNewFile();
+		return (newFile == null) ? null : URI.createPlatformResourceURI(newFile.getFullPath().toString(), true);
+	}
+	
+	public IEditorInput createEditorInput(URI uri) {
+		if (uri.isPlatformResource()) {
+			return new FileEditorInput(ResourcesPlugin.getWorkspace().getRoot()
+				.getFile(new Path(uri.toPlatformString(true))));
+		} else {
+			return new URIEditorInput(uri);
+		}
+	}
+
+}
-- 
GitLab